Further access options are discussed below
For a list of all services and tables belonging to this service's resource, see Information on resource 'STC utype generator'
This service lets you convert between various representations of IVOA space-time coordinate (STC) data model instances:
The transformations should be more or less revertable. Utypes suppress some information embedded in STC that are also defined in VOTables, e.g., units. The extent of STC-X support is about what is given by STC-S, so roundtrips should be possible here.
Note
Many parts of this are not really well tested. So, if something happens contrary to your expectations, please do not hesitate to contaxt the operators. Thanks.
For inputting STC specifications, STC-S is probably most convenient. We should support all features of STC-S defined in the note, plus
You can peruse the full grammar understood by this service below; it's machine generated, though, and thus is not terribly readable. So, here are some examples of STC-S expressions:
Position ICRS 12000.3 14000 unit arcsec Error 0.1 0.14 Resolution 0.5 0.55 Size 1 1.1 4.8 2.3 PixSize 0.2 0.2
Position FK5 J2010 15 16 System TT-ICRS-TOPO
(here, the reference system is ICRS since FK5 J2010 is overridden by the system definition; sorry 'bout mess like this).
Position ICRS "foo" "bar" Error "e_foo" "e_bar"
PositionInterval ICRS Epoch J1900.3 12 13 14 15
PositionInterval ECLIPTIC CART3 12 13 10 14 15 9 PixSize 1 1 1
Circle ICRS Epoch J1999.9 12 13 1 unit arcsec
Convex FK5 J1990 70 190 23 0.125 12 45 30 -0.25
TimeInterval TT 2009-03-10T09:56:10.015625 SpectralInterval 1e10 1e11 unit Hz RedshiftInterval VELOCITY 1000 7500 unit km/s
Position ICRS Epoch J1999.9 VelocityInterval Velocity 1 2 unit pc/ha Error 0.25 0.5
Time nil UNKNOWNRefPos MJD302
Difference ICRS Epoch J1999.9 (AllSky Union (Circle 10 10 2 Intersection (Polygon 10 2 2 10 10 10 Intersection( Ellipse 11 11 2 3 30 Not (Difference ( Circle 12 12 3 Box 11 11 2 3))))))
Redshift BARYCENTER JPL-DE405 3.5
As, promised, here's the full grammar:
_compoundGeoExprBinary ::= "Difference" "(" _compoundGeoOperand _compoundGeoOperand ")" _compoundGeoExprNary ::= sym0227 "(" _compoundGeoOperand _compoundGeoOperand { _compoundGeoOperand } ")" _compoundGeoExprUnary ::= "Not" sym0208 _compoundGeoOperand ")" _compoundGeoExpression ::= sym0213 _compoundGeoOperand ::= sym0210 | _compoundGeoExpression atomicGeometry ::= sym0189 [ fillfactor ] frame [ refpos ] [ flavor ] [ sym0134 ] { numberLiteral } [ positionSpec ] [ timeUnit ] [ sym0266 ] [ sym0303 ] [ sym0155 ] [ sym0181 ] [ velocityInterval ] dopplerdef ::= RE<OPTICAL|RADIO|RELATIVISTIC> eqFrame ::= eqFrameName [ sym0102 ] eqFrameName ::= "FK5" | "FK4" | "ECLIPTIC" exactNumericLiteral ::= RE<[+-]?\d+(\.(\d+)?)?|[+-]?\.\d+> fillfactor ::= "fillfactor" numberLiteral flavor ::= RE<UNITSPHER|SPHER2|SPHER3|CART3|CART2|CART1> frame ::= eqFrame | "J2000" | "B1950" | "ICRS" | "GALACTIC" | "GALACTIC_I" | "GALACTIC_II" | "SUPER_GALACTIC" | "GEO_C" | "GEO_D" | "HPR" | "HGS" | "HGC" | "HPC" | "UNKNOWNFrame" isoTimeLiteral ::= RE<\d\d\d\d-?\d\d-?\d\d(T\d\d:?\d\d:?\d\d(\.\d*)?Z?)?> jdLiteral ::= "JD" exactNumericLiteral mjdLiteral ::= "MJD" exactNumericLiteral numberLiteral ::= RE<(?i)([+-]?\d+(\.(\d+)?)?|[+-]?\.\d+)(E[+-]?\d+)?> position ::= "Position" frame [ refpos ] [ flavor ] [ sym0134 ] [ { numberLiteral } ] [ timeUnit ] [ sym0266 ] [ sym0303 ] [ sym0155 ] [ sym0181 ] [ velocityInterval ] positionInterval ::= "PositionInterval" [ fillfactor ] frame [ refpos ] [ flavor ] [ sym0134 ] { numberLiteral } [ positionSpec ] [ timeUnit ] [ sym0266 ] [ sym0303 ] [ sym0155 ] [ sym0181 ] [ velocityInterval ] positionSpec ::= "Position" [ { numberLiteral } ] redshift ::= "Redshift" [ refpos ] [ redshiftType ] [ dopplerdef ] [ { numberLiteral } ] [ timeUnit ] [ sym0266 ] [ sym0303 ] [ sym0181 ] redshiftInterval ::= "RedshiftInterval" [ fillfactor ] [ refpos ] [ redshiftType ] [ dopplerdef ] { numberLiteral } [ redshiftSpec ] [ timeUnit ] [ sym0266 ] [ sym0303 ] [ sym0181 ] redshiftSpec ::= "Redshift" numberLiteral redshiftSubPhrase ::= redshiftInterval | redshift redshiftType ::= RE<VELOCITY|REDSHIFT> refpos ::= sym0023 [ sym0025 ] spaceSubPhrase ::= positionInterval | position | atomicGeometry | sym0202 | sym0237 | sym0242 spectral ::= "Spectral" [ refpos ] [ { numberLiteral } ] [ timeUnit ] [ sym0266 ] [ sym0303 ] [ sym0181 ] spectralInterval ::= "SpectralInterval" [ fillfactor ] [ refpos ] { numberLiteral } [ spectralSpec ] [ timeUnit ] [ sym0266 ] [ sym0303 ] [ sym0181 ] spectralSpec ::= "Spectral" numberLiteral spectralSubPhrase ::= spectralInterval | spectral startTime ::= "StartTime" [ fillfactor ] [ sym0077 ] [ refpos ] timeLiteral [ sym0039 ] [ timeUnit ] [ sym0266 ] [ sym0303 ] [ sym0181 ] stcsPhrase ::= [ timeSubPhrase ] [ spaceSubPhrase ] [ spectralSubPhrase ] [ redshiftSubPhrase ] [ systemDefinition ] stopTime ::= "StopTime" [ fillfactor ] [ sym0077 ] [ refpos ] timeLiteral [ sym0039 ] [ timeUnit ] [ sym0266 ] [ sym0303 ] [ sym0181 ] sym0023 ::= RE<LOCAL_GROUP_CENTER|GALACTIC_CENTER|UNKNOWNRefPos|EMBARYCENTER|HELIOCENTER|CoordRefPos|RELOCATABLE|BARYCENTER|TOPOCENTER|GEOCENTER|JUPITER|MERCURY|NEPTUNE|URANUS|SATURN|PLUTO|VENUS|LSRD|LSRK|MOON|MARS|LSR> sym0025 ::= "JPL-DE200" | "JPL-DE405" sym0039 ::= "Time" timeLiteral sym0077 ::= RE<UTC|nil|TDB|TT|TEB|LST|TCG|IAT|ET|TCB|TAI|TDT> sym0102 ::= RE<[BJ][0-9]+([.][0-9]*)?> sym0134 ::= "Epoch" sym0155 ::= "Size" numberLiteral { numberLiteral } sym0181 ::= "PixSize" numberLiteral { numberLiteral } sym0189 ::= "AllSky" | "Circle" | "Ellipse" | "Box" | "Polygon" | "Convex" sym0202 ::= "Not" [ fillfactor ] frame [ refpos ] [ flavor ] [ sym0134 ] "(" _compoundGeoOperand ")" [ positionSpec ] [ timeUnit ] [ sym0266 ] [ sym0303 ] [ sym0155 ] [ sym0181 ] [ velocityInterval ] sym0210 ::= sym0189 { numberLiteral } sym0213 ::= _compoundGeoExprUnary | _compoundGeoExprBinary | _compoundGeoExprNary sym0227 ::= "Union" | "Intersection" sym0237 ::= "Difference" [ fillfactor ] frame [ refpos ] [ flavor ] [ sym0134 ] "(" _compoundGeoOperand _compoundGeoOperand ")" [ positionSpec ] [ timeUnit ] [ sym0266 ] [ sym0303 ] [ sym0155 ] [ sym0181 ] [ velocityInterval ] sym0242 ::= sym0227 [ fillfactor ] frame [ refpos ] [ flavor ] [ sym0134 ] "(" _compoundGeoOperand _compoundGeoOperand { _compoundGeoOperand } ")" [ positionSpec ] [ timeUnit ] [ sym0266 ] [ sym0303 ] [ sym0155 ] [ sym0181 ] [ velocityInterval ] sym0266 ::= "Error" numberLiteral { numberLiteral } sym0303 ::= "Resolution" numberLiteral { numberLiteral } systemDefinition ::= "System" NOIMPL time ::= "Time" [ sym0077 ] [ refpos ] [ timeLiteral ] [ timeUnit ] [ sym0266 ] [ sym0303 ] [ sym0181 ] timeInterval ::= "TimeInterval" [ fillfactor ] [ sym0077 ] [ refpos ] { timeLiteral } [ sym0039 ] [ timeUnit ] [ sym0266 ] [ sym0303 ] [ sym0181 ] timeLiteral ::= isoTimeLiteral | jdLiteral | mjdLiteral timeSubPhrase ::= timeInterval | startTime | stopTime | time timeUnit ::= "unit" velocityInterval ::= "VelocityInterval" [ fillfactor ] { numberLiteral } [ velocitySpec ] [ timeUnit ] [ sym0266 ] [ sym0303 ] [ sym0181 ] velocitySpec ::= "Velocity" numberLiteral { numberLiteral }
You can access this service using:
This service is published as follows:
local means it is listed on our front page, ivo_managed means it has a record in the VO registry.
The following fields are available to provide input to the service (with some renderers, some of these fields may be unavailable):
Name | Table Head | Description | Unit | UCD |
---|---|---|---|---|
inputFormat | Input format | Source format of the STC information | N/A | N/A |
inString | Input string | A string containing the input in the format defined by inputFormat. See the Service Info for examples. | N/A | N/A |
outputFormat | Output format | Target format of the STC information | N/A | N/A |
VOResource XML (that's something exclusively for VO nerds)