Marking up HEALPix index columns in VOTable

Laurent Michel laurent.michel at astro.unistra.fr
Wed Aug 17 15:18:20 CEST 2016


Hi,

I agree with Thomas.
Encoding nside is in a fields MAX_VALUE can be used for an had-hoc implementation but not at a standard level. I would add to 
the Thomas's arguments the lack of consistency. What  about if the value does does not match Value =12*(4^N)-1?
Using PARAMs is clearly a safer way to identify the healpix tessellation.
Does it worth to take into account the case where multiple Healpix columns must be described? We can consider that just one 
Healpix column, the MAIN one, has to be described by the three PARAMs. We can introduce a "pos.main.healpix" UCD in a similar 
way to the position columns to make sure to address the right column.

Laurent



Le 17/08/2016 09:11, Thomas Boch a écrit :
> 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
>>

-- 
jesuischarlie/Tunis/Paris/Bruxelles

Laurent Michel
SSC XMM-Newton
Tél : +33 (0)3 68 85 24 37
Fax : +33 (0)3 )3 68 85 24 32
laurent.michel at astro.unistra.fr <mailto:laurent.michel at astro.unistra.fr>
Université de Strasbourg <http://www.unistra.fr>
Observatoire Astronomique
11 Rue de l'Université
F - 67200 Strasbourg
http://amwdb.u-strasbg.fr/HighEnergy/spip.php?rubrique34


More information about the apps mailing list