Marking up HEALPix index columns in VOTable
Mark Taylor
M.B.Taylor at bristol.ac.uk
Mon Aug 8 22:54:53 CEST 2016
Stephane,
2 coordinates (nside and tile number) suggests that you have different
Nside for each row of the table. That's possible, but this
variable-tile-size scenario is not what I had in mind
(and in fact it would sidestep the difficulty that I'm talking about
here, since you then would have a place to put the Nside/order value).
Is that really what you mean, or are you talking about a uniform
tile size over the whole planetary surface?
Mark
On Mon, 8 Aug 2016, Stéphane Erard wrote:
> Dear Mark and all
>
> I've been wondering about the same thing last spring for possible use on planetary surfaces (~spherical ones at least)
> To me that was clearly a system with 2 coordinates, Nside and tile number (plus possibly ordering nested/ring as a 3rd one - it doesn't hurt in EPNCore since we always have 3 spatial coordinates available).
> Your baseline solution may be better if there is a simple way to parse it in the tools.
>
> Regards
> Stéphane
>
> Le 8 août 2016 à 18:55, Mark Taylor <M.B.Taylor at bristol.ac.uk> a écrit :
>
> > [I've crossposted this to apps and semantics, but I suggest
> > followups to Apps only]
> >
> > Dear colleagues,
> >
> > Gregory Mantelet, Markus Demleitner and I have been having some
> > discussions about exchange of HEALPix maps within the VO.
> >
> > The type of data we're considering is a table for which one column
> > contains a HEALPix index (an integer which identifies a tile on the sky),
> > and other columns contain quantities relating to to that tile
> > (source density, extinction, mean G magnitude, whatever).
> > The question we're trying to answer is: how does a data producer
> > mark up the healpix-index column in a VOTable so that consumers
> > can recognise it as such?
> >
> > The following UCD1+ is defined:
> >
> > Q | pos.healpix | Hierarchical Equal Area IsoLatitude Pixelization
> >
> > So far so good; however, marking up a column like this provides
> > insufficient information to make it useful, because to make sense
> > of a HEALPix index you need to know what Order N of tiling it represents
> > (HEALPix splits the sky into 12*4^N tiles, where N is an integer
> > that for practical purposes falls in the range 0..29).
> > Since UCD words cannot be parameterised (beyond composing them with
> > other UCD words) there doesn't seem to be any way to encode this
> > Order information in the UCD.
> >
> > Markus's clever idea is to do something like this:
> >
> > <FIELD datatype="int" ucd="pos.healpix">
> > <VALUES type="legal">
> > <MAX>49151</MAX>
> > </VALUES>
> > </FIELD>
> >
> > Since the legal maximum value for the column is 49151 (=12*(4^6)-1),
> > it's possible to infer that N=6 for this healpix column. Note that
> > since type="legal" this does not say that the actual contents of
> > the column hit that maximum (i.e. some pixels might be absent, but the
> > declaration would not change).
> >
> > This is kind of horrible, but at the same time the meaning is fairly
> > unambiguous, and it requires no new standardisation activity.
> > So, we are likely to go ahead with marking up HEALPix columns in
> > this way (Markus's and Gregory's services will emit VOTables like
> > this, and topcat will understand them) unless anybody persuades
> > us different.
> >
> > We have considered various other options too, but on balance we
> > think they're even worse. Briefly:
> >
> > - Abuse UCDs by trying to parameterise them:
> > pos.healpix(6)?
> > pos.healpix;index=6?
> >
> > - Introduce new UCD words to (0<=N<=29, so the number of new words
> > would be quite, but not ridiculously, large):
> > pos.healpix0, pos.healpix1, ... pos.healpix29?
> > pos.healpix;arith.0, pos.healpix;arith.1, ... pos.healpix;arith.29
> >
> > - Xtype magic:
> > xtype="healpix(6)"
> > xtype="tilings:healpix(6)"
> >
> > - Some table-level indication of the order:
> > <TABLE>
> > <PARAM name="healpix-order" datatype="int" value="6">
> > <FIELD datatype=int ucd="pos.healpix"/>
> > ...
> > </TABLE>
> > this would work because in practice, it's hard to imagine you
> > could have multiple columns in a single table with different
> > healpix orders. This is somewhat analogous to how the
> > ad-hoc FITS healpix serialization works.
> > Note it still needs some convention to identify the healpix-order
> > PARAM.
> >
> > - Some business with GROUP/FIELDref/PARAM elements at table level.
> > Note this also needs some convention to identify the healpix-order.
> >
> > - Reinvent UCD syntax????
> >
> >
> > Actually it is even worse than this: there are two alternative
> > conventional schemes for assigning HEALPix indices to a tiling
> > at a given order, known as NESTED and RING, and you need to know
> > which one is intended. Furthermore, the actual sky position
> > corresponding to a given pixel is dependent on how the tiling is
> > attached to the celestial sphere (e.g. equatorial, ecliptic, galactic).
> > So even if you know N you don't have enough explicit information
> > to make sense of a healpix index. However, we are currently
> > following MOC in assuming the NESTED scheme, and it's probably
> > reasonable to take the sky system as implicit, so we're ignoring
> > those details for now.
> >
> > Any bright ideas, wise comments etc welcome.
> >
> > Mark
> >
> > --
> > Mark Taylor Astronomical Programmer Physics, Bristol University, UK
> > m.b.taylor at bris.ac.uk +44-117-9288776 http://www.star.bris.ac.uk/~mbt/
>
>
--
Mark Taylor Astronomical Programmer Physics, Bristol University, UK
m.b.taylor at bris.ac.uk +44-117-9288776 http://www.star.bris.ac.uk/~mbt/
More information about the apps
mailing list