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

Properties

Name Value
svn:mime-type application/xml

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