Information on Service 'STC utype generator'

[Use this service from your browser]

Further access options are discussed below

This services converts the representations of STC objects in XML, utypes, and STC-S into each other.

For a list of all services and tables belonging to this service's resource, see Information on resource 'STC utype generator'

Service Documentation

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 }

Overview

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.

Input Fields

The following fields are available to provide input to the service (with some renderers, some of these fields may be unavailable):

NameTable Head DescriptionUnitUCD
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)