[TAP] data type for column metadata
Rob Seaman
seaman at noao.edu
Tue Mar 24 09:52:44 PDT 2009
Francois said:
>>> Well, that's typically why the utype attribute was introduced:
>>> specify as accurately as possible what is the meaning of a
>>> parameter vs a data model. For instance, an ISO time could be
>>> defined as utype='stc:AstroCoords.Time.TimeInstant.ISOTime' the
>>> stc prefix referring tp Space-Time coordinates (there should
>>> therefore be at the top of the VOTable a reference to the XML
>>> schema as: xmlns:stc="http://www.ivoa.net/xml/STC/stc-v1.30.xsd" )
>>>
>>
Rick Wagner wrote:
>> I don't see how we can use utypes to define both the format of a
>> FIELD, and its relationship to a data model. For example, how can I
>> specify that a FIELD represents the execution time of a simulation
>> using utype='simdb:Simulation.ExecutionTime', and that is in ISO
>> format, utype='stc:AstroCoords.Time.TimeInstant.ISOTime'?
and Roy said:
> Just to note in passing that VOTable already has formatting
> information with the FIELD, it is the "width" and "precision"
> attributes (quote below from the REC).
>
> I would suggest that if there is a new "format" attribute, then it
> should be able to replace "width" and "precision".
More basically, "ISOTime" is not a clear expression of a sexagesimal
format. ISO 8601 is a very complex standard. Not only the format can
vary, but the quantity expressed can be either an epoch (or range of
epochs) or an interval and in various units from seconds to years.
(And of course, the token "ISO" could refer to any of 10,000 other
standards.)
The VO either needs to constrain the format or it needs some facility
like IRAF's sexagesimal format, which indeed permit expressing the
width and precision. A sexagesimal value is a floating point number:
ecl> x = 12:34:56.789
ecl> = x
12.582441388889
The %h format expresses sexagesimal (in whatever units):
ecl> printf ("%h\n", x)
12:34:56.8
The width and precision are handled like other printf format specifiers:
ecl> printf ("%12.3h\n", x)
12:34:56.789
The %H format is a convenience feature for converting from degrees to
hours (divide by 15) on the fly:
ecl> printf ("%H\n", x)
0:50:19.8
I'm not suggesting these be adopted by the VO (although wouldn't
flinch if they were), but you guys should be aware that you are well
on the way to reinventing IRAF.
>>> Or do you think that this is not appropriate ? Sure it looks
>>> complex, but Arnold would answer that specifying accurately which
>>> time is used is complex...
>>
Here is where the discussion could go off on a vast tangent. In
addition to formats, data types, utypes, ISO standards - and yes,
space-time coordinates - STC brings with it the baggage of XML
schema. Requiring a xmlns:stc="http://www.ivoa.net/xml/STC/stc-v1.30.xsd
" just to say that some value is formatted as sexagesimal is beyond
awkward.
This makes sense to me:
utype='simdb:Simulation.ExecutionTime'
I don't know what this is supposed to mean:
utype='stc:AstroCoords.Time.TimeInstant.ISOTime'
...and I'll second Rick's question. Can a single quantity have more
than one utype? What would this mean?
Rob
More information about the dal
mailing list