Expressing 2- and 3-D coordinates
martin hill
mch at roe.ac.uk
Wed Dec 14 06:36:56 PST 2005
Quoting Arnold Rots <arots at head.cfa.harvard.edu>:
> 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.
Yes, that's what I said. My points are:
Context gives assocation, not type. Snippets *should* be self-typed and
self-described (at all levels) without relying on assumed context to do so.
Type description *should* be in the schema, where it can be used to define and
validate, not spread between the instance document and a (dis)associated
human-only document that a programmer/astronomer has to find.
Finally, XML can and should be readable and, where possible, 'obvious', at all
levels.
Cheers
Martin
> 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:
> >
> > <DEFANGED_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/
> --------------------------------------------------------------------------
>
>
--
Software Engineer
Astrogrid, ROE (www.astrogrid.org)
Mob: +44 7901 55 24 66
Fax: +44 131 668 82 64
More information about the dm
mailing list