Coordinates
Table of Contents
- Table of Contents
- Model Files
- Generalities
- Standard 1D Coordinates
- Space Coordinates
- Time Coordinates
- Generic Coordinates
- Pixel Coordinates
Model Files
TBD
Generalities
As for the other examples we provide two representations for the instances. One is expressed in a Domain Specific Language (DSL) that we are developing along with the VODML-related standards.
The DSL is independent of the serialization format, and allows to describe the instances in a simpler language without much boilerplate.
We also provide the VOTable serializations of those instances, which is what providers and clients will need to work with in practice.
Standard 1D Coordinates
Magnitude
DSL
File: /examples/coords/current/instances/magnitude.jovial
def modelsFolder = "file:../models"
def voluteFolder = "https://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/models/"
def coordsLocation = new URL("$modelsFolder/STC_coords-v1.0.vo-dml.xml")
def ivoaLocation = new URL("$voluteFolder/ivoa/vo-dml/IVOA-v1.0.vo-dml.xml")
dmInstance {
model(vodmlURL: coordsLocation)
model(vodmlURL: ivoaLocation)
instance(type: "coords:Standard1DCoord") {
instance role: "cval", value: -0.28, type: "ivoa:RealQuantity"
}
}
VOTable
File: /examples/coords/current/instances/magnitude.vot.xml
<?xml version="1.0" encoding="UTF-8"?><VOTABLE xmlns="http://www.ivoa.net/xml/VOTable/v1.4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<VODML>
<MODEL>
<NAME>coords</NAME>
<URL>file:../models/STC_coords-v1.0.vo-dml.xml</URL>
</MODEL>
<MODEL>
<NAME>ivoa</NAME>
<URL>https://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/models//ivoa/vo-dml/IVOA-v1.0.vo-dml.xml</URL>
</MODEL>
<GLOBALS>
<INSTANCE dmtype="coords:Standard1DCoord">
<ATTRIBUTE dmrole="coords:Standard1DCoord.cval">
<LITERAL value="-0.28" dmtype="ivoa:RealQuantity"/>
</ATTRIBUTE>
</INSTANCE>
</GLOBALS>
</VODML>
<RESOURCE ID="EMPTY"/>
</VOTABLE>
Space Coordinates
A: ICRS
DSL
File: /examples/coords/current/instances/long-lat-position-icrs.jovial
def modelsFolder = "file:../models"
def voluteFolder = "https://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/models/"
def coordsLocation = new URL("$modelsFolder/STC_coords-v1.0.vo-dml.xml")
def ivoaLocation = new URL("$voluteFolder/ivoa/vo-dml/IVOA-v1.0.vo-dml.xml")
dmInstance {
model(vodmlURL: coordsLocation)
model(vodmlURL: ivoaLocation)
instance(id: "_SPACE_FRAME", type: "coords:SpaceFrame") {
instance role: "spaceRefFrame", value: "ICRS"
instance(role: "refPosition", type: "coords:StdRefLocation") {
instance role: "position", value: "TOPOCENTER"
}
}
instance(type: "coords:Longitude") {
instance role: "cval", value: 173.3482717153, unit: "deg", type: "ivoa:RealQuantity"
reference(role: "frame") {
idref "_SPACE_FRAME"
}
}
instance(type: "coords:Latitude") {
instance role: "cval", value: 25.8341026280, unit: "deg", type: "ivoa:RealQuantity"
reference(role: "frame") {
idref "_SPACE_FRAME"
}
}
}
VOTable
File: /examples/coords/current/instances/long-lat-position-icrs.vot.xml
<?xml version="1.0" encoding="UTF-8"?><VOTABLE xmlns="http://www.ivoa.net/xml/VOTable/v1.4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<VODML>
<MODEL>
<NAME>coords</NAME>
<URL>file:../models/STC_coords-v1.0.vo-dml.xml</URL>
</MODEL>
<MODEL>
<NAME>ivoa</NAME>
<URL>https://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/models//ivoa/vo-dml/IVOA-v1.0.vo-dml.xml</URL>
</MODEL>
<GLOBALS>
<INSTANCE dmtype="coords:SpaceFrame" ID="_SPACE_FRAME">
<ATTRIBUTE dmrole="coords:SpaceFrame.spaceRefFrame">
<LITERAL value="ICRS" dmtype="ivoa:string"/>
</ATTRIBUTE>
<ATTRIBUTE dmrole="coords:SpaceFrame.refPosition">
<INSTANCE dmtype="coords:StdRefLocation">
<ATTRIBUTE dmrole="coords:StdRefLocation.position">
<LITERAL value="TOPOCENTER" dmtype="ivoa:string"/>
</ATTRIBUTE>
</INSTANCE>
</ATTRIBUTE>
</INSTANCE>
<INSTANCE dmtype="coords:Longitude">
<ATTRIBUTE dmrole="coords:SpaceCoord.cval">
<LITERAL value="173.3482717153" dmtype="ivoa:RealQuantity" unit="deg"/>
</ATTRIBUTE>
<REFERENCE dmrole="coords:Coordinate.frame">
<IDREF>_SPACE_FRAME</IDREF>
</REFERENCE>
</INSTANCE>
<INSTANCE dmtype="coords:Latitude">
<ATTRIBUTE dmrole="coords:SpaceCoord.cval">
<LITERAL value="25.8341026280" dmtype="ivoa:RealQuantity" unit="deg"/>
</ATTRIBUTE>
<REFERENCE dmrole="coords:Coordinate.frame">
<IDREF>_SPACE_FRAME</IDREF>
</REFERENCE>
</INSTANCE>
</GLOBALS>
</VODML>
<RESOURCE ID="EMPTY"/>
</VOTABLE>
B: FK4
DSL
File: /examples/coords/current/instances/long-lat-position-fk4.jovial
def modelsFolder = "file:../models"
def voluteFolder = "https://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/models/"
def coordsLocation = new URL("$modelsFolder/STC_coords-v1.0.vo-dml.xml")
def ivoaLocation = new URL("$voluteFolder/ivoa/vo-dml/IVOA-v1.0.vo-dml.xml")
dmInstance {
model(vodmlURL: coordsLocation)
model(vodmlURL: ivoaLocation)
instance(id: "_SPACE_FRAME", type: "coords:SpaceFrame") {
instance role: "spaceRefFrame", value: "FK4"
instance role: "equinox", value: "B1950"
instance(role: "refPosition", type: "coords:StdRefLocation") {
instance role: "position", value: "TOPOCENTER"
}
}
instance(type: "coords:Longitude") {
instance role: "cval", value: 12.9768538031, unit: "deg", type: "ivoa:RealQuantity"
reference(role: "frame") {
idref "_SPACE_FRAME"
}
}
instance(type: "coords:Latitude") {
instance role: "cval", value: -72.9580158133, unit: "deg", type: "ivoa:RealQuantity"
reference(role: "frame") {
idref "_SPACE_FRAME"
}
}
}
VOTable
File: /examples/coords/current/instances/long-lat-position-fk4.vot.xml
<?xml version="1.0" encoding="UTF-8"?><VOTABLE xmlns="http://www.ivoa.net/xml/VOTable/v1.4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<VODML>
<MODEL>
<NAME>coords</NAME>
<URL>file:../models/STC_coords-v1.0.vo-dml.xml</URL>
</MODEL>
<MODEL>
<NAME>ivoa</NAME>
<URL>https://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/models//ivoa/vo-dml/IVOA-v1.0.vo-dml.xml</URL>
</MODEL>
<GLOBALS>
<INSTANCE dmtype="coords:SpaceFrame" ID="_SPACE_FRAME">
<ATTRIBUTE dmrole="coords:SpaceFrame.spaceRefFrame">
<LITERAL value="FK4" dmtype="ivoa:string"/>
</ATTRIBUTE>
<ATTRIBUTE dmrole="coords:SpaceFrame.equinox">
<LITERAL value="B1950" dmtype="coords:Epoch"/>
</ATTRIBUTE>
<ATTRIBUTE dmrole="coords:SpaceFrame.refPosition">
<INSTANCE dmtype="coords:StdRefLocation">
<ATTRIBUTE dmrole="coords:StdRefLocation.position">
<LITERAL value="TOPOCENTER" dmtype="ivoa:string"/>
</ATTRIBUTE>
</INSTANCE>
</ATTRIBUTE>
</INSTANCE>
<INSTANCE dmtype="coords:Longitude">
<ATTRIBUTE dmrole="coords:SpaceCoord.cval">
<LITERAL value="12.9768538031" dmtype="ivoa:RealQuantity" unit="deg"/>
</ATTRIBUTE>
<REFERENCE dmrole="coords:Coordinate.frame">
<IDREF>_SPACE_FRAME</IDREF>
</REFERENCE>
</INSTANCE>
<INSTANCE dmtype="coords:Latitude">
<ATTRIBUTE dmrole="coords:SpaceCoord.cval">
<LITERAL value="-72.9580158133" dmtype="ivoa:RealQuantity" unit="deg"/>
</ATTRIBUTE>
<REFERENCE dmrole="coords:Coordinate.frame">
<IDREF>_SPACE_FRAME</IDREF>
</REFERENCE>
</INSTANCE>
</GLOBALS>
</VODML>
<RESOURCE ID="EMPTY"/>
</VOTABLE>
Custom Cartesian
DSL
File: /examples/coords/current/instances/cartesian-3d-position.jovial
def modelsFolder = "file:../models"
def voluteFolder = "https://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/models/"
def coordsLocation = new URL("$modelsFolder/STC_coords-v1.0.vo-dml.xml")
def ivoaLocation = new URL("$voluteFolder/ivoa/vo-dml/IVOA-v1.0.vo-dml.xml")
dmInstance {
model(vodmlURL: coordsLocation)
model(vodmlURL: ivoaLocation)
instance(id: "_SPACE_FRAME", type: "coords:SpaceFrame") {
instance role: "spaceRefFrame", value: "CUSTOM"
instance(role: "refPosition", type: "coords:StdRefLocation") {
instance role: "position", value: "TOPOCENTER"
}
}
instance(type: "coords:X") {
instance role: "cval", value: 0.0, unit: "m", type: "ivoa:RealQuantity"
reference(role: "frame") {
idref "_SPACE_FRAME"
}
}
instance(type: "coords:Y") {
instance role: "cval", value: 0.0, unit: "m", type: "ivoa:RealQuantity"
reference(role: "frame") {
idref "_SPACE_FRAME"
}
}
instance(type: "coords:Z") {
instance role: "cval", value: 534.7, unit: "m", type: "ivoa:RealQuantity"
reference(role: "frame") {
idref "_SPACE_FRAME"
}
}
}
VOTable
File: /examples/coords/current/instances/cartesian-3d-position.vot.xml
<?xml version="1.0" encoding="UTF-8"?><VOTABLE xmlns="http://www.ivoa.net/xml/VOTable/v1.4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<VODML>
<MODEL>
<NAME>coords</NAME>
<URL>file:../models/STC_coords-v1.0.vo-dml.xml</URL>
</MODEL>
<MODEL>
<NAME>ivoa</NAME>
<URL>https://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/models//ivoa/vo-dml/IVOA-v1.0.vo-dml.xml</URL>
</MODEL>
<GLOBALS>
<INSTANCE dmtype="coords:SpaceFrame" ID="_SPACE_FRAME">
<ATTRIBUTE dmrole="coords:SpaceFrame.spaceRefFrame">
<LITERAL value="CUSTOM" dmtype="ivoa:string"/>
</ATTRIBUTE>
<ATTRIBUTE dmrole="coords:SpaceFrame.refPosition">
<INSTANCE dmtype="coords:StdRefLocation">
<ATTRIBUTE dmrole="coords:StdRefLocation.position">
<LITERAL value="TOPOCENTER" dmtype="ivoa:string"/>
</ATTRIBUTE>
</INSTANCE>
</ATTRIBUTE>
</INSTANCE>
<INSTANCE dmtype="coords:X">
<ATTRIBUTE dmrole="coords:SpaceCoord.cval">
<LITERAL value="0.0" dmtype="ivoa:RealQuantity" unit="m"/>
</ATTRIBUTE>
<REFERENCE dmrole="coords:Coordinate.frame">
<IDREF>_SPACE_FRAME</IDREF>
</REFERENCE>
</INSTANCE>
<INSTANCE dmtype="coords:Y">
<ATTRIBUTE dmrole="coords:SpaceCoord.cval">
<LITERAL value="0.0" dmtype="ivoa:RealQuantity" unit="m"/>
</ATTRIBUTE>
<REFERENCE dmrole="coords:Coordinate.frame">
<IDREF>_SPACE_FRAME</IDREF>
</REFERENCE>
</INSTANCE>
<INSTANCE dmtype="coords:Z">
<ATTRIBUTE dmrole="coords:SpaceCoord.cval">
<LITERAL value="534.7" dmtype="ivoa:RealQuantity" unit="m"/>
</ATTRIBUTE>
<REFERENCE dmrole="coords:Coordinate.frame">
<IDREF>_SPACE_FRAME</IDREF>
</REFERENCE>
</INSTANCE>
</GLOBALS>
</VODML>
<RESOURCE ID="EMPTY"/>
</VOTABLE>
Time Coordinates
A: ISOTime
DSL
File: /examples/coords/current/instances/tt-iso-time.jovial
def modelsFolder = "file:../models"
def voluteFolder = "https://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/models/"
def coordsLocation = new URL("$modelsFolder/STC_coords-v1.0.vo-dml.xml")
def ivoaLocation = new URL("$voluteFolder/ivoa/vo-dml/IVOA-v1.0.vo-dml.xml")
dmInstance {
model(vodmlURL: coordsLocation)
model(vodmlURL: ivoaLocation)
instance(id: "_TT_FRAME", type: "coords:TimeFrame") {
instance(role: "refPosition", type: "coords:StdRefLocation") {
instance role: "position", value: "TOPOCENTER"
}
instance role: "timescale", value: "TT"
}
instance (type: "coords:ISOTime") {
instance role: "date", value: "2012-10-23T14:26:39"
reference(role: "frame") {
idref "_TT_FRAME"
}
}
}
VOTable
File: /examples/coords/current/instances/tt-iso-time.vot.xml
<?xml version="1.0" encoding="UTF-8"?><VOTABLE xmlns="http://www.ivoa.net/xml/VOTable/v1.4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<VODML>
<MODEL>
<NAME>coords</NAME>
<URL>file:../models/STC_coords-v1.0.vo-dml.xml</URL>
</MODEL>
<MODEL>
<NAME>ivoa</NAME>
<URL>https://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/models//ivoa/vo-dml/IVOA-v1.0.vo-dml.xml</URL>
</MODEL>
<GLOBALS>
<INSTANCE dmtype="coords:TimeFrame" ID="_TT_FRAME">
<ATTRIBUTE dmrole="coords:TimeFrame.refPosition">
<INSTANCE dmtype="coords:StdRefLocation">
<ATTRIBUTE dmrole="coords:StdRefLocation.position">
<LITERAL value="TOPOCENTER" dmtype="ivoa:string"/>
</ATTRIBUTE>
</INSTANCE>
</ATTRIBUTE>
<ATTRIBUTE dmrole="coords:TimeFrame.timescale">
<LITERAL value="TT" dmtype="ivoa:string"/>
</ATTRIBUTE>
</INSTANCE>
<INSTANCE dmtype="coords:ISOTime">
<ATTRIBUTE dmrole="coords:ISOTime.date">
<LITERAL value="2012-10-23T14:26:39" dmtype="ivoa:datetime"/>
</ATTRIBUTE>
<REFERENCE dmrole="coords:Coordinate.frame">
<IDREF>_TT_FRAME</IDREF>
</REFERENCE>
</INSTANCE>
</GLOBALS>
</VODML>
<RESOURCE ID="EMPTY"/>
</VOTABLE>
B: JD
DSL
File: /examples/coords/current/instances/tt-jd-time.jovial
def modelsFolder = "file:../models"
def voluteFolder = "https://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/models/"
def coordsLocation = new URL("$modelsFolder/STC_coords-v1.0.vo-dml.xml")
def ivoaLocation = new URL("$voluteFolder/ivoa/vo-dml/IVOA-v1.0.vo-dml.xml")
dmInstance {
model(vodmlURL: coordsLocation)
model(vodmlURL: ivoaLocation)
instance(id: "_TT_FRAME", type: "coords:TimeFrame") {
instance(role: "refPosition", type: "coords:StdRefLocation") {
instance role: "position", value: "TOPOCENTER"
}
instance role: "timescale", value: "TT"
}
instance (type: "coords:JD") {
instance role: "date", value: 2450814.5
reference(role: "frame") {
idref "_TT_FRAME"
}
}
}
VOTable
File: /examples/coords/current/instances/tt-jd-time.vot.xml
<?xml version="1.0" encoding="UTF-8"?><VOTABLE xmlns="http://www.ivoa.net/xml/VOTable/v1.4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<VODML>
<MODEL>
<NAME>coords</NAME>
<URL>file:../models/STC_coords-v1.0.vo-dml.xml</URL>
</MODEL>
<MODEL>
<NAME>ivoa</NAME>
<URL>https://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/models//ivoa/vo-dml/IVOA-v1.0.vo-dml.xml</URL>
</MODEL>
<GLOBALS>
<INSTANCE dmtype="coords:TimeFrame" ID="_TT_FRAME">
<ATTRIBUTE dmrole="coords:TimeFrame.refPosition">
<INSTANCE dmtype="coords:StdRefLocation">
<ATTRIBUTE dmrole="coords:StdRefLocation.position">
<LITERAL value="TOPOCENTER" dmtype="ivoa:string"/>
</ATTRIBUTE>
</INSTANCE>
</ATTRIBUTE>
<ATTRIBUTE dmrole="coords:TimeFrame.timescale">
<LITERAL value="TT" dmtype="ivoa:string"/>
</ATTRIBUTE>
</INSTANCE>
<INSTANCE dmtype="coords:JD">
<ATTRIBUTE dmrole="coords:JD.date">
<LITERAL value="2450814.5" dmtype="ivoa:real"/>
</ATTRIBUTE>
<REFERENCE dmrole="coords:Coordinate.frame">
<IDREF>_TT_FRAME</IDREF>
</REFERENCE>
</INSTANCE>
</GLOBALS>
</VODML>
<RESOURCE ID="EMPTY"/>
</VOTABLE>
C: MJD
DSL
File: /examples/coords/current/instances/tt-mjd-time.jovial
def modelsFolder = "file:../models"
def voluteFolder = "https://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/models/"
def coordsLocation = new URL("$modelsFolder/STC_coords-v1.0.vo-dml.xml")
def ivoaLocation = new URL("$voluteFolder/ivoa/vo-dml/IVOA-v1.0.vo-dml.xml")
dmInstance {
model(vodmlURL: coordsLocation)
model(vodmlURL: ivoaLocation)
instance(id: "_TT_FRAME", type: "coords:TimeFrame") {
instance(role: "refPosition", type: "coords:StdRefLocation") {
instance role: "position", value: "TOPOCENTER"
}
instance role: "timescale", value: "TT"
}
instance (type: "coords:MJD") {
instance role: "date", value: 50814.0
reference(role: "frame") {
idref "_TT_FRAME"
}
}
}
VOTable
File: /examples/coords/current/instances/tt-mjd-time.vot.xml
<?xml version="1.0" encoding="UTF-8"?><VOTABLE xmlns="http://www.ivoa.net/xml/VOTable/v1.4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<VODML>
<MODEL>
<NAME>coords</NAME>
<URL>file:../models/STC_coords-v1.0.vo-dml.xml</URL>
</MODEL>
<MODEL>
<NAME>ivoa</NAME>
<URL>https://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/models//ivoa/vo-dml/IVOA-v1.0.vo-dml.xml</URL>
</MODEL>
<GLOBALS>
<INSTANCE dmtype="coords:TimeFrame" ID="_TT_FRAME">
<ATTRIBUTE dmrole="coords:TimeFrame.refPosition">
<INSTANCE dmtype="coords:StdRefLocation">
<ATTRIBUTE dmrole="coords:StdRefLocation.position">
<LITERAL value="TOPOCENTER" dmtype="ivoa:string"/>
</ATTRIBUTE>
</INSTANCE>
</ATTRIBUTE>
<ATTRIBUTE dmrole="coords:TimeFrame.timescale">
<LITERAL value="TT" dmtype="ivoa:string"/>
</ATTRIBUTE>
</INSTANCE>
<INSTANCE dmtype="coords:MJD">
<ATTRIBUTE dmrole="coords:MJD.date">
<LITERAL value="50814.0" dmtype="ivoa:real"/>
</ATTRIBUTE>
<REFERENCE dmrole="coords:Coordinate.frame">
<IDREF>_TT_FRAME</IDREF>
</REFERENCE>
</INSTANCE>
</GLOBALS>
</VODML>
<RESOURCE ID="EMPTY"/>
</VOTABLE>
D: TimeOffset
DSL
File: /examples/coords/current/instances/tt-met-time.jovial
def modelsFolder = "file:../models"
def voluteFolder = "https://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/models/"
def coordsLocation = new URL("$modelsFolder/STC_coords-v1.0.vo-dml.xml")
def ivoaLocation = new URL("$voluteFolder/ivoa/vo-dml/IVOA-v1.0.vo-dml.xml")
dmInstance {
model(vodmlURL: coordsLocation)
model(vodmlURL: ivoaLocation)
instance(id: "_TT_FRAME", type: "coords:TimeFrame") {
instance(role: "refPosition", type: "coords:StdRefLocation") {
instance role: "position", value: "TOPOCENTER"
}
instance role: "timescale", value: "TT"
}
instance(type: "coords:TimeOffset") {
instance role: "time", value: 162753157.938826888, unit: "s"
instance(role: "time0", type: "coords:JD") {
instance role: "date", value: 5.0814000000000E+04
reference(role: "frame") {
idref "_TT_FRAME"
}
}
reference(role: "frame") {
idref "_TT_FRAME"
}
}
}
VOTable
File: /examples/coords/current/instances/tt-met-time.vot.xml
<?xml version="1.0" encoding="UTF-8"?><VOTABLE xmlns="http://www.ivoa.net/xml/VOTable/v1.4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<VODML>
<MODEL>
<NAME>coords</NAME>
<URL>file:../models/STC_coords-v1.0.vo-dml.xml</URL>
</MODEL>
<MODEL>
<NAME>ivoa</NAME>
<URL>https://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/models//ivoa/vo-dml/IVOA-v1.0.vo-dml.xml</URL>
</MODEL>
<GLOBALS>
<INSTANCE dmtype="coords:TimeFrame" ID="_TT_FRAME">
<ATTRIBUTE dmrole="coords:TimeFrame.refPosition">
<INSTANCE dmtype="coords:StdRefLocation">
<ATTRIBUTE dmrole="coords:StdRefLocation.position">
<LITERAL value="TOPOCENTER" dmtype="ivoa:string"/>
</ATTRIBUTE>
</INSTANCE>
</ATTRIBUTE>
<ATTRIBUTE dmrole="coords:TimeFrame.timescale">
<LITERAL value="TT" dmtype="ivoa:string"/>
</ATTRIBUTE>
</INSTANCE>
<INSTANCE dmtype="coords:TimeOffset">
<ATTRIBUTE dmrole="coords:TimeOffset.time">
<LITERAL value="162753157.938826888" dmtype="ivoa:RealQuantity" unit="s"/>
</ATTRIBUTE>
<ATTRIBUTE dmrole="coords:TimeOffset.time0">
<INSTANCE dmtype="coords:JD">
<ATTRIBUTE dmrole="coords:JD.date">
<LITERAL value="50814.000000000" dmtype="ivoa:real"/>
</ATTRIBUTE>
<REFERENCE dmrole="coords:Coordinate.frame">
<IDREF>_TT_FRAME</IDREF>
</REFERENCE>
</INSTANCE>
</ATTRIBUTE>
<REFERENCE dmrole="coords:Coordinate.frame">
<IDREF>_TT_FRAME</IDREF>
</REFERENCE>
</INSTANCE>
</GLOBALS>
</VODML>
<RESOURCE ID="EMPTY"/>
</VOTABLE>
Generic Coordinates
Continuous/Physical
DSL
File: /examples/coords/current/instances/space-gen-chip.jovial
def modelsFolder = "file:../models"
def voluteFolder = "https://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/models/"
def coordsLocation = new URL("$modelsFolder/STC_coords-v1.0.vo-dml.xml")
def ivoaLocation = new URL("$voluteFolder/ivoa/vo-dml/IVOA-v1.0.vo-dml.xml")
dmInstance {
model(vodmlURL: coordsLocation)
model(vodmlURL: ivoaLocation)
instance(id: "_CHIP_FRAME", type: "coords:SpaceFrame") {
instance role: "spaceRefFrame", value: "CUSTOM"
instance(role: "refPosition", type: "coords:StdRefLocation") {
instance role: "position", value: "TOPOCENTER"
}
}
instance(type: "coords:CoordSpace") {
instance(id: "_CHIP_X_AXIS", role: "axis", type: "coords:ContinuousAxis") {
instance role: "name", value: "chipx"
instance role: "domainMin", value: -0.5
instance role: "domainMax", value: 1024.5
instance role: "cyclic", value: "FALSE"
}
instance(id: "_CHIP_Y_AXIS", role: "axis", type: "coords:ContinuousAxis") {
instance role: "name", value: "chipy"
instance role: "domainMin", value: -0.5
instance role: "domainMax", value: 1024.5
instance role: "cyclic", value: "FALSE"
}
}
instance(type: "coords:CompositeCoord2D") {
instance(role: "cmpt", type: "coords:PhysicalCoordValue") {
instance role: "cval", value: 784.5419
reference(role: "axis") {
idref "_CHIP_X_AXIS"
}
}
instance(role: "cmpt", type: "coords:PhysicalCoordValue") {
instance role: "cval", value: 203.4455
reference(role: "axis") {
idref "_CHIP_Y_AXIS"
}
}
reference(role: "frame") {
idref "_SPACE_FRAME"
}
}
}
VOTable
File: /examples/coords/current/instances/space-gen-chip.vot.xml
<?xml version="1.0" encoding="UTF-8"?><VOTABLE xmlns="http://www.ivoa.net/xml/VOTable/v1.4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<VODML>
<MODEL>
<NAME>coords</NAME>
<URL>file:../models/STC_coords-v1.0.vo-dml.xml</URL>
</MODEL>
<MODEL>
<NAME>ivoa</NAME>
<URL>https://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/models//ivoa/vo-dml/IVOA-v1.0.vo-dml.xml</URL>
</MODEL>
<GLOBALS>
<INSTANCE dmtype="coords:SpaceFrame" ID="_CHIP_FRAME">
<ATTRIBUTE dmrole="coords:SpaceFrame.spaceRefFrame">
<LITERAL value="CUSTOM" dmtype="ivoa:string"/>
</ATTRIBUTE>
<ATTRIBUTE dmrole="coords:SpaceFrame.refPosition">
<INSTANCE dmtype="coords:StdRefLocation">
<ATTRIBUTE dmrole="coords:StdRefLocation.position">
<LITERAL value="TOPOCENTER" dmtype="ivoa:string"/>
</ATTRIBUTE>
</INSTANCE>
</ATTRIBUTE>
</INSTANCE>
<INSTANCE dmtype="coords:CoordSpace">
<COMPOSITION dmrole="coords:CoordSpace.axis">
<INSTANCE dmtype="coords:ContinuousAxis" ID="_CHIP_X_AXIS">
<ATTRIBUTE dmrole="coords:Axis.name">
<LITERAL value="chipx" dmtype="ivoa:string"/>
</ATTRIBUTE>
<ATTRIBUTE dmrole="coords:ContinuousAxis.domainMin">
<LITERAL value="-0.5" dmtype="ivoa:Quantity"/>
</ATTRIBUTE>
<ATTRIBUTE dmrole="coords:ContinuousAxis.domainMax">
<LITERAL value="1024.5" dmtype="ivoa:Quantity"/>
</ATTRIBUTE>
<ATTRIBUTE dmrole="coords:ContinuousAxis.cyclic">
<LITERAL value="FALSE" dmtype="ivoa:boolean"/>
</ATTRIBUTE>
</INSTANCE>
<INSTANCE dmtype="coords:ContinuousAxis" ID="_CHIP_Y_AXIS">
<ATTRIBUTE dmrole="coords:Axis.name">
<LITERAL value="chipy" dmtype="ivoa:string"/>
</ATTRIBUTE>
<ATTRIBUTE dmrole="coords:ContinuousAxis.domainMin">
<LITERAL value="-0.5" dmtype="ivoa:Quantity"/>
</ATTRIBUTE>
<ATTRIBUTE dmrole="coords:ContinuousAxis.domainMax">
<LITERAL value="1024.5" dmtype="ivoa:Quantity"/>
</ATTRIBUTE>
<ATTRIBUTE dmrole="coords:ContinuousAxis.cyclic">
<LITERAL value="FALSE" dmtype="ivoa:boolean"/>
</ATTRIBUTE>
</INSTANCE>
</COMPOSITION>
</INSTANCE>
<INSTANCE dmtype="coords:CompositeCoord2D">
<ATTRIBUTE dmrole="coords:CompositeCoordinate.cmpt">
<INSTANCE dmtype="coords:PhysicalCoordValue">
<ATTRIBUTE dmrole="coords:PhysicalCoordValue.cval">
<LITERAL value="784.5419" dmtype="ivoa:Quantity"/>
</ATTRIBUTE>
<REFERENCE dmrole="coords:GenericCoordValue.axis">
<IDREF>_CHIP_X_AXIS</IDREF>
</REFERENCE>
</INSTANCE>
<INSTANCE dmtype="coords:PhysicalCoordValue">
<ATTRIBUTE dmrole="coords:PhysicalCoordValue.cval">
<LITERAL value="203.4455" dmtype="ivoa:Quantity"/>
</ATTRIBUTE>
<REFERENCE dmrole="coords:GenericCoordValue.axis">
<IDREF>_CHIP_Y_AXIS</IDREF>
</REFERENCE>
</INSTANCE>
</ATTRIBUTE>
<REFERENCE dmrole="coords:Coordinate.frame">
<IDREF>_SPACE_FRAME</IDREF>
</REFERENCE>
</INSTANCE>
</GLOBALS>
</VODML>
<RESOURCE ID="EMPTY"/>
</VOTABLE>
Binned/Binned
DSL
File: /examples/coords/current/instances/binned-axis.jovial
def modelsFolder = "file:../models"
def voluteFolder = "https://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/models/"
def coordsLocation = new URL("$modelsFolder/STC_coords-v1.0.vo-dml.xml")
def ivoaLocation = new URL("$voluteFolder/ivoa/vo-dml/IVOA-v1.0.vo-dml.xml")
dmInstance {
model(vodmlURL: coordsLocation)
model(vodmlURL: ivoaLocation)
instance(type: "coords:CoordSpace") {
instance(id: "_PHA_AXIS", role: "axis", type: "coords:BinnedAxis") {
instance role: "name", value: "pha"
instance role: "length", value: 36855
}
}
instance(type: "coords:BinnedCoordValue") {
instance role: "cval", value: 3572
reference(role: "axis") {
idref "_PHA_AXIS"
}
}
}
VOTable
File: /examples/coords/current/instances/binned-axis.vot.xml
<?xml version="1.0" encoding="UTF-8"?><VOTABLE xmlns="http://www.ivoa.net/xml/VOTable/v1.4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<VODML>
<MODEL>
<NAME>coords</NAME>
<URL>file:../models/STC_coords-v1.0.vo-dml.xml</URL>
</MODEL>
<MODEL>
<NAME>ivoa</NAME>
<URL>https://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/models//ivoa/vo-dml/IVOA-v1.0.vo-dml.xml</URL>
</MODEL>
<GLOBALS>
<INSTANCE dmtype="coords:CoordSpace">
<COMPOSITION dmrole="coords:CoordSpace.axis">
<INSTANCE dmtype="coords:BinnedAxis" ID="_PHA_AXIS">
<ATTRIBUTE dmrole="coords:Axis.name">
<LITERAL value="pha" dmtype="ivoa:string"/>
</ATTRIBUTE>
<ATTRIBUTE dmrole="coords:BinnedAxis.length">
<LITERAL value="36855" dmtype="ivoa:nonnegativeInteger"/>
</ATTRIBUTE>
</INSTANCE>
</COMPOSITION>
</INSTANCE>
<INSTANCE dmtype="coords:BinnedCoordValue">
<ATTRIBUTE dmrole="coords:BinnedCoordValue.cval">
<LITERAL value="3572" dmtype="ivoa:integer"/>
</ATTRIBUTE>
<REFERENCE dmrole="coords:GenericCoordValue.axis">
<IDREF>_PHA_AXIS</IDREF>
</REFERENCE>
</INSTANCE>
</GLOBALS>
</VODML>
<RESOURCE ID="EMPTY"/>
</VOTABLE>
Discrete (Polarization)
DSL
File: /examples/coords/current/instances/discrete-axis.jovial
def modelsFolder = "file:../models"
def voluteFolder = "https://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/models/"
def coordsLocation = new URL("$modelsFolder/STC_coords-v1.0.vo-dml.xml")
def ivoaLocation = new URL("$voluteFolder/ivoa/vo-dml/IVOA-v1.0.vo-dml.xml")
dmInstance {
model(vodmlURL: coordsLocation)
model(vodmlURL: ivoaLocation)
instance(type: "coords:CoordSpace") {
instance(id: "_POLARIZATION_AXIS", role: "axis", type: "coords:DiscreteSetAxis") {
instance role: "name", value: "polarization"
}
}
instance(type: "coords:PolStokes") {
instance role: "cval", value: "PolStokesEnum.I"
reference(role: "axis") {
idref "_POLARIZATION_AXIS"
}
}
}
VOTable
File: /examples/coords/current/instances/discrete-axis.vot.xml
<?xml version="1.0" encoding="UTF-8"?><VOTABLE xmlns="http://www.ivoa.net/xml/VOTable/v1.4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<VODML>
<MODEL>
<NAME>coords</NAME>
<URL>file:../models/STC_coords-v1.0.vo-dml.xml</URL>
</MODEL>
<MODEL>
<NAME>ivoa</NAME>
<URL>https://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/models//ivoa/vo-dml/IVOA-v1.0.vo-dml.xml</URL>
</MODEL>
<GLOBALS>
<INSTANCE dmtype="coords:CoordSpace">
<COMPOSITION dmrole="coords:CoordSpace.axis">
<INSTANCE dmtype="coords:DiscreteSetAxis" ID="_POLARIZATION_AXIS">
<ATTRIBUTE dmrole="coords:Axis.name">
<LITERAL value="polarization" dmtype="ivoa:string"/>
</ATTRIBUTE>
</INSTANCE>
</COMPOSITION>
</INSTANCE>
<INSTANCE dmtype="coords:PolStokes">
<ATTRIBUTE dmrole="coords:PolStokes.cval">
<LITERAL value="PolStokesEnum.I" dmtype="coords:PolStokesEnum"/>
</ATTRIBUTE>
<REFERENCE dmrole="coords:GenericCoordValue.axis">
<IDREF>_POLARIZATION_AXIS</IDREF>
</REFERENCE>
</INSTANCE>
</GLOBALS>
</VODML>
<RESOURCE ID="EMPTY"/>
</VOTABLE>
Pixel Coordinates
DSL
File: /examples/coords/current/instances/pixel-coordinates.jovial
def modelsFolder = "file:../models"
def voluteFolder = "https://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/models/"
def coordsLocation = new URL("$modelsFolder/STC_coords-v1.0.vo-dml.xml")
def ivoaLocation = new URL("$voluteFolder/ivoa/vo-dml/IVOA-v1.0.vo-dml.xml")
dmInstance {
model(vodmlURL: coordsLocation)
model(vodmlURL: ivoaLocation)
instance(type: "coords:PixelCoordSystem") {
instance(role:"pixelSpace", type: "coords:PixelSpace") {
instance(id: "_1", role: "axis", type: "coords:BinnedAxis") {
instance role: "name", value: "#1"
instance role: "length", value: 512
}
instance(id: "_2", role: "axis", type: "coords:BinnedAxis") {
instance role: "name", value: "#2"
instance role: "length", value: 512
}
instance(id: "_3", role: "axis", type: "coords:BinnedAxis") {
instance role: "name", value: "#3"
instance role: "length", value: 26
}
instance(id: "_4", role: "axis", type: "coords:BinnedAxis") {
instance role: "name", value: "#4"
instance role: "length", value: 1
}
}
}
}
VOTable
File: /examples/coords/current/instances/pixel-coordinates.vot.xml
<?xml version="1.0" encoding="UTF-8"?><VOTABLE xmlns="http://www.ivoa.net/xml/VOTable/v1.4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<VODML>
<MODEL>
<NAME>coords</NAME>
<URL>file:../models/STC_coords-v1.0.vo-dml.xml</URL>
</MODEL>
<MODEL>
<NAME>ivoa</NAME>
<URL>https://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/models//ivoa/vo-dml/IVOA-v1.0.vo-dml.xml</URL>
</MODEL>
<GLOBALS>
<INSTANCE dmtype="coords:PixelCoordSystem">
<COMPOSITION dmrole="coords:PixelCoordSystem.pixelSpace">
<INSTANCE dmtype="coords:PixelSpace">
<COMPOSITION dmrole="coords:CoordSpace.axis">
<INSTANCE dmtype="coords:BinnedAxis" ID="_1">
<ATTRIBUTE dmrole="coords:Axis.name">
<LITERAL value="#1" dmtype="ivoa:string"/>
</ATTRIBUTE>
<ATTRIBUTE dmrole="coords:BinnedAxis.length">
<LITERAL value="512" dmtype="ivoa:nonnegativeInteger"/>
</ATTRIBUTE>
</INSTANCE>
<INSTANCE dmtype="coords:BinnedAxis" ID="_2">
<ATTRIBUTE dmrole="coords:Axis.name">
<LITERAL value="#2" dmtype="ivoa:string"/>
</ATTRIBUTE>
<ATTRIBUTE dmrole="coords:BinnedAxis.length">
<LITERAL value="512" dmtype="ivoa:nonnegativeInteger"/>
</ATTRIBUTE>
</INSTANCE>
<INSTANCE dmtype="coords:BinnedAxis" ID="_3">
<ATTRIBUTE dmrole="coords:Axis.name">
<LITERAL value="#3" dmtype="ivoa:string"/>
</ATTRIBUTE>
<ATTRIBUTE dmrole="coords:BinnedAxis.length">
<LITERAL value="26" dmtype="ivoa:nonnegativeInteger"/>
</ATTRIBUTE>
</INSTANCE>
<INSTANCE dmtype="coords:BinnedAxis" ID="_4">
<ATTRIBUTE dmrole="coords:Axis.name">
<LITERAL value="#4" dmtype="ivoa:string"/>
</ATTRIBUTE>
<ATTRIBUTE dmrole="coords:BinnedAxis.length">
<LITERAL value="1" dmtype="ivoa:nonnegativeInteger"/>
</ATTRIBUTE>
</INSTANCE>
</COMPOSITION>
</INSTANCE>
</COMPOSITION>
</INSTANCE>
</GLOBALS>
</VODML>
<RESOURCE ID="EMPTY"/>
</VOTABLE>