[SIAv2] query params

Patrick Dowler patrick.dowler at nrc-cnrc.gc.ca
Tue Nov 12 15:17:53 PST 2013


I have been working on the query parameter section of the SIAv2 document 
and seeing how it relates to the initial cutout spec in the AccessData 
document.

** Reminder:

SIAv1 and previous SIAv2 drafts have included POS and SIZE for spatial 
queries, interpreted as a box.

Spatial querying in TAP+ADQL packs the spatial query stuff into a single 
predicate with functions like POINT, CIRCLE, BOX, and POLYGON for 
"spherical geometry values". The cutout prototype that CADC showed 
packed all the spatial stuff into an STC-S string. We have discussed the 
pros and cons of this and it seemed pretty clear that people generally 
found the inclusion of coordsys metadata in the ADQL functions and the 
passing of STC-S strings to be problematic: if the service can and does 
perform coordsys transformations, then it is a nice piece of magic... if 
they can't do it (for whatever input values they receive) then it is 
another way to fail. We certainly would need *and do not have* a way to 
describe which coordsys values are supported by services. In Hawaii, I 
think we concluded that in future we should *not* include coordsys 
metadata with the values (eg STC-S) in parameter values nor in the table 
data portion of results -- the coordsys metadata belongs with the 
metadata (e.g. in the header portion of a VOTable or other such 
container). We also agreed that some plain "spherical geometry" values 
need to be supported.

side note: My personal view is that this reasoning also applies very 
correctly to those ADQL region functions and datatypes/output values and 
a future version should address that.

** Proposal for SIAv2 query params:

* use a single POS parameter for the spatial axis query (symmetric with 
BAND, TIME, and POL parameters/axes) with a naked geometry value

* define naked geometry value syntax, which is like STC but with no 
metadata:

CIRCLE <long> <lat> <radius>
POLYGON <long1> <lat1> <long2> <lat2> ...

an instead of the BOX (from STC) that is somewhat complex to do 
correctly, I propose:

RANGE <long1>/<long2> <lat1>/<lat2>

which uses the range syntax supported by the BAND and TIME parameters.

So, a "conesearch" kind of query is POS=CIRCLE 12 34 0.5, for example.

This would make SIZE obsolete (in the multi-dimensional world, it is 
semantically ambiguous) and I this whole line of reasoning would kick 
REGION=<STC-S string> out entirely.

The result is that SIAv2 query parameters would be POS, BAND, TIME, and 
POL (plus I heard arguments about the redshift axis needing a REDSHIFT 
param).

The actual syntax (separators between terms/numbers is TBD, and I know 
there have also been differences of opinion abut the range syntax with 
/) but Daniel Durand and I wrote a bunch of examples on my whiteboard 
and it looks very simple and comprehensible (including using the range 
syntax within the POS=RANGE ... construct).


Comments?


-- 

Patrick Dowler
Canadian Astronomy Data Centre
National Research Council Canada
5071 West Saanich Road
Victoria, BC V9A 2L9

250-363-0044 (office) 250-363-0045 (fax)


More information about the dal mailing list