Marking up HEALPix index columns in VOTable
Thomas Boch
thomas.boch at astro.unistra.fr
Wed Aug 17 09:11:06 CEST 2016
Hi Markus,
I don't like the VALUES solution because it's semantically poor and not
really explicit. My preference goes to the GROUPing because it's
self-contained and descriptive.
Thomas
Le 08/15/2016 10:04 AM, Markus Demleitner a écrit :
> Hi Apps,
>
> On Thu, Aug 11, 2016 at 04:03:37PM +0200, Marco Molinaro wrote:
>> if the order is what is needed,
>> considering the MOC standardization to be in place,
>> I vote for a solution that is a part of Rick's suggestion
>>
>> N -> pos.healpix;meta.number
>>
>> into a table level PARAM.
>> Maybe mixed to a single addition to UCD words:
>>
>> meta.order
>>
>> if we want some more specific detail and a reusable word.
>> (thus going pos.healpix;meta.order)
>>
>> However I must say that I'm working on a tableset that,
>> if it were to return such field, would have a non-homogeneous
>> order for tessellation. But this case is not covered by the
>> "horrible" solution either.
> If I understand correctly what your problem is, I'd say it'd be
> solved by what I think we need anyway to allow multiple healpix
> columns (and hence potentially multiple orders) per table: some form
> of grouping.
>
> I'm still not a great fan of this since it involves referencing, and
> getting referencing right always is a bit tricky -- but if people
> really consider using VALUES as prohibitively ugly (while I'd still
> say healpix ranges and hence orders are a perfectly legitimate use
> case), there's probably no way around it.
>
> Let's at least keep that as simple as we possibly can, then. I think
> the minimal thing we can say is:
>
> A FIELD containing a healpix index is marked up with a
> ucd="pos.healpix". It must be referenced from a GROUP that will
> normally contain a PARAM with pos.healpix;meta.number that contains
> the healpix order (log_4(nsides)):
>
> <GROUP>
> <PARAM datatype="short" name="order_1"
> ucd="meta.number;pos.healpix" value="3"/>
> <FIELDref ref="hp_1"/>
> </GROUP>
> ...
> <FIELD id="hp_1" datatype="long" name="hp_1" ucd="pos.healpix"/>
>
> [meta.number is P, so it must be first, and I'd argue that's a good
> thing, too; I'd advocate having meta.order, too, though].
> In case a column contains healpixes of differing orders, the order
> can also be stored in a separate column:
>
> <GROUP>
> <FIELDref ref="order_2"/>
> <FIELDref ref="hp_2"/>
> </GROUP>
> ...
> <FIELD id="order_2" datatype="short" name="order"
> ucd="meta.number;pos.healpix"/>
> <FIELD id="hp_2" datatype="long" name="hp_2" ucd="pos.healpix"/>
>
> From a consumer point of view, the rule is: If a FIELD has a ucd or
> pos.healpix, look for a GROUP that contains a FIELDref to that
> FIELD. This GROUP must contain either a PARAM with ucd
> meta.number;pos.healpix or a FIELDref with this ucd. Obtain the
> order number from there. If no such GROUP, FIELDref, or PARAM can
> be found, ignore the FIELD or raise an error.
>
> It may not be overly pretty, but it's not overly complex either and
> neither requires prior nor likely complicates later DM work.
>
> And I really can't convince you that simply going for VALUES (which,
> yes, cannot cover the inhomogeneous case) would do the trick for now?
>
> -- Markus
>
>
More information about the apps
mailing list