Dear Data Model Working Group
I believe that the IVOA should bite the bullet and standardize the sexagesimal format. Some say it is impossible, that we have to take whatever they give us. But this is a horrible place to be, it takes hundreds of lines of code to understand something like 5h:23m,35d:12m: 23".23 and all its tortured friends.
There is no reason to allow this level of complexity to continue. If we can standardize something as complex as spectrum formats, why are we still getting tripped up the sexagesimal format? Whenever I write code to read sexagesimal I feel I am in an uncertain world that makes me fall, I am like tripping over my own trousers! Do not be afraid that they will laugh, I believe this the sort of thing that real astronomers really want from us!
My suggestion is to say that the IVOA understands a sexagesimal position if and only if it fits the definition as "six numbers separated by non-numbers". It is a very simple defintion and yet accepts almost all the formats that are used.
I suggest that an IVOA sexagesimal position must consist of the numbers RAh, RAm, RAs, Decd, Decm, Decs, and there can be arbitrary "non-number" characters separating them. In other words, all characters that are not 0-9 or + or - or . are considered separators, and what is left must parse as six numbers, with RAh, RAm, Decd, Decm as integers, and RAh and Decs as floats. Note that the seconds is a required field for both RA and Dec. Once this is done, everything else is straightforward.
If there is general agreement from the DM group, I volunteer to make a *very short* writeup and get it to IVOA Recommendation quickly.
Roy Williams
Examples of valid IVOA sexagsimal positions, these parse to the same
thing:
5h 23m 0s, 35d 12m 23.23s
5h 23m 0s, 35° 12' 23.23"
5 23 0 35 12 23.22
5 23 0 35 +12 23.22
5dfds23,,, ,,,,0;;;;;35kjdshhgf-12, 23.22
California Institute of Technology
626 395 3670
Received on 2006-09-16Z21:11:26