SpatialDefs.xid.xml
5.43 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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<?xml version="1.0" encoding="UTF-8" ?>
<specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd"
identity="SpatialDefs.xid.xml">
<title>GEO Spatial Definitions</title>
<comment>Definition defines common geo-spatial types..</comment>
<!-- Include all known definitions -->
<import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" />
<namespace name="GeoSpatial">
<using namespace="Tensor"/>
<!--
*************************************
* Enumerations
*************************************
-->
<enum name="ReferenceFrame" type="Tensor.int8" default="WGS84">
<comment>Enumerations defines the supported coordinate reference frames</comment>
<literal name="undefined" value="0"></literal>
<literal name="WGS84" value="1"></literal>
<literal name="ENU" value="2"></literal>
<literal name="NED" value="3"></literal>
<literal name="LocalXYZ" value="3" />
</enum>
<enum name="ObjectType" type="Tensor.int8" default="Object">
<comment>Enumeration defines the supported Object types.</comment>
<literal name="Object" value="0"></literal>
<literal name="GeoObject" value="1"></literal>
<literal name="Location" value="2"></literal>
<literal name="EventInfo" value="3"></literal>
<literal name="Producer" value="4"></literal>
</enum>
<!--
*************************************
* BoundingBox Definition.
*************************************
-->
<struct name="BoundingBox" pack="true">
<comment>Defines a bounding box in WGS84 reference frame.</comment>
<comment>Units for latitude and longitude are in units of micro degrees (1e-6 degrees) providing for about 11 cm resolution near the equator.</comment>
<elem name="latmin" type="Tensor.int32" multiplicity="1" >
<comment>Minimum value of the latitude.</comment>
<tag name="unit" value="microdegrees"/>
</elem>
<elem name="latmax" type="Tensor.int32" multiplicity="1" >
<comment>Maximum value of the latitude.</comment>
<tag name="unit" value="microdegrees"/>
</elem>
<elem name="lonmin" type="Tensor.int32" multiplicity="1" >
<comment>Minimum value of the longitude.</comment>
<tag name="unit" value="microdegrees"/>
</elem>
<elem name="lonmax" type="Tensor.int32" multiplicity="1" >
<comment>Maximum value of the longitude.</comment>
<tag name="unit" value="microdegrees"/>
</elem>
<elem name="altmin" type="Tensor.int32" multiplicity="1" >
<comment>Minimum value of the altitude.</comment>
<tag name="unit" value="microdegrees"/>
</elem>
<elem name="altmax" type="Tensor.int32" multiplicity="1" >
<comment>Maximum value of the altitude.</comment>
<tag name="unit" value="microdegrees"/>
</elem>
</struct>
<!--
*************************************
* PositionECEF Definition.
*************************************
-->
<struct name="PositionECEF" pack="true">
<comment>A 3D, Earth-centered, Earth-Fixed position in rotational coordinates: latitude (deg.), longitude (deg.), altitude(m)</comment>
<elem name="lat" type="Tensor.float64" multiplicity="1" >
<comment>Latitude of the position in degrees.</comment>
</elem>
<elem name="lon" type="Tensor.float64" multiplicity="1" >
<comment>Longitude of the position in degrees.</comment>
</elem>
<elem name="alt" type="Tensor.float64" multiplicity="1" >
<comment>Altitude of the position in meters.</comment>
</elem>
</struct>
<!--
*************************************
* Object Definition.
*************************************
-->
<struct name="Object">
<comment>
Defines the base Object comprising id, optional name, description, and user data (JSON).
</comment>
<elem name="typeObject" type="ObjectType" multiplicity="1" rttd="true" ord="1">
<comment>Element indicates the type of the Object</comment>
</elem>
<elem name="uuid" type="Tensor.UUID" multiplicity="1" ord="2">
<comment>Unique identifier for this object.</comment>
</elem>
<elem name="uriExternal" type="Tensor.uri" multiplicity="0..1" ord="3">
<comment>Optional external identifier for this object.</comment>
</elem>
<elem name="uriClassifier" type="Tensor.uri" multiplicity="0..1" ord="4">
<comment>Optional external classifier identifier for this object.</comment>
</elem>
<elem name="name" type="Tensor.string" multiplicity="0..1" ord="5">
<comment>Optional user friendly name of the GeoObject.</comment>
</elem>
<elem name="description" type="Tensor.string" multiplicity="0..1" ord="6">
<comment>Optional user friendly description of the GeoObject.</comment>
</elem>
<elem name="data" type="Tensor.json" multiplicity="0..1" ord="7">
<comment>Optional JSON data associated with this object.</comment>
</elem>
</struct>
</namespace>
</specification>