generated from ivoa/DataModelTemplate
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathADQLGeomDM-v1.vodsl
More file actions
59 lines (47 loc) · 2.17 KB
/
ADQLGeomDM-v1.vodsl
File metadata and controls
59 lines (47 loc) · 2.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
model adqlgeom (1.0) "The geometry types in ADQL/PGSphere"
author "Paul Harrison"
include "../build/tmp/IVOA-v1.0.vodsl"
dtype Point "location on the sky in spherical coordinates"
{
alpha: ivoa:real "longitude angle";
delta: ivoa:real "latitude angle";
}
dtype Line "A line defined on the celestial sphere. If the distance between begin and end is 180° (π), this function returns an error because the location of the line is undefined. However, if longitudes of begin and end are equal, pgSphere assumes a meridian and returns the corresponding spherical line."
{
begin: Point "start point of line";
end: Point "end point of line";
}
abstract dtype Shape "base type of all shapes"
{
}
dtype Circle -> Shape "a circular region on the sky"
{
center: Point "the centre of the circle";
radius: ivoa:real "the radius of the circle";
}
dtype Ellipse -> Shape "an elliptical region on the sky"
{
major_axis: ivoa:real "major axis size in radians";
minor_axis: ivoa:real "minor axis size in radians";
center: Point "the centre of the circle";
pos_angle: ivoa:real "The position angle pos is defined as a counterclockwise rotation around the ellipse center and is zero, if the ellipse is “parallel to the equator”";
}
dtype MultiShape "multiple simple shapes describing regions as a single value"
{
shapes: Shape @+ "";
}
dtype Polygon -> Shape "a simple polygon region on the sky defined a sequence of points connected by great-circle segments"
{
points: Point @+ "the points that make up the polygon"; // would like the multiplicity to be @[3..-1] but see https://github.com/pahjbo/vodsl/issues/27
}
dtype Box -> Shape "a simple bounding box"
{
pos_sw : Point "south-west edge of the box";
pos_ne : Point "north-east edge of the box";
}
//IMPL - this is actually from DALI
dtype Interval "a set of numeric values defined by a lower and upper bound (bounds included: [a,b])"
{
lower: ivoa:real "";
upper: ivoa:real "";
}