Expressing 2- and 3-D coordinates
Arnold Rots
arots at head.cfa.harvard.edu
Wed Dec 14 06:01:01 PST 2005
The problem with snippets is that they don't show the whole context.
The information on the types of coordinates is provided in the
associated coordinate system description.
- Arnold
martin hill wrote:
> The issue is not really whether lists are better space-separated or
> tag-separated. The issue is this:
>
> On Dec 13, 2005, at 15:58, Alberto Micol wrote:
> >
> >Why the coordinates cannot be treated as an array in [IVOA XML docs] ?
> >
>
> Vectors or arrays are suitable where the values are indeed a list of values _of
> the same type._ In all other cases the values should be within a tag that can
> properly describe and type the value it encloses.
>
> I know some of you think in terms of n-dimensions and 'let n go to...' for
> specific cases. This gives you the two options that Arnold presented, ie:
>
> <Position2D><Value2>
> <Coord1>140</Coord1>
> <Coord2>69</Coord2>
> </Value2></Position2D>
>
> or
>
> <Position2D>
> <Value2>140 69</Value2>
> </Position2D>
>
> and there is no significant difference between these two, and you might as well
> use the first (if, as seems to be the case, parsers can handle lists properly).
>
> But if you have a tag like "values" you ought to look at why the tag's _name_ is
> a _type_ (after all, the type should be described in a schema) instead of
> providing meaning.
>
> Coordinates are not of the same type. The limits to RAs & DECs for example are
> quite different. Similarly, at a level above, cartesian coordinates are
> different to polar coordinates, which have different attributes, and using the
> same XML snippet for both loses type information (and therefore contract
> description and validation).
>
> XML has encapsulation to provide association, and ascii tags to provide some
> semantics. So it can be used to provide useful information about the 'specific
> cases'.
>
> So the example should be:
>
> <PlateCenter type="Polar">
> <RA>140</RA>
> <DEC>69</DEC>
> </Position>
>
> or:
>
> <Velocity type="Cartesian">
> <X units='km'>140</X>
> <Y units='m'>69</Y>
> </Position>
>
> or:
>
> <ObjectCenter type="Pixel">
> <X>140</X>
> <Y>69</Y>
> </Position>
>
> as appropriate.
>
> Errors should be associated with the values by encapsulation and
> self-documenting tag(s) where possible, not by position in an associated list.
>
> When you look at this snippet:
>
> <Position2D>
> <Value2>140 69</Value2>
> <Error2Matrix>0.05 0.0 0.0 0.05</Error2Matrix>
> </Position2D>
>
> I'm afraid this does not look clear and it's certainly ambiguous. Are these
> pixels or polars? Which way round does the error matrix apply? It is only
> obvious to someone already familiar with the STC model, not to haplass software
> engineers or researchers who 'just want to use' the document.
>
> As Paul H has pointed out, the *primary* purpose of XML is for computers to
> read. Typing the values properly means we can specify contracts properly for
> our interchange documents, and validate them as fully as possible. But as they
> are also human readable, you have an opportunity to make exchange documents that
> are also relatively self-documented, and therefore much easier to understand,
> use, explain and maintain.
>
> Cheers
>
> Martin
>
> --
> Martin Hill
> VOTech Software Engineer @ ROE
> www.roe.ac.uk/~mch
> +44 7901 55 24 66
>
>
> Quoting Ed Shaya <Edward.J.Shaya.1 at gsfc.nasa.gov>:
>
> > It makes little difference for Value2. Either way is fine with me. But
> > once people notice that if they use the correct parser arrays are
> > possible in XML, and then we can move generally to having data arrays of
> > length appropriate for astronomy. VOTable should be composed of
> > xsd:list elements so that one is not repeating <td> tens of millions of
> > times.
> >
> > I might note that ChemML has had XML arrays since 1999, even before
> > xsd:list. The chemists realized that arrays
> > are so important that standard XML parsers needed to be enhanced to
> > include them. Now this is no longer necessary.
> > http://www-ece.engr.ucf.edu/~jza/classes/4781/XML/XML.html (search for
> > array).
> >
> >
> > Ed
> >
> >
> > Matthew Graham wrote:
> >
> > > Hi,
> > >
> > > Just to add my tuppence worth here: the bottom line really has to be
> > > that the XML representation is implementable in a platform-independent
> > > way. You just have to go with the lowest common denominator: it really
> > > matters not one jot if
> > >
> > > <Value2> 149.60 23.5</Value2>
> > >
> > > is the most elegant representation but cannot be parsed properly by a
> > > sizeable fraction of our systems, you just have to use
> > >
> > > <Value2>
> > > <C1>149.60</C1>
> > > <C2>23.5</C2>
> > > </Value2>
> > >
> > > instead. The moment we start mandating a particular infrastructure to
> > > support our XML, we sound the death knell from the user community.
> > >
> > > Cheers,
> > >
> > > Matthew
> >
> >
> >
> >
>
>
> --
> Software Engineer
> Astrogrid, ROE (www.astrogrid.org)
> Mob: +44 7901 55 24 66
> Fax: +44 131 668 82 64
>
--------------------------------------------------------------------------
Arnold H. Rots Chandra X-ray Science Center
Smithsonian Astrophysical Observatory tel: +1 617 496 7701
60 Garden Street, MS 67 fax: +1 617 495 7356
Cambridge, MA 02138 arots at head.cfa.harvard.edu
USA http://hea-www.harvard.edu/~arots/
--------------------------------------------------------------------------
More information about the dm
mailing list