/[volute]/trunk/projects/dm/STC/Trans/vo-dml/Trans_v1.0.xsd
ViewVC logotype

Contents of /trunk/projects/dm/STC/Trans/vo-dml/Trans_v1.0.xsd

Parent Directory Parent Directory | Revision Log Revision Log


Revision 5762 - (show annotations)
Mon Mar 30 20:36:12 2020 UTC (5 months, 3 weeks ago) by mdittmar
File MIME type: application/xml
File size: 67916 byte(s)
update schema to latest
1 <?xml version="1.0" encoding="UTF-8"?>
2 <xsd:schema xmlns:vo-dml="http://www.ivoa.net/xml/VODML/v1"
3 xmlns:vodml-base="http://www.ivoa.net/xml/vo-dml/xsd/base/v0.1"
4 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
5 xmlns:trans="http://ivoa.net/dm/models/vo-dml/xsd/trans"
6 xmlns:ivoa="http://ivoa.net/dm/models/vo-dml/xsd/ivoa"
7 xmlns:coords="http://ivoa.net/dm/models/vo-dml/xsd/coords"
8 targetNamespace="http://ivoa.net/dm/models/vo-dml/xsd/trans">
9 <xsd:import namespace="http://www.ivoa.net/xml/vo-dml/xsd/base/v0.1"
10 schemaLocation="http://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/xsd/vodml-base.xsd"/>
11 <xsd:import namespace="http://ivoa.net/dm/models/vo-dml/xsd/ivoa"
12 schemaLocation="http://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/models/ivoa/vo-dml/IVOA.xsd"/>
13 <xsd:import namespace="http://ivoa.net/dm/models/vo-dml/xsd/coords"
14 schemaLocation="http://volute.g-vo.org/svn/trunk/projects/dm/STC/Coords/vo-dml/Coords_v1.0.xsd"/>
15 <xsd:complexType name="Mapping" abstract="true">
16 <xsd:annotation>
17 <xsd:documentation>A Mapping instance describes the relation from one coordinate system to another. The design of this model supports specifications from very simple relations to arbitrarily complex relations built from a set of component maps. Since not every step of a mapping sequence will have a formally defined coordinate system, we separate these features, such that the Mapping provides the path, and the TransformSet associates a Mapping with its source and target coordinate systems.
18
19 A mapping can always contain enough information to support both the forward and inverse transform operations. Many mappings, such as shift, rotation, and many matrix instances, have a natural inverse, and both directions can be supported by a single set of parameters. Others, like polynomial, do not have a natural inverse. For these, a BiDirectional mapping can be used to assign a different mapping for each direction.
20
21 Mappings MUST always be constructed so that the forward transform is in the direction FROM the source coordinate system (A) TO the target coordinate system (B). If the content, for whatever reason, describes the inverse path (from B to A), the 'invert' flag MUST be set to True.
22
23 We note that while the Mapping class supports the specification of bi-directional paths between coordinate systems, users are not required to do so. There are many cases where a only single direction is required, and for those, only a single direction need be specified.
24 </xsd:documentation>
25 <xsd:appinfo>
26 <vodml-ref>trans:Mapping</vodml-ref>
27 </xsd:appinfo>
28 </xsd:annotation>
29 <xsd:complexContent>
30 <xsd:extension base="vodml-base:VODMLObject">
31 <xsd:sequence>
32 <xsd:element name="invert" type="xsd:boolean" minOccurs="0" maxOccurs="1">
33 <xsd:annotation>
34 <xsd:documentation>Boolean flag indicating that the inverse operation should be applied. If missing, it is assumed to be "False".
35
36 For many operations, the inverse transformation can be directly derived from the forward transform. For instance, the inverse of a transform that simply adds a constant to each input is a transform of the same type, with a negated constant. However, there are potentially operations for which this cannot be done. For instance, a transform that maps 3D Cartesian coodinates to spherical coordinates cannot be re-written to represent its inverse. This flag indicates that it should be used in its inverse sense.
37
38 In addition, the invert flag allows a complex compound transformation to be be inverted simply by toggling its invert flag. Without such a flag each component would need to be re-written to represent its inverse (if possible), and the order of serial transformations would need to be reversed - a much more complex and error prone process.
39 </xsd:documentation>
40 <xsd:appinfo>
41 <vodml-ref>trans:Mapping.invert</vodml-ref>
42 </xsd:appinfo>
43 </xsd:annotation>
44 </xsd:element>
45 </xsd:sequence>
46 </xsd:extension>
47 </xsd:complexContent>
48 </xsd:complexType>
49
50 <xsd:complexType name="CompoundMap" abstract="true">
51 <xsd:annotation>
52 <xsd:documentation>Abstract class to facilitate the combination of Mappings in various ways. Since they are themselves mappings, they can be used as a components in other compound mappings to create arbitrarily complex transform expressions.
53 </xsd:documentation>
54 <xsd:appinfo>
55 <vodml-ref>trans:CompoundMap</vodml-ref>
56 </xsd:appinfo>
57 </xsd:annotation>
58 <xsd:complexContent>
59 <xsd:extension base="trans:Mapping">
60 <xsd:sequence>
61 <xsd:element name="cptMap" type="trans:MapRef" minOccurs="1" maxOccurs="unbounded"/>
62 </xsd:sequence>
63 </xsd:extension>
64 </xsd:complexContent>
65 </xsd:complexType>
66
67 <xsd:complexType name="ComposeMap">
68 <xsd:annotation>
69 <xsd:documentation>Combines the component mappings in sequence. This allows the building of multi-stage transforms such as a Matrix operation followed by a WCS Projection. When the invert flag is 'True', the forward operation (from A to B) is defined by the inverse of the content, iterating the component list in reverse order, executing the inverse operation of each component.
70 </xsd:documentation>
71 <xsd:appinfo>
72 <vodml-ref>trans:ComposeMap</vodml-ref>
73 </xsd:appinfo>
74 </xsd:annotation>
75 <xsd:complexContent>
76 <xsd:extension base="trans:CompoundMap"/>
77 </xsd:complexContent>
78 </xsd:complexType>
79
80 <xsd:complexType name="ConcatenateMap">
81 <xsd:annotation>
82 <xsd:documentation>Combines the component mappings in parallel. This enables the building of a mapping which covers the full dimension space of the input. Axes are distributed to the component mappings in order. For example, to perform a shift on a 2-dimensional coordinate (x,y), one would join two Shift maps giving the offset in x and y respectively.
83 When the 'invert' flag is True, the forward operation (from A to B) is defined by applying the inverse of the component mappings.</xsd:documentation>
84 <xsd:appinfo>
85 <vodml-ref>trans:ConcatenateMap</vodml-ref>
86 </xsd:appinfo>
87 </xsd:annotation>
88 <xsd:complexContent>
89 <xsd:extension base="trans:CompoundMap"/>
90 </xsd:complexContent>
91 </xsd:complexType>
92
93 <xsd:complexType name="Permute">
94 <xsd:annotation>
95 <xsd:documentation>Permute the order and possibly number of dimensions between operations. This operation facilitates the workflow through the operation sequence. It is comprised of an ordered axismap list defining the output axis sequence in terms of the source (input) axes. It supports the reorder, duplication, and dropping of dimensions.
96 Reorder Example: We have a 3-dimensional coordinate (x,y,z) and wish to perform a 2-dimensional transform on the (x,z) plane. Define a Permute operation to reorder the axes from (x,y,z) to (y,x,z) using an axismap list specifying the new axis order, [2,1,3]. The results feed into the next step ( 1D + 2D operations ).
97 Duplicate Example: We have 2-dimensional coordinate (x,y) feeding two Polynomial2D operations to form (x',y'). Define a Permute operation with axismap list specifying sourceAxis set [1,2,1,2]. The result feeds into the next step ( Polynomial2D + Polynomial2D operations).
98 Drop Example: We have a 5-dimensional input feeding into a 3x3 Matrix operation. Define a Permute operation selecting the relevant axis set [1,3,5], the remaining axes, [2,4], are dropped.
99 Add Example: We have a 2-dimensional operation feeding into axes [1,3] of a 3-dimensional operation. Define a Permute operation with numSourceAxes=2; and sourceAxis set [1,0,2] where output axis 2 also specifies the fixed seed value.
100 </xsd:documentation>
101 <xsd:appinfo>
102 <vodml-ref>trans:Permute</vodml-ref>
103 </xsd:appinfo>
104 </xsd:annotation>
105 <xsd:complexContent>
106 <xsd:extension base="trans:Mapping">
107 <xsd:sequence>
108 <xsd:element name="numSourceAxes" type="xsd:nonNegativeInteger" minOccurs="1" maxOccurs="1">
109 <xsd:annotation>
110 <xsd:documentation>The number of input axes. Used to verify dimensional coverage in forward and inverse directions. For example, numSourceAxes=4 with axismap=[1,3] indicates that axes [2,4] have been dropped.
111 </xsd:documentation>
112 <xsd:appinfo>
113 <vodml-ref>trans:Permute.numSourceAxes</vodml-ref>
114 </xsd:appinfo>
115 </xsd:annotation>
116 </xsd:element>
117 <xsd:element name="axismap" type="trans:PermuteAxis" minOccurs="0" maxOccurs="unbounded"/>
118 </xsd:sequence>
119 </xsd:extension>
120 </xsd:complexContent>
121 </xsd:complexType>
122
123 <xsd:complexType name="PermuteAxis">
124 <xsd:annotation>
125 <xsd:documentation>Entry for the Permute operation, this object defines the mapping of input dimension to output dimension. The output dimension is determined from its order in the axismap list.</xsd:documentation>
126 <xsd:appinfo>
127 <vodml-ref>trans:PermuteAxis</vodml-ref>
128 </xsd:appinfo>
129 </xsd:annotation>
130 <xsd:complexContent>
131 <xsd:extension base="vodml-base:VODMLObject">
132 <xsd:sequence>
133 <xsd:element name="sourceAxis" type="xsd:nonNegativeInteger" minOccurs="1" maxOccurs="1">
134 <xsd:annotation>
135 <xsd:documentation>Source (input) dimension number, 1 based.</xsd:documentation>
136 <xsd:appinfo>
137 <vodml-ref>trans:PermuteAxis.sourceAxis</vodml-ref>
138 </xsd:appinfo>
139 </xsd:annotation>
140 </xsd:element>
141 <xsd:element name="seedValue" type="xsd:float" minOccurs="0" maxOccurs="1">
142 <xsd:annotation>
143 <xsd:documentation>Value to assign for the new dimensional axis.</xsd:documentation>
144 <xsd:appinfo>
145 <vodml-ref>trans:PermuteAxis.seedValue</vodml-ref>
146 </xsd:appinfo>
147 </xsd:annotation>
148 </xsd:element>
149 </xsd:sequence>
150 </xsd:extension>
151 </xsd:complexContent>
152 </xsd:complexType>
153
154 <xsd:complexType name="Unit">
155 <xsd:annotation>
156 <xsd:documentation>A 1-Dimensional operation which makes no change to the inputs. ( X' = X )
157 </xsd:documentation>
158 <xsd:appinfo>
159 <vodml-ref>trans:Unit</vodml-ref>
160 </xsd:appinfo>
161 </xsd:annotation>
162 <xsd:complexContent>
163 <xsd:extension base="trans:Mapping"/>
164 </xsd:complexContent>
165 </xsd:complexType>
166
167 <xsd:complexType name="Shift">
168 <xsd:annotation>
169 <xsd:documentation>A 1-Dimensional operation defining a simple offset. ( X' = X + offset )
170 </xsd:documentation>
171 <xsd:appinfo>
172 <vodml-ref>trans:Shift</vodml-ref>
173 </xsd:appinfo>
174 </xsd:annotation>
175 <xsd:complexContent>
176 <xsd:extension base="trans:Mapping">
177 <xsd:sequence>
178 <xsd:element name="offset" type="xsd:float" minOccurs="1" maxOccurs="1">
179 <xsd:annotation>
180 <xsd:documentation>The amount of offset to apply.
181 </xsd:documentation>
182 <xsd:appinfo>
183 <vodml-ref>trans:Shift.offset</vodml-ref>
184 </xsd:appinfo>
185 </xsd:annotation>
186 </xsd:element>
187 </xsd:sequence>
188 </xsd:extension>
189 </xsd:complexContent>
190 </xsd:complexType>
191
192 <xsd:complexType name="Scale">
193 <xsd:annotation>
194 <xsd:documentation>A 1-Dimensional operator for simple scaling. ( X' = factor*X )
195 </xsd:documentation>
196 <xsd:appinfo>
197 <vodml-ref>trans:Scale</vodml-ref>
198 </xsd:appinfo>
199 </xsd:annotation>
200 <xsd:complexContent>
201 <xsd:extension base="trans:Mapping">
202 <xsd:sequence>
203 <xsd:element name="factor" type="xsd:float" minOccurs="1" maxOccurs="1">
204 <xsd:annotation>
205 <xsd:documentation>The scale factor.
206 </xsd:documentation>
207 <xsd:appinfo>
208 <vodml-ref>trans:Scale.factor</vodml-ref>
209 </xsd:appinfo>
210 </xsd:annotation>
211 </xsd:element>
212 </xsd:sequence>
213 </xsd:extension>
214 </xsd:complexContent>
215 </xsd:complexType>
216
217 <xsd:complexType name="Rotate2D">
218 <xsd:annotation>
219 <xsd:documentation>A 2-Dimensional rotation operation.
220 </xsd:documentation>
221 <xsd:appinfo>
222 <vodml-ref>trans:Rotate2D</vodml-ref>
223 </xsd:appinfo>
224 </xsd:annotation>
225 <xsd:complexContent>
226 <xsd:extension base="trans:Mapping">
227 <xsd:sequence>
228 <xsd:element name="angle" type="xsd:float" minOccurs="1" maxOccurs="1">
229 <xsd:annotation>
230 <xsd:documentation>Rotation angle, in degrees, from the positive direction of axis 1 toward the positive direction of axis 2.
231 </xsd:documentation>
232 <xsd:appinfo>
233 <vodml-ref>trans:Rotate2D.angle</vodml-ref>
234 </xsd:appinfo>
235 </xsd:annotation>
236 </xsd:element>
237 </xsd:sequence>
238 </xsd:extension>
239 </xsd:complexContent>
240 </xsd:complexType>
241
242 <xsd:complexType name="EulerRotation">
243 <xsd:annotation>
244 <xsd:documentation>Defines a rotation operation in a 3-dimensional cartesian coordinate space, defined as a series of rotations about the native axes (x,y,z).
245 </xsd:documentation>
246 <xsd:appinfo>
247 <vodml-ref>trans:EulerRotation</vodml-ref>
248 </xsd:appinfo>
249 </xsd:annotation>
250 <xsd:complexContent>
251 <xsd:extension base="trans:Mapping">
252 <xsd:sequence>
253 <xsd:element name="eulerAngle" type="trans:EulerAngle" minOccurs="1" maxOccurs="unbounded"/>
254 </xsd:sequence>
255 </xsd:extension>
256 </xsd:complexContent>
257 </xsd:complexType>
258
259 <xsd:complexType name="EulerAngle">
260 <xsd:annotation>
261 <xsd:documentation>Angular rotation about a particular axis of a 3-dimensional cartesian coordinate space.
262 </xsd:documentation>
263 <xsd:appinfo>
264 <vodml-ref>trans:EulerAngle</vodml-ref>
265 </xsd:appinfo>
266 </xsd:annotation>
267 <xsd:complexContent>
268 <xsd:extension base="vodml-base:VODMLObject">
269 <xsd:sequence>
270 <xsd:element name="rotationAxis" type="xsd:string" minOccurs="1" maxOccurs="1">
271 <xsd:annotation>
272 <xsd:documentation>Identifies the axis of rotation. MUST be 'x', 'y', or 'z'
273 </xsd:documentation>
274 <xsd:appinfo>
275 <vodml-ref>trans:EulerAngle.rotationAxis</vodml-ref>
276 </xsd:appinfo>
277 </xsd:annotation>
278 </xsd:element>
279 <xsd:element name="angle" type="xsd:float" minOccurs="1" maxOccurs="1">
280 <xsd:annotation>
281 <xsd:documentation>Angle of rotation, in degrees. Angle sign follows the right-hand rule, where positive values indicate clockwise rotation (looking in +axis direction), negative values for counter-clockwise.
282 </xsd:documentation>
283 <xsd:appinfo>
284 <vodml-ref>trans:EulerAngle.angle</vodml-ref>
285 </xsd:appinfo>
286 </xsd:annotation>
287 </xsd:element>
288 </xsd:sequence>
289 </xsd:extension>
290 </xsd:complexContent>
291 </xsd:complexType>
292
293 <xsd:complexType name="Matrix">
294 <xsd:annotation>
295 <xsd:documentation>An M x N matrix operation. Each cell of the matrix is provided by a MatrixElement object. Missing elements should be considered to equal 0.
296 </xsd:documentation>
297 <xsd:appinfo>
298 <vodml-ref>trans:Matrix</vodml-ref>
299 </xsd:appinfo>
300 </xsd:annotation>
301 <xsd:complexContent>
302 <xsd:extension base="trans:Mapping">
303 <xsd:sequence>
304 <xsd:element name="M" type="xsd:nonNegativeInteger" minOccurs="1" maxOccurs="1">
305 <xsd:annotation>
306 <xsd:documentation>Number of rows in the matrix.
307 </xsd:documentation>
308 <xsd:appinfo>
309 <vodml-ref>trans:Matrix.M</vodml-ref>
310 </xsd:appinfo>
311 </xsd:annotation>
312 </xsd:element>
313 <xsd:element name="N" type="xsd:nonNegativeInteger" minOccurs="1" maxOccurs="1">
314 <xsd:annotation>
315 <xsd:documentation>Number of columns in the matrix.
316 </xsd:documentation>
317 <xsd:appinfo>
318 <vodml-ref>trans:Matrix.N</vodml-ref>
319 </xsd:appinfo>
320 </xsd:annotation>
321 </xsd:element>
322 <xsd:element name="element" type="trans:MatrixElement" minOccurs="0" maxOccurs="unbounded"/>
323 </xsd:sequence>
324 </xsd:extension>
325 </xsd:complexContent>
326 </xsd:complexType>
327
328 <xsd:complexType name="MatrixElement">
329 <xsd:annotation>
330 <xsd:documentation>The value of cell m,n in an M x N matrix.
331 </xsd:documentation>
332 <xsd:appinfo>
333 <vodml-ref>trans:MatrixElement</vodml-ref>
334 </xsd:appinfo>
335 </xsd:annotation>
336 <xsd:complexContent>
337 <xsd:extension base="vodml-base:VODMLObject">
338 <xsd:sequence>
339 <xsd:element name="m" type="xsd:nonNegativeInteger" minOccurs="1" maxOccurs="1">
340 <xsd:annotation>
341 <xsd:documentation>Matrix cell row number.
342 </xsd:documentation>
343 <xsd:appinfo>
344 <vodml-ref>trans:MatrixElement.m</vodml-ref>
345 </xsd:appinfo>
346 </xsd:annotation>
347 </xsd:element>
348 <xsd:element name="n" type="xsd:nonNegativeInteger" minOccurs="1" maxOccurs="1">
349 <xsd:annotation>
350 <xsd:documentation>Matrix cell column number.
351 </xsd:documentation>
352 <xsd:appinfo>
353 <vodml-ref>trans:MatrixElement.n</vodml-ref>
354 </xsd:appinfo>
355 </xsd:annotation>
356 </xsd:element>
357 <xsd:element name="value" type="xsd:float" minOccurs="1" maxOccurs="1">
358 <xsd:annotation>
359 <xsd:documentation>Matrix cell value.
360 </xsd:documentation>
361 <xsd:appinfo>
362 <vodml-ref>trans:MatrixElement.value</vodml-ref>
363 </xsd:appinfo>
364 </xsd:annotation>
365 </xsd:element>
366 </xsd:sequence>
367 </xsd:extension>
368 </xsd:complexContent>
369 </xsd:complexType>
370
371 <xsd:complexType name="Projection" abstract="true">
372 <xsd:annotation>
373 <xsd:documentation>Abstract head of World Coordinate System (WCS) projection operations. We do not attempt to define the operations here, but instead, provide extensions which support the transforms described in the FITS WCS papers II and III.
374 </xsd:documentation>
375 <xsd:appinfo>
376 <vodml-ref>trans:Projection</vodml-ref>
377 </xsd:appinfo>
378 </xsd:annotation>
379 <xsd:complexContent>
380 <xsd:extension base="trans:Mapping">
381 <xsd:sequence>
382 <xsd:element name="param" type="trans:ProjectionParam" minOccurs="0" maxOccurs="unbounded"/>
383 </xsd:sequence>
384 </xsd:extension>
385 </xsd:complexContent>
386 </xsd:complexType>
387
388 <xsd:complexType name="ProjectionParam">
389 <xsd:annotation>
390 <xsd:documentation>Simple parameter specification for WCS Projections. The parameter is modeled as a simple name/value pair. The details of expectations for the various projection algorithms is left to the WCS paper describing the algorithm.
391 </xsd:documentation>
392 <xsd:appinfo>
393 <vodml-ref>trans:ProjectionParam</vodml-ref>
394 </xsd:appinfo>
395 </xsd:annotation>
396 <xsd:complexContent>
397 <xsd:extension base="vodml-base:VODMLObject">
398 <xsd:sequence>
399 <xsd:element name="name" type="xsd:string" minOccurs="1" maxOccurs="1">
400 <xsd:annotation>
401 <xsd:documentation>The parameter name as described in the WCS papers for each operation type.
402 </xsd:documentation>
403 <xsd:appinfo>
404 <vodml-ref>trans:ProjectionParam.name</vodml-ref>
405 </xsd:appinfo>
406 </xsd:annotation>
407 </xsd:element>
408 <xsd:element name="value" type="xsd:float" minOccurs="1" maxOccurs="1">
409 <xsd:annotation>
410 <xsd:documentation>The value for the parameter.
411 </xsd:documentation>
412 <xsd:appinfo>
413 <vodml-ref>trans:ProjectionParam.value</vodml-ref>
414 </xsd:appinfo>
415 </xsd:annotation>
416 </xsd:element>
417 </xsd:sequence>
418 </xsd:extension>
419 </xsd:complexContent>
420 </xsd:complexType>
421
422 <xsd:complexType name="SkyProjection">
423 <xsd:annotation>
424 <xsd:documentation>This class corresponds to the Spherical Projection component of the FITS WCS paper II. As in the paper, this operation describes the mapping from the intermediate &amp;quot;Projection Plane&amp;quot; to the &amp;quot;Native Spherical&amp;quot; coordinate system. This model supports all defined projection types, where the appropriate code is specified in the algorithm attribute. All projection parameters are to be provided through the ProjectionParam list according to the descriptions given in the FITS WCS paper.
425 </xsd:documentation>
426 <xsd:appinfo>
427 <vodml-ref>trans:SkyProjection</vodml-ref>
428 </xsd:appinfo>
429 </xsd:annotation>
430 <xsd:complexContent>
431 <xsd:extension base="trans:Projection">
432 <xsd:sequence>
433 <xsd:element name="algorithm" type="trans:SkyProjectionType" minOccurs="1" maxOccurs="1">
434 <xsd:annotation>
435 <xsd:documentation>The projection algorithm to apply. The value MUST be taken from the enumeration of standard sky projection algorithms. Extracted from &amp;#39;ctype&amp;#39; in the FITS WCS representations.
436 </xsd:documentation>
437 <xsd:appinfo>
438 <vodml-ref>trans:SkyProjection.algorithm</vodml-ref>
439 </xsd:appinfo>
440 </xsd:annotation>
441 </xsd:element>
442 </xsd:sequence>
443 </xsd:extension>
444 </xsd:complexContent>
445 </xsd:complexType>
446
447 <xsd:complexType name="SkyProjRotate">
448 <xsd:annotation>
449 <xsd:documentation>This class extends SkyProjection to include the Spherical Rotation component of the FITS WCS paper II. This operation describes the mapping from the "Native Spherical" coordinate system to the "Celestial" coordinate system. The reference values are provided at the appropriate attribute, while all other parameters (e.g. LONPOLE, LATPOLE) are to be provided through the ProjectionParam list according to the descriptions given in the FITS WCS paper.
450 </xsd:documentation>
451 <xsd:appinfo>
452 <vodml-ref>trans:SkyProjRotate</vodml-ref>
453 </xsd:appinfo>
454 </xsd:annotation>
455 <xsd:complexContent>
456 <xsd:extension base="trans:SkyProjection">
457 <xsd:sequence>
458 <xsd:element name="referenceValue" type="xsd:float" minOccurs="2" maxOccurs="2">
459 <xsd:annotation>
460 <xsd:documentation>The target reference values in each dimension. Equivalent to 'crval' in FITS WCS representations.
461 </xsd:documentation>
462 <xsd:appinfo>
463 <vodml-ref>trans:SkyProjRotate.referenceValue</vodml-ref>
464 </xsd:appinfo>
465 </xsd:annotation>
466 </xsd:element>
467 </xsd:sequence>
468 </xsd:extension>
469 </xsd:complexContent>
470 </xsd:complexType>
471
472 <xsd:complexType name="SpectralProjection">
473 <xsd:annotation>
474 <xsd:documentation>This class represents a nonlinear one-dimensional spectral transform as detailed in the FITS WCS paper III.
475 </xsd:documentation>
476 <xsd:appinfo>
477 <vodml-ref>trans:SpectralProjection</vodml-ref>
478 </xsd:appinfo>
479 </xsd:annotation>
480 <xsd:complexContent>
481 <xsd:extension base="trans:Projection">
482 <xsd:sequence>
483 <xsd:element name="referenceValue" type="xsd:float" minOccurs="1" maxOccurs="1">
484 <xsd:annotation>
485 <xsd:documentation>The target reference value for the axis. Equivalent to 'crval' in FITS WCS representations.</xsd:documentation>
486 <xsd:appinfo>
487 <vodml-ref>trans:SpectralProjection.referenceValue</vodml-ref>
488 </xsd:appinfo>
489 </xsd:annotation>
490 </xsd:element>
491 <xsd:element name="algorithm" type="trans:SpectralProjectionType" minOccurs="1"
492 maxOccurs="1">
493 <xsd:annotation>
494 <xsd:documentation>The projection algorithm to apply. The value MUST be taken from the enumeration of non-linear spectral projection algorithms. Extracted from 'ctype' in FITS WCS representations.
495 </xsd:documentation>
496 <xsd:appinfo>
497 <vodml-ref>trans:SpectralProjection.algorithm</vodml-ref>
498 </xsd:appinfo>
499 </xsd:annotation>
500 </xsd:element>
501 <xsd:element name="coordType" type="trans:SpectralCoordType" minOccurs="1" maxOccurs="1">
502 <xsd:annotation>
503 <xsd:documentation>The resulting spectral coordinate type code. Values MUST be taken from the enumerated list of spectral coordinate types. Extracted from 'ctype' in FITS WCS representations.
504 </xsd:documentation>
505 <xsd:appinfo>
506 <vodml-ref>trans:SpectralProjection.coordType</vodml-ref>
507 </xsd:appinfo>
508 </xsd:annotation>
509 </xsd:element>
510 </xsd:sequence>
511 </xsd:extension>
512 </xsd:complexContent>
513 </xsd:complexType>
514
515 <xsd:complexType name="Polynomial" abstract="true">
516 <xsd:annotation>
517 <xsd:documentation>Abstract head of a family of Polynomial distortion operations.</xsd:documentation>
518 <xsd:appinfo>
519 <vodml-ref>trans:Polynomial</vodml-ref>
520 </xsd:appinfo>
521 </xsd:annotation>
522 <xsd:complexContent>
523 <xsd:extension base="trans:Mapping">
524 <xsd:sequence>
525 <xsd:element name="order" type="xsd:nonNegativeInteger" minOccurs="1" maxOccurs="1">
526 <xsd:annotation>
527 <xsd:documentation>The order, or degree, of the polynomial expression.
528 </xsd:documentation>
529 <xsd:appinfo>
530 <vodml-ref>trans:Polynomial.order</vodml-ref>
531 </xsd:appinfo>
532 </xsd:annotation>
533 </xsd:element>
534 </xsd:sequence>
535 </xsd:extension>
536 </xsd:complexContent>
537 </xsd:complexType>
538
539 <xsd:complexType name="Polynomial1D">
540 <xsd:annotation>
541 <xsd:documentation>A 1-Dimensional Polynomial transform represented by the expression: X' = SUM( Ci*X**i), i=0..order. Each term is provided by a PolyCoeff1D object. Missing terms are considered to have a coefficient of 0.0.</xsd:documentation>
542 <xsd:appinfo>
543 <vodml-ref>trans:Polynomial1D</vodml-ref>
544 </xsd:appinfo>
545 </xsd:annotation>
546 <xsd:complexContent>
547 <xsd:extension base="trans:Polynomial">
548 <xsd:sequence>
549 <xsd:element name="term" type="trans:PolyCoeff1D" minOccurs="1" maxOccurs="unbounded"/>
550 </xsd:sequence>
551 </xsd:extension>
552 </xsd:complexContent>
553 </xsd:complexType>
554
555 <xsd:complexType name="PolyCoeff1D">
556 <xsd:annotation>
557 <xsd:documentation>A term of the polynomial expression. This object provides the coefficient (c) and power (p) of the term, forming the expression c*X**p.
558 </xsd:documentation>
559 <xsd:appinfo>
560 <vodml-ref>trans:PolyCoeff1D</vodml-ref>
561 </xsd:appinfo>
562 </xsd:annotation>
563 <xsd:complexContent>
564 <xsd:extension base="vodml-base:VODMLObject">
565 <xsd:sequence>
566 <xsd:element name="coeff" type="xsd:float" minOccurs="1" maxOccurs="1">
567 <xsd:annotation>
568 <xsd:documentation>Multiplicitive coefficient of the term.
569 </xsd:documentation>
570 <xsd:appinfo>
571 <vodml-ref>trans:PolyCoeff1D.coeff</vodml-ref>
572 </xsd:appinfo>
573 </xsd:annotation>
574 </xsd:element>
575 <xsd:element name="power" type="xsd:nonNegativeInteger" minOccurs="1" maxOccurs="1">
576 <xsd:annotation>
577 <xsd:documentation>The power to raise the value for this term.
578 </xsd:documentation>
579 <xsd:appinfo>
580 <vodml-ref>trans:PolyCoeff1D.power</vodml-ref>
581 </xsd:appinfo>
582 </xsd:annotation>
583 </xsd:element>
584 </xsd:sequence>
585 </xsd:extension>
586 </xsd:complexContent>
587 </xsd:complexType>
588
589 <xsd:complexType name="Polynomial2D">
590 <xsd:annotation>
591 <xsd:documentation>A 2-Dimensional Polynomial transform represented by the expression: X' = SUMi,j( Cij*X**i*Y**j), i+j&lt;=order. Each term is provided by a PolyCoeff2D object. Missing terms are considered to have a coefficient of 0.0.
592 </xsd:documentation>
593 <xsd:appinfo>
594 <vodml-ref>trans:Polynomial2D</vodml-ref>
595 </xsd:appinfo>
596 </xsd:annotation>
597 <xsd:complexContent>
598 <xsd:extension base="trans:Polynomial">
599 <xsd:sequence>
600 <xsd:element name="term" type="trans:PolyCoeff2D" minOccurs="1" maxOccurs="unbounded"/>
601 </xsd:sequence>
602 </xsd:extension>
603 </xsd:complexContent>
604 </xsd:complexType>
605
606 <xsd:complexType name="PolyCoeff2D">
607 <xsd:annotation>
608 <xsd:documentation>A term of the polynomial expression. This object provides the coefficient (c) and power (p) of the term, forming the expression c*X**p[0]*Y**p[1].</xsd:documentation>
609 <xsd:appinfo>
610 <vodml-ref>trans:PolyCoeff2D</vodml-ref>
611 </xsd:appinfo>
612 </xsd:annotation>
613 <xsd:complexContent>
614 <xsd:extension base="vodml-base:VODMLObject">
615 <xsd:sequence>
616 <xsd:element name="coeff" type="xsd:float" minOccurs="1" maxOccurs="1">
617 <xsd:annotation>
618 <xsd:documentation>Multiplicitive coefficient of the term.
619 </xsd:documentation>
620 <xsd:appinfo>
621 <vodml-ref>trans:PolyCoeff2D.coeff</vodml-ref>
622 </xsd:appinfo>
623 </xsd:annotation>
624 </xsd:element>
625 <xsd:element name="power" type="xsd:nonNegativeInteger" minOccurs="2" maxOccurs="2">
626 <xsd:annotation>
627 <xsd:documentation>The power to raise the values for this term in each dimension.
628 </xsd:documentation>
629 <xsd:appinfo>
630 <vodml-ref>trans:PolyCoeff2D.power</vodml-ref>
631 </xsd:appinfo>
632 </xsd:annotation>
633 </xsd:element>
634 </xsd:sequence>
635 </xsd:extension>
636 </xsd:complexContent>
637 </xsd:complexType>
638
639 <xsd:complexType name="Lookup">
640 <xsd:annotation>
641 <xsd:documentation>Defines a lookup table operation. The Lookup is comprised of a series of value pairs (LookupEntry). All members of the series MUST be of the same type. Handling Enumerated data: A common usage of a Lookup operation is to map image pixel index to an enumeration, such as a Polarization state. This can be handled by two means: 1) Define a numeric equivalent for each enumeration literal, and use NumericEntry types. Casting to the corresponding literal occurs outside of the operation. 2) Your local model can define a LookupEntry extension which maps the native value directly the target EnumerationLiteral. The details of either approach for particular enumerations is considered outside the scope of this document.
642 </xsd:documentation>
643 <xsd:appinfo>
644 <vodml-ref>trans:Lookup</vodml-ref>
645 </xsd:appinfo>
646 </xsd:annotation>
647 <xsd:complexContent>
648 <xsd:extension base="trans:Mapping">
649 <xsd:sequence>
650 <xsd:element name="interpolation" type="trans:InterpolationMethod" minOccurs="0"
651 maxOccurs="1">
652 <xsd:annotation>
653 <xsd:documentation>Specifies the form of interpolation, if any, prescribed to be performed.
654 </xsd:documentation>
655 <xsd:appinfo>
656 <vodml-ref>trans:Lookup.interpolation</vodml-ref>
657 </xsd:appinfo>
658 </xsd:annotation>
659 </xsd:element>
660 <xsd:element name="bounds_error" type="xsd:boolean" minOccurs="0" maxOccurs="1">
661 <xsd:annotation>
662 <xsd:documentation>Flag to specify behaviour outside the lookup table data bounds. True indicates an error condition, False indicates that the associated "fill" entry should be returned. If no "fill" entry is provided, the value should be extrapolated.
663 </xsd:documentation>
664 <xsd:appinfo>
665 <vodml-ref>trans:Lookup.bounds_error</vodml-ref>
666 </xsd:appinfo>
667 </xsd:annotation>
668 </xsd:element>
669 <xsd:element name="entry" type="trans:LookupEntry" minOccurs="1" maxOccurs="unbounded"/>
670 </xsd:sequence>
671 </xsd:extension>
672 </xsd:complexContent>
673 </xsd:complexType>
674
675 <xsd:complexType name="LookupEntry" abstract="true">
676 <xsd:annotation>
677 <xsd:documentation>This is an abstract head of lookup table entry objects. Each entry provides a discrete translation of a 'native' value to the corresponding 'target' value.
678 </xsd:documentation>
679 <xsd:appinfo>
680 <vodml-ref>trans:LookupEntry</vodml-ref>
681 </xsd:appinfo>
682 </xsd:annotation>
683 <xsd:complexContent>
684 <xsd:extension base="vodml-base:VODMLObject">
685 <xsd:sequence>
686 <xsd:element name="fill" type="xsd:boolean" minOccurs="0" maxOccurs="1">
687 <xsd:annotation>
688 <xsd:documentation>When TRUE, the entry provides values to be used outside the Lookup table data domain. MUST only appear first or last in the sequence. If missing, it is considered to be FALSE.
689 </xsd:documentation>
690 <xsd:appinfo>
691 <vodml-ref>trans:LookupEntry.fill</vodml-ref>
692 </xsd:appinfo>
693 </xsd:annotation>
694 </xsd:element>
695 </xsd:sequence>
696 </xsd:extension>
697 </xsd:complexContent>
698 </xsd:complexType>
699
700 <xsd:complexType name="NumericEntry">
701 <xsd:annotation>
702 <xsd:documentation>A 1-Dimensional discrete mapping of numeric values.</xsd:documentation>
703 <xsd:appinfo>
704 <vodml-ref>trans:NumericEntry</vodml-ref>
705 </xsd:appinfo>
706 </xsd:annotation>
707 <xsd:complexContent>
708 <xsd:extension base="trans:LookupEntry">
709 <xsd:sequence>
710 <xsd:element name="nativeValue" type="xsd:float" minOccurs="1" maxOccurs="1">
711 <xsd:annotation>
712 <xsd:documentation>The native, or reference, value of the lookup entry.</xsd:documentation>
713 <xsd:appinfo>
714 <vodml-ref>trans:NumericEntry.nativeValue</vodml-ref>
715 </xsd:appinfo>
716 </xsd:annotation>
717 </xsd:element>
718 <xsd:element name="targetValue" type="xsd:float" minOccurs="1" maxOccurs="1">
719 <xsd:annotation>
720 <xsd:documentation>The target, or resulting, value of the lookup entry.
721 </xsd:documentation>
722 <xsd:appinfo>
723 <vodml-ref>trans:NumericEntry.targetValue</vodml-ref>
724 </xsd:appinfo>
725 </xsd:annotation>
726 </xsd:element>
727 </xsd:sequence>
728 </xsd:extension>
729 </xsd:complexContent>
730 </xsd:complexType>
731
732 <xsd:complexType name="NumericEntry2D">
733 <xsd:annotation>
734 <xsd:documentation>A 2-Dimensional discrete mapping of numeric values.
735 </xsd:documentation>
736 <xsd:appinfo>
737 <vodml-ref>trans:NumericEntry2D</vodml-ref>
738 </xsd:appinfo>
739 </xsd:annotation>
740 <xsd:complexContent>
741 <xsd:extension base="trans:LookupEntry">
742 <xsd:sequence>
743 <xsd:element name="nativeValue" type="xsd:float" minOccurs="2" maxOccurs="2">
744 <xsd:annotation>
745 <xsd:documentation>The native, or reference, value of the lookup entry.
746 </xsd:documentation>
747 <xsd:appinfo>
748 <vodml-ref>trans:NumericEntry2D.nativeValue</vodml-ref>
749 </xsd:appinfo>
750 </xsd:annotation>
751 </xsd:element>
752 <xsd:element name="targetValue" type="xsd:float" minOccurs="2" maxOccurs="2">
753 <xsd:annotation>
754 <xsd:documentation>The target, or resulting, value of the lookup entry.
755 </xsd:documentation>
756 <xsd:appinfo>
757 <vodml-ref>trans:NumericEntry2D.targetValue</vodml-ref>
758 </xsd:appinfo>
759 </xsd:annotation>
760 </xsd:element>
761 </xsd:sequence>
762 </xsd:extension>
763 </xsd:complexContent>
764 </xsd:complexType>
765
766 <xsd:complexType name="StringEntry">
767 <xsd:annotation>
768 <xsd:documentation>A 1-Dimensional discrete mapping of an integer counter to a corresponding string form. Since the result is non-numeric, a Lookup operation with StringEntry-s can only be used at the end of a Transform sequence.
769 </xsd:documentation>
770 <xsd:appinfo>
771 <vodml-ref>trans:StringEntry</vodml-ref>
772 </xsd:appinfo>
773 </xsd:annotation>
774 <xsd:complexContent>
775 <xsd:extension base="trans:LookupEntry">
776 <xsd:sequence>
777 <xsd:element name="nativeValue" type="xsd:int" minOccurs="1" maxOccurs="1">
778 <xsd:annotation>
779 <xsd:documentation>The native, or reference, value of the lookup entry.
780 </xsd:documentation>
781 <xsd:appinfo>
782 <vodml-ref>trans:StringEntry.nativeValue</vodml-ref>
783 </xsd:appinfo>
784 </xsd:annotation>
785 </xsd:element>
786 <xsd:element name="targetValue" type="xsd:string" minOccurs="1" maxOccurs="1">
787 <xsd:annotation>
788 <xsd:documentation>The target, or resulting, value of the lookup entry.</xsd:documentation>
789 <xsd:appinfo>
790 <vodml-ref>trans:StringEntry.targetValue</vodml-ref>
791 </xsd:appinfo>
792 </xsd:annotation>
793 </xsd:element>
794 </xsd:sequence>
795 </xsd:extension>
796 </xsd:complexContent>
797 </xsd:complexType>
798
799 <xsd:complexType name="TransNode">
800 <xsd:annotation>
801 <xsd:documentation>TransNode is a container object relating a parent coordinate system and a target coordinate system (that of the node) with the mapping from the parent to target coordinate systems. A base node will only have the target coordinate system specified. ie: the base coordinate system. The coordinate systems themselves are described in the IVOA "Astronomical Coordinates and Coordinate Systems" model. </xsd:documentation>
802 <xsd:appinfo>
803 <vodml-ref>trans:TransNode</vodml-ref>
804 </xsd:appinfo>
805 </xsd:annotation>
806 <xsd:complexContent>
807 <xsd:extension base="vodml-base:VODMLObject">
808 <xsd:sequence>
809 <xsd:element name="parent" type="vodml-base:VODMLReference" minOccurs="0" maxOccurs="1">
810 <xsd:annotation>
811 <xsd:documentation>This identifies the source coordinate system node. The associated mapping describes the transformation from this parent system to the target system of this node. Will be NULL for base nodes.</xsd:documentation>
812 <xsd:appinfo>
813 <vodml-ref>trans:TransNode.parent</vodml-ref>
814 </xsd:appinfo>
815 </xsd:annotation>
816 </xsd:element>
817 <xsd:element name="target" type="vodml-base:VODMLReference" minOccurs="1" maxOccurs="1">
818 <xsd:annotation>
819 <xsd:documentation>This identifies the target coordinate system node. It is the represenitive coordinate system for this node. The associated mapping describes the transformation from the parent system of this node to this target system.</xsd:documentation>
820 <xsd:appinfo>
821 <vodml-ref>trans:TransNode.target</vodml-ref>
822 </xsd:appinfo>
823 </xsd:annotation>
824 </xsd:element>
825 <xsd:element name="mapping" type="vodml-base:VODMLReference" minOccurs="0" maxOccurs="1">
826 <xsd:annotation>
827 <xsd:documentation>This is a reference to the mapping relating the parent coordinate system to the target system.</xsd:documentation>
828 <xsd:appinfo>
829 <vodml-ref>trans:TransNode.mapping</vodml-ref>
830 </xsd:appinfo>
831 </xsd:annotation>
832 </xsd:element>
833 </xsd:sequence>
834 </xsd:extension>
835 </xsd:complexContent>
836 </xsd:complexType>
837
838 <xsd:complexType name="MapRef">
839 <xsd:annotation>
840 <xsd:documentation>An entry in the CompountMap component mapping list. Holds a reference to the component mapping.</xsd:documentation>
841 <xsd:appinfo>
842 <vodml-ref>trans:MapRef</vodml-ref>
843 </xsd:appinfo>
844 </xsd:annotation>
845 <xsd:complexContent>
846 <xsd:extension base="vodml-base:VODMLObject">
847 <xsd:sequence>
848 <xsd:element name="ref" type="vodml-base:VODMLReference" minOccurs="1" maxOccurs="1">
849 <xsd:annotation>
850 <xsd:documentation>Reference to the component Mapping.</xsd:documentation>
851 <xsd:appinfo>
852 <vodml-ref>trans:MapRef.ref</vodml-ref>
853 </xsd:appinfo>
854 </xsd:annotation>
855 </xsd:element>
856 </xsd:sequence>
857 </xsd:extension>
858 </xsd:complexContent>
859 </xsd:complexType>
860
861 <xsd:complexType name="BiDirectionalMap">
862 <xsd:annotation>
863 <xsd:documentation>The BiDirectionalMap supports cases where one wants to explicitely define independent paths for the forward and inverse direction. This may be because a mapping does not have a natural inverse, or dictated by the requirements of the application. The associated mappings do not have to be of the same type. The forward transformation is supported by the forward operation of the forwardMap, the inverse transformation by the inverse operation of the inverseMap. If the 'invert' flag is True, this is reversed so that the forward transformation is supported by the inverse operation of the inverseMap, and the inverse transformation by the forward operation of the forwardMap.</xsd:documentation>
864 <xsd:appinfo>
865 <vodml-ref>trans:BiDirectionalMap</vodml-ref>
866 </xsd:appinfo>
867 </xsd:annotation>
868 <xsd:complexContent>
869 <xsd:extension base="trans:Mapping">
870 <xsd:sequence>
871 <xsd:element name="inverseMap" type="vodml-base:VODMLReference" minOccurs="1" maxOccurs="1">
872 <xsd:annotation>
873 <xsd:documentation>The Mapping which supports the inverse operation of this mapping. Note, the target Mapping MUST be defined from system A to system B like all Mappings. It is the inverse operation of the target mapping which is applied.</xsd:documentation>
874 <xsd:appinfo>
875 <vodml-ref>trans:BiDirectionalMap.inverseMap</vodml-ref>
876 </xsd:appinfo>
877 </xsd:annotation>
878 </xsd:element>
879 <xsd:element name="forwardMap" type="vodml-base:VODMLReference" minOccurs="1" maxOccurs="1">
880 <xsd:annotation>
881 <xsd:documentation>The Mapping which supports the forward operation of this mapping.</xsd:documentation>
882 <xsd:appinfo>
883 <vodml-ref>trans:BiDirectionalMap.forwardMap</vodml-ref>
884 </xsd:appinfo>
885 </xsd:annotation>
886 </xsd:element>
887 </xsd:sequence>
888 </xsd:extension>
889 </xsd:complexContent>
890 </xsd:complexType>
891
892 <xsd:complexType name="TransformSet">
893 <xsd:annotation>
894 <xsd:documentation>TransformSet supports the relation of coordinate systems via Mappings. The design is such that it supports the relation of collections of related coordinates systems by the various mappings between them. For example, a single TransformSet can relate a web of spatial coordinate systems
895 * pixel - chip - tiled detector - detector - tangent plane
896 * chip - chip physical
897 * detector - mirror spherical
898 * tangent plane - celestial
899 Each transition is encapsulated by a TransNode instance linking the parent coordinate system to the target coordinate system (that of the TransNode) with a Mapping (from the parent to target systems). A simple transform from system A to system B requires two TransNodes related by a single Mapping.
900 </xsd:documentation>
901 <xsd:appinfo>
902 <vodml-ref>trans:TransformSet</vodml-ref>
903 </xsd:appinfo>
904 </xsd:annotation>
905 <xsd:complexContent>
906 <xsd:extension base="vodml-base:VODMLObject">
907 <xsd:sequence>
908 <xsd:element name="node" type="trans:TransNode" minOccurs="1" maxOccurs="unbounded"/>
909 </xsd:sequence>
910 </xsd:extension>
911 </xsd:complexContent>
912 </xsd:complexType>
913
914 <xsd:simpleType name="InterpolationMethod">
915 <xsd:annotation>
916 <xsd:documentation>Enumeration of interpolation methods to control the interpretation of data between known points in operations such as Lookup.</xsd:documentation>
917 <xsd:appinfo>
918 <vodml-ref>trans:InterpolationMethod</vodml-ref>
919 </xsd:appinfo>
920 </xsd:annotation>
921 <xsd:restriction base="xsd:string">
922 <xsd:enumeration value="None">
923 <xsd:annotation>
924 <xsd:documentation>No interpolation method specified, interpretation between points is undefined.</xsd:documentation>
925 <xsd:appinfo>
926 <vodml-ref>trans:InterpolationMethod.None</vodml-ref>
927 </xsd:appinfo>
928 </xsd:annotation>
929 </xsd:enumeration>
930 <xsd:enumeration value="Nearest">
931 <xsd:annotation>
932 <xsd:documentation>Nearest neighbor is selected</xsd:documentation>
933 <xsd:appinfo>
934 <vodml-ref>trans:InterpolationMethod.Nearest</vodml-ref>
935 </xsd:appinfo>
936 </xsd:annotation>
937 </xsd:enumeration>
938 <xsd:enumeration value="Linear">
939 <xsd:annotation>
940 <xsd:documentation>Assume a linear progression between points.</xsd:documentation>
941 <xsd:appinfo>
942 <vodml-ref>trans:InterpolationMethod.Linear</vodml-ref>
943 </xsd:appinfo>
944 </xsd:annotation>
945 </xsd:enumeration>
946 <xsd:enumeration value="Spline">
947 <xsd:annotation>
948 <xsd:documentation>Perform a spline interpolation through the points. 2-dimensional only.</xsd:documentation>
949 <xsd:appinfo>
950 <vodml-ref>trans:InterpolationMethod.Spline</vodml-ref>
951 </xsd:appinfo>
952 </xsd:annotation>
953 </xsd:enumeration>
954 </xsd:restriction>
955 </xsd:simpleType>
956
957 <xsd:simpleType name="SkyProjectionType">
958 <xsd:annotation>
959 <xsd:documentation>Enumeration of non-linear celestial projection algorithm codes as listed in Table 13 of the FITS WCS paper II.</xsd:documentation>
960 <xsd:appinfo>
961 <vodml-ref>trans:SkyProjectionType</vodml-ref>
962 </xsd:appinfo>
963 </xsd:annotation>
964 <xsd:restriction base="xsd:string">
965 <xsd:enumeration value="AZP">
966 <xsd:annotation>
967 <xsd:documentation>Zenithal perspective</xsd:documentation>
968 <xsd:appinfo>
969 <vodml-ref>trans:SkyProjectionType.AZP</vodml-ref>
970 </xsd:appinfo>
971 </xsd:annotation>
972 </xsd:enumeration>
973 <xsd:enumeration value="SZP">
974 <xsd:annotation>
975 <xsd:documentation>Slant zenithal perspective</xsd:documentation>
976 <xsd:appinfo>
977 <vodml-ref>trans:SkyProjectionType.SZP</vodml-ref>
978 </xsd:appinfo>
979 </xsd:annotation>
980 </xsd:enumeration>
981 <xsd:enumeration value="TAN">
982 <xsd:annotation>
983 <xsd:documentation>Gnomonic (Tangent plane projection)</xsd:documentation>
984 <xsd:appinfo>
985 <vodml-ref>trans:SkyProjectionType.TAN</vodml-ref>
986 </xsd:appinfo>
987 </xsd:annotation>
988 </xsd:enumeration>
989 <xsd:enumeration value="STG">
990 <xsd:annotation>
991 <xsd:documentation>Stereographic</xsd:documentation>
992 <xsd:appinfo>
993 <vodml-ref>trans:SkyProjectionType.STG</vodml-ref>
994 </xsd:appinfo>
995 </xsd:annotation>
996 </xsd:enumeration>
997 <xsd:enumeration value="SIN">
998 <xsd:annotation>
999 <xsd:documentation>Slant orthographic (Sine projection)</xsd:documentation>
1000 <xsd:appinfo>
1001 <vodml-ref>trans:SkyProjectionType.SIN</vodml-ref>
1002 </xsd:appinfo>
1003 </xsd:annotation>
1004 </xsd:enumeration>
1005 <xsd:enumeration value="ARC">
1006 <xsd:annotation>
1007 <xsd:documentation>Zenithal equidistant</xsd:documentation>
1008 <xsd:appinfo>
1009 <vodml-ref>trans:SkyProjectionType.ARC</vodml-ref>
1010 </xsd:appinfo>
1011 </xsd:annotation>
1012 </xsd:enumeration>
1013 <xsd:enumeration value="ZPN">
1014 <xsd:annotation>
1015 <xsd:documentation>Zenithal polynomial</xsd:documentation>
1016 <xsd:appinfo>
1017 <vodml-ref>trans:SkyProjectionType.ZPN</vodml-ref>
1018 </xsd:appinfo>
1019 </xsd:annotation>
1020 </xsd:enumeration>
1021 <xsd:enumeration value="ZEA">
1022 <xsd:annotation>
1023 <xsd:documentation>Zenithal equal-area</xsd:documentation>
1024 <xsd:appinfo>
1025 <vodml-ref>trans:SkyProjectionType.ZEA</vodml-ref>
1026 </xsd:appinfo>
1027 </xsd:annotation>
1028 </xsd:enumeration>
1029 <xsd:enumeration value="AIR">
1030 <xsd:annotation>
1031 <xsd:documentation>Airy</xsd:documentation>
1032 <xsd:appinfo>
1033 <vodml-ref>trans:SkyProjectionType.AIR</vodml-ref>
1034 </xsd:appinfo>
1035 </xsd:annotation>
1036 </xsd:enumeration>
1037 <xsd:enumeration value="CYP">
1038 <xsd:annotation>
1039 <xsd:documentation>Cylindrical perspective</xsd:documentation>
1040 <xsd:appinfo>
1041 <vodml-ref>trans:SkyProjectionType.CYP</vodml-ref>
1042 </xsd:appinfo>
1043 </xsd:annotation>
1044 </xsd:enumeration>
1045 <xsd:enumeration value="CEA">
1046 <xsd:annotation>
1047 <xsd:documentation>Cylindrical equal-area</xsd:documentation>
1048 <xsd:appinfo>
1049 <vodml-ref>trans:SkyProjectionType.CEA</vodml-ref>
1050 </xsd:appinfo>
1051 </xsd:annotation>
1052 </xsd:enumeration>
1053 <xsd:enumeration value="CAR">
1054 <xsd:annotation>
1055 <xsd:documentation>Plate carree</xsd:documentation>
1056 <xsd:appinfo>
1057 <vodml-ref>trans:SkyProjectionType.CAR</vodml-ref>
1058 </xsd:appinfo>
1059 </xsd:annotation>
1060 </xsd:enumeration>
1061 <xsd:enumeration value="MER">
1062 <xsd:annotation>
1063 <xsd:documentation>Mercator</xsd:documentation>
1064 <xsd:appinfo>
1065 <vodml-ref>trans:SkyProjectionType.MER</vodml-ref>
1066 </xsd:appinfo>
1067 </xsd:annotation>
1068 </xsd:enumeration>
1069 <xsd:enumeration value="SFL">
1070 <xsd:annotation>
1071 <xsd:documentation>Sanson-Flamsteed</xsd:documentation>
1072 <xsd:appinfo>
1073 <vodml-ref>trans:SkyProjectionType.SFL</vodml-ref>
1074 </xsd:appinfo>
1075 </xsd:annotation>
1076 </xsd:enumeration>
1077 <xsd:enumeration value="PAR">
1078 <xsd:annotation>
1079 <xsd:documentation>Parabolic</xsd:documentation>
1080 <xsd:appinfo>
1081 <vodml-ref>trans:SkyProjectionType.PAR</vodml-ref>
1082 </xsd:appinfo>
1083 </xsd:annotation>
1084 </xsd:enumeration>
1085 <xsd:enumeration value="MOL">
1086 <xsd:annotation>
1087 <xsd:documentation>Mollweide</xsd:documentation>
1088 <xsd:appinfo>
1089 <vodml-ref>trans:SkyProjectionType.MOL</vodml-ref>
1090 </xsd:appinfo>
1091 </xsd:annotation>
1092 </xsd:enumeration>
1093 <xsd:enumeration value="AIT">
1094 <xsd:annotation>
1095 <xsd:documentation>Hammer-Aitoff</xsd:documentation>
1096 <xsd:appinfo>
1097 <vodml-ref>trans:SkyProjectionType.AIT</vodml-ref>
1098 </xsd:appinfo>
1099 </xsd:annotation>
1100 </xsd:enumeration>
1101 <xsd:enumeration value="COP">
1102 <xsd:annotation>
1103 <xsd:documentation>Conic perspective</xsd:documentation>
1104 <xsd:appinfo>
1105 <vodml-ref>trans:SkyProjectionType.COP</vodml-ref>
1106 </xsd:appinfo>
1107 </xsd:annotation>
1108 </xsd:enumeration>
1109 <xsd:enumeration value="COE">
1110 <xsd:annotation>
1111 <xsd:documentation>Conic equal-area</xsd:documentation>
1112 <xsd:appinfo>
1113 <vodml-ref>trans:SkyProjectionType.COE</vodml-ref>
1114 </xsd:appinfo>
1115 </xsd:annotation>
1116 </xsd:enumeration>
1117 <xsd:enumeration value="COD">
1118 <xsd:annotation>
1119 <xsd:documentation>Conic equidistant</xsd:documentation>
1120 <xsd:appinfo>
1121 <vodml-ref>trans:SkyProjectionType.COD</vodml-ref>
1122 </xsd:appinfo>
1123 </xsd:annotation>
1124 </xsd:enumeration>
1125 <xsd:enumeration value="COO">
1126 <xsd:annotation>
1127 <xsd:documentation>Conic orthomorphic</xsd:documentation>
1128 <xsd:appinfo>
1129 <vodml-ref>trans:SkyProjectionType.COO</vodml-ref>
1130 </xsd:appinfo>
1131 </xsd:annotation>
1132 </xsd:enumeration>
1133 <xsd:enumeration value="BON">
1134 <xsd:annotation>
1135 <xsd:documentation>Bonne equal-area</xsd:documentation>
1136 <xsd:appinfo>
1137 <vodml-ref>trans:SkyProjectionType.BON</vodml-ref>
1138 </xsd:appinfo>
1139 </xsd:annotation>
1140 </xsd:enumeration>
1141 <xsd:enumeration value="PCO">
1142 <xsd:annotation>
1143 <xsd:documentation>Polyconic</xsd:documentation>
1144 <xsd:appinfo>
1145 <vodml-ref>trans:SkyProjectionType.PCO</vodml-ref>
1146 </xsd:appinfo>
1147 </xsd:annotation>
1148 </xsd:enumeration>
1149 <xsd:enumeration value="TSC">
1150 <xsd:annotation>
1151 <xsd:documentation>Tangential spherical cube</xsd:documentation>
1152 <xsd:appinfo>
1153 <vodml-ref>trans:SkyProjectionType.TSC</vodml-ref>
1154 </xsd:appinfo>
1155 </xsd:annotation>
1156 </xsd:enumeration>
1157 <xsd:enumeration value="CSC">
1158 <xsd:annotation>
1159 <xsd:documentation>COBE Quadrilateralized spherical cube</xsd:documentation>
1160 <xsd:appinfo>
1161 <vodml-ref>trans:SkyProjectionType.CSC</vodml-ref>
1162 </xsd:appinfo>
1163 </xsd:annotation>
1164 </xsd:enumeration>
1165 <xsd:enumeration value="QSC">
1166 <xsd:annotation>
1167 <xsd:documentation>Quadrilateralized spherical cube</xsd:documentation>
1168 <xsd:appinfo>
1169 <vodml-ref>trans:SkyProjectionType.QSC</vodml-ref>
1170 </xsd:appinfo>
1171 </xsd:annotation>
1172 </xsd:enumeration>
1173 </xsd:restriction>
1174 </xsd:simpleType>
1175
1176 <xsd:simpleType name="SpectralProjectionType">
1177 <xsd:annotation>
1178 <xsd:documentation>Enumeration of non-linear spectral projection algorithm codes as listed in Table 2 of the FITS WCS paper III.
1179 NOTE: We exclude the TAB code from this list, that type is handled by the Lookup operation in this model.
1180 </xsd:documentation>
1181 <xsd:appinfo>
1182 <vodml-ref>trans:SpectralProjectionType</vodml-ref>
1183 </xsd:appinfo>
1184 </xsd:annotation>
1185 <xsd:restriction base="xsd:string">
1186 <xsd:enumeration value="F2W">
1187 <xsd:annotation>
1188 <xsd:documentation>Frequency - Wavelength</xsd:documentation>
1189 <xsd:appinfo>
1190 <vodml-ref>trans:SpectralProjectionType.F2W</vodml-ref>
1191 </xsd:appinfo>
1192 </xsd:annotation>
1193 </xsd:enumeration>
1194 <xsd:enumeration value="F2V">
1195 <xsd:annotation>
1196 <xsd:documentation>Frequency - Apparent radial velocity</xsd:documentation>
1197 <xsd:appinfo>
1198 <vodml-ref>trans:SpectralProjectionType.F2V</vodml-ref>
1199 </xsd:appinfo>
1200 </xsd:annotation>
1201 </xsd:enumeration>
1202 <xsd:enumeration value="F2A">
1203 <xsd:annotation>
1204 <xsd:documentation>Frequency - Air wavelength</xsd:documentation>
1205 <xsd:appinfo>
1206 <vodml-ref>trans:SpectralProjectionType.F2A</vodml-ref>
1207 </xsd:appinfo>
1208 </xsd:annotation>
1209 </xsd:enumeration>
1210 <xsd:enumeration value="W2F">
1211 <xsd:annotation>
1212 <xsd:documentation>Wavelength - Frequency</xsd:documentation>
1213 <xsd:appinfo>
1214 <vodml-ref>trans:SpectralProjectionType.W2F</vodml-ref>
1215 </xsd:appinfo>
1216 </xsd:annotation>
1217 </xsd:enumeration>
1218 <xsd:enumeration value="W2V">
1219 <xsd:annotation>
1220 <xsd:documentation>Wavelength - Apparent radial velocity</xsd:documentation>
1221 <xsd:appinfo>
1222 <vodml-ref>trans:SpectralProjectionType.W2V</vodml-ref>
1223 </xsd:appinfo>
1224 </xsd:annotation>
1225 </xsd:enumeration>
1226 <xsd:enumeration value="W2A">
1227 <xsd:annotation>
1228 <xsd:documentation>Wavelength - Air wavelength</xsd:documentation>
1229 <xsd:appinfo>
1230 <vodml-ref>trans:SpectralProjectionType.W2A</vodml-ref>
1231 </xsd:appinfo>
1232 </xsd:annotation>
1233 </xsd:enumeration>
1234 <xsd:enumeration value="V2F">
1235 <xsd:annotation>
1236 <xsd:documentation>Apparent radial velocity - Frequency</xsd:documentation>
1237 <xsd:appinfo>
1238 <vodml-ref>trans:SpectralProjectionType.V2F</vodml-ref>
1239 </xsd:appinfo>
1240 </xsd:annotation>
1241 </xsd:enumeration>
1242 <xsd:enumeration value="V2W">
1243 <xsd:annotation>
1244 <xsd:documentation>Apparent radial velocity - Wavelength</xsd:documentation>
1245 <xsd:appinfo>
1246 <vodml-ref>trans:SpectralProjectionType.V2W</vodml-ref>
1247 </xsd:appinfo>
1248 </xsd:annotation>
1249 </xsd:enumeration>
1250 <xsd:enumeration value="V2A">
1251 <xsd:annotation>
1252 <xsd:documentation>Apparent radial velocity - Air wavelength</xsd:documentation>
1253 <xsd:appinfo>
1254 <vodml-ref>trans:SpectralProjectionType.V2A</vodml-ref>
1255 </xsd:appinfo>
1256 </xsd:annotation>
1257 </xsd:enumeration>
1258 <xsd:enumeration value="A2F">
1259 <xsd:annotation>
1260 <xsd:documentation>Air wavelength - Frequency</xsd:documentation>
1261 <xsd:appinfo>
1262 <vodml-ref>trans:SpectralProjectionType.A2F</vodml-ref>
1263 </xsd:appinfo>
1264 </xsd:annotation>
1265 </xsd:enumeration>
1266 <xsd:enumeration value="A2W">
1267 <xsd:annotation>
1268 <xsd:documentation>Air wavelength - Wavelength</xsd:documentation>
1269 <xsd:appinfo>
1270 <vodml-ref>trans:SpectralProjectionType.A2W</vodml-ref>
1271 </xsd:appinfo>
1272 </xsd:annotation>
1273 </xsd:enumeration>
1274 <xsd:enumeration value="A2V">
1275 <xsd:annotation>
1276 <xsd:documentation>Air wavelength - Apparent radial velocity</xsd:documentation>
1277 <xsd:appinfo>
1278 <vodml-ref>trans:SpectralProjectionType.A2V</vodml-ref>
1279 </xsd:appinfo>
1280 </xsd:annotation>
1281 </xsd:enumeration>
1282 <xsd:enumeration value="LOG">
1283 <xsd:annotation>
1284 <xsd:documentation>Logarithm</xsd:documentation>
1285 <xsd:appinfo>
1286 <vodml-ref>trans:SpectralProjectionType.LOG</vodml-ref>
1287 </xsd:appinfo>
1288 </xsd:annotation>
1289 </xsd:enumeration>
1290 <xsd:enumeration value="GRI">
1291 <xsd:annotation>
1292 <xsd:documentation>Grism</xsd:documentation>
1293 <xsd:appinfo>
1294 <vodml-ref>trans:SpectralProjectionType.GRI</vodml-ref>
1295 </xsd:appinfo>
1296 </xsd:annotation>
1297 </xsd:enumeration>
1298 <xsd:enumeration value="GRA">
1299 <xsd:annotation>
1300 <xsd:documentation>Grism in air</xsd:documentation>
1301 <xsd:appinfo>
1302 <vodml-ref>trans:SpectralProjectionType.GRA</vodml-ref>
1303 </xsd:appinfo>
1304 </xsd:annotation>
1305 </xsd:enumeration>
1306 </xsd:restriction>
1307 </xsd:simpleType>
1308
1309 <xsd:simpleType name="SpectralCoordType">
1310 <xsd:annotation>
1311 <xsd:documentation>Enumeration of spectral coordinate types as listed in Table 1 of the FITS WCS paper III.</xsd:documentation>
1312 <xsd:appinfo>
1313 <vodml-ref>trans:SpectralCoordType</vodml-ref>
1314 </xsd:appinfo>
1315 </xsd:annotation>
1316 <xsd:restriction base="xsd:string">
1317 <xsd:enumeration value="FREQ">
1318 <xsd:annotation>
1319 <xsd:documentation>Frequency</xsd:documentation>
1320 <xsd:appinfo>
1321 <vodml-ref>trans:SpectralCoordType.FREQ</vodml-ref>
1322 </xsd:appinfo>
1323 </xsd:annotation>
1324 </xsd:enumeration>
1325 <xsd:enumeration value="ENER">
1326 <xsd:annotation>
1327 <xsd:documentation>Energy</xsd:documentation>
1328 <xsd:appinfo>
1329 <vodml-ref>trans:SpectralCoordType.ENER</vodml-ref>
1330 </xsd:appinfo>
1331 </xsd:annotation>
1332 </xsd:enumeration>
1333 <xsd:enumeration value="WAVN">
1334 <xsd:annotation>
1335 <xsd:documentation>Wavenumber</xsd:documentation>
1336 <xsd:appinfo>
1337 <vodml-ref>trans:SpectralCoordType.WAVN</vodml-ref>
1338 </xsd:appinfo>
1339 </xsd:annotation>
1340 </xsd:enumeration>
1341 <xsd:enumeration value="VRAD">
1342 <xsd:annotation>
1343 <xsd:documentation>Radio velocity</xsd:documentation>
1344 <xsd:appinfo>
1345 <vodml-ref>trans:SpectralCoordType.VRAD</vodml-ref>
1346 </xsd:appinfo>
1347 </xsd:annotation>
1348 </xsd:enumeration>
1349 <xsd:enumeration value="WAVE">
1350 <xsd:annotation>
1351 <xsd:documentation>Vacuum wavelength</xsd:documentation>
1352 <xsd:appinfo>
1353 <vodml-ref>trans:SpectralCoordType.WAVE</vodml-ref>
1354 </xsd:appinfo>
1355 </xsd:annotation>
1356 </xsd:enumeration>
1357 <xsd:enumeration value="VOPT">
1358 <xsd:annotation>
1359 <xsd:documentation>Optical velocity</xsd:documentation>
1360 <xsd:appinfo>
1361 <vodml-ref>trans:SpectralCoordType.VOPT</vodml-ref>
1362 </xsd:appinfo>
1363 </xsd:annotation>
1364 </xsd:enumeration>
1365 <xsd:enumeration value="ZOPT">
1366 <xsd:annotation>
1367 <xsd:documentation>Redshift</xsd:documentation>
1368 <xsd:appinfo>
1369 <vodml-ref>trans:SpectralCoordType.ZOPT</vodml-ref>
1370 </xsd:appinfo>
1371 </xsd:annotation>
1372 </xsd:enumeration>
1373 <xsd:enumeration value="AWAV">
1374 <xsd:annotation>
1375 <xsd:documentation>Air wavelength</xsd:documentation>
1376 <xsd:appinfo>
1377 <vodml-ref>trans:SpectralCoordType.AWAV</vodml-ref>
1378 </xsd:appinfo>
1379 </xsd:annotation>
1380 </xsd:enumeration>
1381 <xsd:enumeration value="VELO">
1382 <xsd:annotation>
1383 <xsd:documentation>Apparent radial velocity</xsd:documentation>
1384 <xsd:appinfo>
1385 <vodml-ref>trans:SpectralCoordType.VELO</vodml-ref>
1386 </xsd:appinfo>
1387 </xsd:annotation>
1388 </xsd:enumeration>
1389 <xsd:enumeration value="BETA">
1390 <xsd:annotation>
1391 <xsd:documentation>Beta factor (v/c)</xsd:documentation>
1392 <xsd:appinfo>
1393 <vodml-ref>trans:SpectralCoordType.BETA</vodml-ref>
1394 </xsd:appinfo>
1395 </xsd:annotation>
1396 </xsd:enumeration>
1397 </xsd:restriction>
1398 </xsd:simpleType>
1399
1400 </xsd:schema>

Properties

Name Value
svn:mime-type application/xml

msdemlei@ari.uni-heidelberg.de
ViewVC Help
Powered by ViewVC 1.1.26