2e0d1961 by Michael B. Mathews

Refactored HPE and Spatial Types plus added events definition

1 parent a254d521
1 <?xml version="1.0" encoding="UTF-8" ?>
2
3 <specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
4 xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
5 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6 xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd"
7 identity="GeoObjectStoreApi.xid.xml">
8 <title>GeoObject Storage API</title>
9 <comment>
10 This file defines the GeoObject Storage interface(s), which provides interactions for editing, searching, and retrieving various Geo Objects.
11 </comment>
12
13 <!-- Include all known definitions -->
14 <import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" />
15 <import ref="https://xid.location.studio/Tensor/V1.0.0/ApiBase.xid.xml" />
16 <import ref="http://xid.location.studio/GeoSpatial/V1.0/Location.xid.xml" local="Location.xid.xml" />
17
18 <namespace name="GeoSpatial">
19 <using namespace="Tensor"/>
20
21
22 <!--
23 *************************************
24 * Event Structures
25 *************************************
26 -->
27
28 <struct name="ProducerInfo" type="Object" rttkey="GeoSpatial.ObjectType.ProducerInfo">
29
30 <elem name="events" type="Object" multiplicity="0..*" ord="21">
31 <comment>Events defined by this producer.</comment>
32 </elem>
33 </struct>
34
35 <struct name="Event">
36 <comment>Structure contains information about an event occurring at the specified event producer (uriProducer).</comment>
37
38 <struct name="SpeedInfo" packed="true">
39 <comment>Structure contains speed information of the object.</comment>
40 <elem name="horizontal" type="float32" multiplicity="1" ord ="1">
41 <tag name="unit" value="meters/sec"/>
42 <comment>Optional horizontal speed of device in meters/sec</comment>
43 </elem>
44 <elem name="vertical" type="float32" multiplicity="1" ord ="2">
45 <tag name="unit" value="meters/sec"/>
46 <comment>Optional vertical speed of device in meters/sec</comment>
47 </elem>
48 <elem name="azimuth" type="float32" multiplicity="1" ord ="3">
49 <tag name="unit" value="degrees"/>
50 <comment>Optional azimuthal heading of the associated object in degrees (true North).</comment>
51 </elem>
52 <elem name="uncertainty" type="float32" multiplicity="1" default="-1" ord ="4">
53 <tag name="unit" value="degrees"/>
54 <comment>Optional azimuthal heading of the associated object in degrees (true North).</comment>
55 </elem>
56 </struct>
57
58 <elem name="infoEvent" type="Object" multiplicity="1" ord ="1">
59 <comment>Event definitional information. This describes the nature of the event. Event information can be a copy
60 of the information specified by the producer or a minimum subset of identifiers (e.g. uuid, uriExternal, uriClassifier).
61 The amount of event information provided is application specific.
62 </comment>
63 </elem>
64
65 <elem name="infoProducer" type="ProducerInfo" multiplicity="1" ord ="2">
66 <comment>
67 Producer information. This describes the producer sending the information. Typically this is just the top level of producer
68 information, the events contained are not typically provided as the event information is provided
69 separately. Exact information provided is application specific.
70 </comment>
71 </elem>
72
73 <elem name="uuid" type="Tensor.UUID" multiplicity="1" ord="3">
74 <comment>Instance UUID for the Event, Every event must specify a UUID associated with its unique time and place.</comment>
75 </elem>
76
77 <elem name="epoch" type="datetime" multiplicity="1" ord="4">
78 <comment>Epoch defines the point in time for which the estimate applies.</comment>
79 </elem>
80 <elem name="location" type="Location" multiplicity="0..1" ord="5">
81 <comment>Optional location the event occurred.</comment>
82 </elem>
83 <elem name="speed" type="SpeedInfo" multiplicity="0..1" ord="6">
84 <comment>Optional speed information of the associated object at the time the event occurred.</comment>
85 </elem>
86 </struct>
87
88
89 <!--
90 *******************************************************
91 EventProducer API
92 *******************************************************
93 -->
94 <interface name="EventProducer">
95 <comment>Interface defines the interactions common to all event producers. </comment>
96
97 <operation name="RequestInfo">
98 <comment>
99 Interaction requests and returns a zero or more information sets of producer information containing
100 zero or more events
101 </comment>
102 <input name="input" type="InputBase" sid="0x1090">
103 </input>
104 <output name="output" type="OutputBase" sid="0x1091">
105 <elem name="producer" multiplicity="0..*" type="ProducerInfo"></elem>
106 </output>
107 </operation>
108
109 <event name="Notify">
110 <comment>Notifies bound event consumers of one or more events specified by the EventProducer.</comment>
111 <input name="input" type="InputBase" sid="0x1092">
112 <elem name="event" multiplicity="1..*" type="Event"></elem>
113 </input>
114 </event>
115
116 </interface>
117 </namespace>
118 </specification>
1 <?xml version="1.0" encoding="UTF-8" ?>
2
3 <specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
4 xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
5 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6 xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd"
7 identity="GeoFence.xid.xml">
8 <title>GeoFence Definition</title>
9
10 <!-- Include all known definitions -->
11 <import ref="http://xid.location.studio/Tensor/V1.0.0/GeoObject.xid.xml" local="GeoObject.xid.xml" />
12
13 <namespace name="GeoSpatial">
14 <using namespace="Tensor"/>
15
16 <!--
17 *************************************
18 * GeoFence Definition
19 *************************************
20 -->
21 <struct name="GeoFence" rttkey="GeoSpatial.ObjectType.GeoFence">
22 <comment>Defines a geofence based on a geo object adding additional parameters supporting geo-spatial services.</comment>
23
24 <elem name="type" type="ObjectType" multiplicity="1" rttd="true">
25 <comment>identify the type of the GeoObject</comment>
26 </elem>
27
28 <elem name="dtCreate" type="datetime" multiplicity="1" ord="21">
29 <comment>Time stamp of creation</comment>
30 </elem>
31 <elem name="dtUpdate" type="datetime" multiplicity="1" ord="22">
32 <comment>Time stamp of last modification</comment>
33 </elem>
34
35 <elem name="account" type="Tensor.uri" multiplicity="1" ord="24">
36 <comment>URI identifies account information for the GeoObject.</comment>
37 </elem>
38
39 <elem name="group" type="Tensor.uri" multiplicity="1" ord="25">
40 <comment>URI identifies group information for the GeoObject.</comment>
41 </elem>
42
43 <elem name="source" type="Tensor.uri" multiplicity="1" ord="23">
44 <comment>URI identifies the source of the information provided.</comment>
45 </elem>
46
47 </struct>
48
49 </namespace>
50 </specification>
1 <?xml version="1.0" encoding="UTF-8" ?>
2
3 <specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
4 xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
5 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6 xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd"
7 identity="GeoObject.xid.xml">
8 <title>Common Geo Object Definitions. </title>
9 <comment>This file defines commonly used structures and enumerations used throughout the GeoTracker system.</comment>
10
11 <!-- Include all known definitions -->
12 <import ref="http://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" />
13 <import ref="http://xid.location.studio/GeoSpatial/V1.0/SpatialDefs.xid.xml" local="SpatialDefs.xid.xml" />
14 <import ref="http://xid.location.studio/GeoSpatial/V1.0/Address.xid.xml" local="Address.xid.xml" />
15 <import ref="http://xid.location.studio/GeoSpatial/V1.0/Shape.xid.xml" local="Shape.xid.xml" />
16
17
18 <namespace name="GeoSpatial">
19 <using namespace="Tensor"/>
20
21 <!--
22 *************************************
23 * GeoObject Definition.
24 *************************************
25 -->
26 <struct name="GeoObject" type="Object" rttkey="GeoSpatial.ObjectType.GeoObject">
27 <comment>Defines the base 3D Geo Object comprising id, bounding box, and various other base information. GeoObjects are
28 not simple shapes. They have identity, temporal validity, and modification attributes.</comment>
29
30 <elem name="bounds" type="GeoSpatial.BoundingBox" multiplicity="1" ord="23">
31 <comment>Bounding box defining the maximum bounds for this GeoObject in WGS84 reference frame.</comment>
32 </elem>
33
34 <elem name="floorMin" type="int16" multiplicity="1" default="0" ord="24">
35 <comment>Defines the minimum floor number associated with the minimum bounds of the bounding box.</comment>
36 </elem>
37
38 <elem name="floorMax" type="int16" multiplicity="1" default="0" ord="25">
39 <comment>Defines the maximum floor number associated with the maximum bounds of the bounding box.</comment>
40 </elem>
41
42 <elem name="shape" type="GeoSpatial.Shape" multiplicity ="0..1" ord="26">
43 <comment>
44 Optional shape defining more detailed boundary of the GeoObject. This shape must be contained
45 entirely within the bounding box.
46 </comment>
47 </elem>
48
49 <elem name="address" type="GeoSpatial.AddressInfo" multiplicity="0..1" ord="28">
50 <comment>Optional address associated with the GeoObject.</comment>
51 </elem>
52
53 <elem name="validBegin" type="datetime" multiplicity="0..1" ord="29">
54 <comment>Optional time stamp denoting beginning validity.</comment>
55 </elem>
56 <elem name="validEnd" type="datetime" multiplicity="0..1" ord="30">
57 <comment>Optional time stamp denoting ending validity.</comment>
58 </elem>
59 </struct>
60
61
62 </namespace>
63 </specification>
1 <?xml version="1.0" encoding="UTF-8" ?>
2
3 <specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
4 xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
5 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6 xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd"
7 identity="Location.xid.xml">
8 <title>GeoSpatial Location Definition </title>
9
10 <!-- Include all known definitions -->
11 <import ref="http://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" />
12 <import ref="http://xid.location.studio/GeoSpatial/V1.0/SpatialDefs.xid.xml" local="SpatialDefs.xid.xml" />
13 <import ref="http://xid.location.studio/GeoSpatial/V1.0/Address.xid.xml" local="Address.xid.xml" />
14 <import ref="http://xid.location.studio/GeoSpatial/V1.0/Shape.xid.xml" local="Shape.xid.xml" />
15
16 <namespace name="GeoSpatial">
17 <using namespace="Tensor"/>
18
19 <!--
20 *************************************
21 * Location Definition.
22 *************************************
23 -->
24 <struct name="Location" type="Object" rttkey="GeoSpatial.ObjectType.Location">
25 <comment>Defines a simple location object comprising a shape with optional name, identity, and address information. Location is typically
26 used to convey basic information about a place. More complex types with uncertainty, confidence, bounds are available in in GeoObject and HPE positioning
27 definitions.</comment>
28
29 <elem name="shape" type="Shape" multiplicity="1" polymorphic="true" ord="21">
30 <comment>
31 The shape of the location. Can be any of the shape types.
32 </comment>
33 </elem>
34
35 <elem name="veracity" type="float32" multiplicity="1" default="-1" ord="22">
36 <comment>
37 Veracity defines the validity of the measurement in the range between 0 and 1.
38 A high score means the estimate is deemed valid and more reliable than a lower score.
39 If no veracity scoring is performed, this will have a value of -1.
40 </comment>
41 </elem>
42
43 <elem name="confidence" type="float32" multiplicity="1" default="-1" ord="23">
44 <comment>The estimate confidence. Valid range is 0.0 to 1.0. Typical value is 0.68 (one standard deviation). Default is -1 for not defined.</comment>
45 </elem>
46
47 <elem name="address" type="GeoSpatial.AddressInfo" multiplicity="0..1" ord="24">
48 <comment>Optional address associated with the GeoObject.</comment>
49 </elem>
50
51 <elem name="floor" type="int16" multiplicity="0..1" default="0" ord="25">
52 <comment>Optional floor number</comment>
53 </elem>
54
55 </struct>
56 </namespace>
57 </specification>
1 <?xml version="1.0" encoding="UTF-8" ?>
2
3 <specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
4 xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
5 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6 xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd"
7 identity="Shape.xid.xml">
8 <title>Shape Definitions</title>
9
10 <import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" />
11
12 <namespace name="GeoSpatial">
13 <using namespace="Tensor"/>
14
15 <!--
16 *******************************************************
17 Shape Datatypes
18 *******************************************************
19 -->
20 <enum name="ShapeType" type="Tensor.int8" default="undefined">
21 <!-- we can reduce this set -->
22 <literal name="undefined" value="0"/>
23 <literal name="Covariance" value="1"/>
24
25 <literal name="Point2D" value="20"/>
26 <literal name="Circle" value="21"/>
27 <literal name="Ellipse" value="22"/>
28 <literal name="Arc" value="23"/>
29 <literal name="ArcBand" value="24"/>
30 <literal name="Polygon" value="25"/>
31
32 <literal name="Point3D" value="30"/>
33 <literal name="Spheroid" value="31"/>
34 <literal name="Ellipsoid" value="32"/>
35 <literal name="Arc3D" value="33"/>
36 <literal name="ArcBand3D" value="34"/>
37 <literal name="Polygon3D" value="35"/>
38 </enum>
39
40 <array name="ShapeTypeArray" type="ShapeType"/>
41
42 <struct name="Shape">
43 <comment>
44 Shapes are used to describe various kinds of geometry.\n
45 When used in an Estimate result the Shape represents the
46 uncertainty area (2D) or uncertainty volume (3D) at the
47 confidence in the Estimate.
48 </comment>
49 <elem name="type" type="ShapeType" multiplicity="1" rttd="true">
50 <comment>This is the one thing all shapes have in common</comment>
51 </elem>
52 </struct>
53 </namespace>
54 </specification>
1 <?xml version="1.0" encoding="UTF-8" ?>
2
3 <specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
4 xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
5 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6 xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd"
7 identity="ShapeArcBand.xid.xml">
8 <title>Arc and Arcband shapes 2D and 3D</title>
9
10 <import ref="https://xid.location.studio/GeoSpatial/V1.0/ShapeCommon.xid.xml" local="ShapeCommon.xid.xml" />
11
12 <namespace name="GeoSpatial">
13 <using namespace="Tensor"/>
14
15 <struct name="Arc" type="Point2D" rttkey="GeoSpatial.ShapeType.Arc">
16 <comment>In an Estimate, the shape is the uncertainty area.</comment>
17 <elem name="outer" type="float32" multiplicity="1">
18 <tag name="unit" value="meters"/>
19 <comment>outer horizontal radius</comment>
20 </elem>
21 <elem name="inner" type="float32" multiplicity="1">
22 <tag name="unit" value="meters"/>
23 <comment>inner horizontal radius</comment>
24 </elem>
25 <elem name="direction" type="float32" multiplicity="1">
26 <tag name="unit" value="degrees"/>
27 <comment>
28 Angle from north to center of arc.\n
29 0 &lt;= direction &lt; 360
30 </comment>
31 </elem>
32 <elem name="opening" type="float32" multiplicity="1">
33 <tag name="unit" value="degrees"/>
34 <comment>
35 Horizontal coverage angle of the antenna face; half on either side of direction.\n
36 0 &lt; opening &lt;= 360.
37 </comment>
38 </elem>
39 </struct>
40
41 <struct name="ArcBand" type="Point2D" rttkey="GeoSpatial.ShapeType.ArcBand">
42 <comment>In an Estimate, the shape is the uncertainty area.</comment>
43 <elem name="major_outer" type="float32" multiplicity="1">
44 <tag name="unit" value="meters"/>
45 <comment>major axis outer radius</comment>
46 </elem>
47 <elem name="major_inner" type="float32" multiplicity="1">
48 <tag name="unit" value="meters"/>
49 <comment>major axis inner radius</comment>
50 </elem>
51 <elem name="minor_outer" type="float32" multiplicity="1">
52 <tag name="unit" value="meters"/>
53 <comment>minor axis outer radius</comment>
54 </elem>
55 <elem name="minor_inner" type="float32" multiplicity="1">
56 <tag name="unit" value="meters"/>
57 <comment>minor axis inner radius</comment>
58 </elem>
59
60 <elem name="orient" type="float32" multiplicity="1">
61 <tag name="unit" value="degrees"/>
62 <comment>
63 Angle between north and major axis.\n
64 0 &lt;= orient &lt; 180.
65 </comment>
66 </elem>
67
68 <elem name="direction" type="float32" multiplicity="1">
69 <tag name="unit" value="degrees"/>
70 <comment>
71 Angle from north to center of arc.\n
72 0 &lt;= direction &lt; 360
73 </comment>
74 </elem>
75 <elem name="opening" type="float32" multiplicity="1">
76 <tag name="unit" value="degrees"/>
77 <comment>
78 Horizontal coverage angle of the antenna face; half on either side of direction.\n
79 0 &lt; opening &lt;= 360.
80 </comment>
81 </elem>
82 </struct>
83
84 <struct name="Arc3D" type="Point3D" rttkey="GeoSpatial.ShapeType.Arc3D">
85 <comment>
86 In an Estimate, the shape is the uncertainty area.
87 </comment>
88 <elem name ="height" type="float32" multiplicity="1">
89 <tag name="unit" value="meters"/>
90 <comment>Height above alt(itude) area is projected from.</comment>
91 </elem>
92 <elem name="outer" type="float32" multiplicity="1">
93 <tag name="unit" value="meters"/>
94 <comment>outer radius/distance/reach</comment>
95 </elem>
96 <elem name="inner" type="float32" multiplicity="1">
97 <tag name="unit" value="meters"/>
98 <comment>inner radius/distance/reach</comment>
99 </elem>
100 <elem name="direction" type="float32" multiplicity="1">
101 <tag name="unit" value="degrees"/>
102 <comment>
103 Angle from north to center of arc.\n
104 0 &lt;= direction &lt; 360
105 </comment>
106 </elem>
107 <elem name="opening" type="float32" multiplicity="1">
108 <tag name="unit" value="degrees"/>
109 <comment>
110 Horizontal coverage of the antenna face; half on either side of direction.\n
111 0 &lt; opening &lt;= 360.
112 </comment>
113 </elem>
114 </struct>
115
116 <struct name="ArcBand3D" type="Point3D" rttkey="GeoSpatial.ShapeType.ArcBand3D">
117 <comment>
118 In an Estimate, the shape is the uncertainty area.
119 </comment>
120 <elem name ="height" type="float32" multiplicity="1">
121 <tag name="unit" value="meters"/>
122 <comment>Height above alt(itude) area is projected from.</comment>
123 </elem>
124 <elem name="direction" type="float32" multiplicity="1">
125 <tag name="unit" value="degrees"/>
126 <comment>
127 Angle from north to center of arc.\n
128 0 &lt;= direction &lt; 360
129 </comment>
130 </elem>
131 <elem name ="tilt" type="float32" multiplicity="1">
132 <tag name="unit" value="degrees"/>
133 <comment>
134 Vertical tilt from horizon.\n
135 -90.0 &lt;= tilt &lt;= 90.0
136 </comment>
137 </elem>
138
139 <elem name="opening" type="float32" multiplicity="1">
140 <tag name="unit" value="degrees"/>
141 <comment>
142 Horizontal coverage angle of the antenna face; half on either side of direction.\n
143 0 &lt; opening &lt;= 360.
144 </comment>
145 </elem>
146 <elem name="vopening" type="float32" multiplicity="1">
147 <tag name="unit" value="degrees"/>
148 <comment>
149 Vertical coverage angle of the face; half on either side of tilt.\n
150 0 &lt; opening &lt;= 360.
151 </comment>
152 </elem>
153
154 <elem name="radius" type="float32" multiplicity="1">
155 <tag name="unit" value="meters"/>
156 <comment>
157 radius/distance/reach.\n
158 0 &lt; radius
159 </comment>
160 </elem>
161
162 </struct>
163
164
165
166 </namespace>
167 </specification>
1 <?xml version="1.0" encoding="UTF-8" ?>
2
3 <specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
4 xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
5 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6 xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd"
7 identity="ShapeCommon.xid.xml">
8 <title>Common Shape Definitions</title>
9 <import ref="https://xid.location.studio/GeoSpatial/V1.0/Shape.xid.xml" local="Shape.xid.xml" />
10
11 <namespace name="GeoSpatial">
12 <using namespace="Tensor"/>
13
14 <struct name="Point2D" type="Shape" rttkey="GeoSpatial.ShapeType.Point2D">
15 <comment>Defines a 2D (lat, lon) point in WGS84 coordinates.</comment>
16 <elem name="lat" type="float64" multiplicity="1">
17 <tag name="unit" value="degrees"/>
18 <tag name="reference" value="WGS84"/>
19 </elem>
20 <elem name="lon" type="float64" multiplicity="1">
21 <tag name="unit" value="degrees"/>
22 <tag name="reference" value="WGS84"/>
23 </elem>
24 </struct>
25
26 <struct name="Circle" type="Point2D" rttkey="GeoSpatial.ShapeType.Circle">
27 <comment>In an Estimate, the shape is the uncertainty area.</comment>
28 <elem name="radius" type="float32" multiplicity="1">
29 <tag name="unit" value="meters"/>
30 <comment>
31 In an estimate, radius is the horizontal uncertainty.\n
32 0 &lt;= radius
33 </comment>
34 </elem>
35 </struct>
36
37 <struct name="Ellipse" type="Point2D" rttkey="GeoSpatial.ShapeType.Ellipse">
38 <comment>In an Estimate, the shape is the uncertainty area.</comment>
39 <elem name="major" type="float32" multiplicity="1">
40 <tag name="unit" value="meters"/>
41 <comment>major axis horizontal radius</comment>
42 </elem>
43 <elem name="minor" type="float32" multiplicity="1">
44 <tag name="unit" value="meters"/>
45 <comment>minor axis horizontal radius</comment>
46 </elem>
47 <elem name="orient" type="float32" multiplicity="1">
48 <tag name="unit" value="degrees"/>
49 <comment>
50 Angle between north and major axis.\n
51 0 &lt;= orient &lt; 180.
52 </comment>
53 </elem>
54 </struct>
55
56 <struct name="Point3D" type="Point2D" rttkey="GeoSpatial.ShapeType.Point3D">
57 <comment>Defines a 3D (lat, lon, alt) point in WGS84 coordinates.</comment>
58 <elem name="alt" type="float64" multiplicity="1">
59 <tag name="unit" value="meters"/>
60 <tag name="reference" value="WGS84"/>
61 </elem>
62 </struct>
63
64 <struct name="Spheroid" type="Point3D" rttkey="GeoSpatial.ShapeType.Spheroid">
65 <comment>
66 Spheroid is the shape of a circular "pill".\n
67 In an Estimate, the shape is the uncertainty area.
68 </comment>
69 <elem name="radius" type="float32" multiplicity="1">
70 <tag name="unit" value="meters"/>
71 <comment>
72 In an estimate, radius is the horizontal uncertainty.\n
73 0 &lt;= radius
74 </comment>
75 </elem>
76 <elem name="vert" type="float32" multiplicity="1">
77 <tag name="unit" value="meters"/>
78 <comment>
79 In an estimate, vert is the vertical uncertainty.\n
80 0 &lt;= vert
81 </comment>
82 </elem>
83 </struct>
84
85 <struct name="Ellipsoid" type="Point3D" rttkey="GeoSpatial.ShapeType.Ellipsoid">
86 <comment>
87 Ellipsoid is the shape of an oblong "pill" at an orientation.\n
88 In an Estimate, the shape is the uncertainty area.
89 </comment>
90 <elem name="major" type="float32" multiplicity="1">
91 <tag name="unit" value="meters"/>
92 <comment>major axis radius/distance/reach</comment>
93 </elem>
94 <elem name="minor" type="float32" multiplicity="1">
95 <tag name="unit" value="meters"/>
96 <comment>minor axis radius/distance/reach</comment>
97 </elem>
98 <elem name="orient" type="float32" multiplicity="1">
99 <tag name="unit" value="degrees"/>
100 <comment>
101 angle between north and major axis.\n
102 0 &lt;= orient &lt; 180.
103 </comment>
104 </elem>
105 <elem name="vert" type="float32" multiplicity="1">
106 <tag name="unit" value="meters"/>
107 <comment>
108 In an estimate, vert is the vertical uncertainty.\n
109 0 &lt;= vert
110 </comment>
111 </elem>
112 </struct>
113
114 </namespace>
115 </specification>
1 <?xml version="1.0" encoding="UTF-8" ?>
2
3 <specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
4 xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
5 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6 xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd"
7 identity="ShapeArcBand.xid.xml">
8 <title>Arc and Arcband shapes 2D and 3D</title>
9
10 <import ref="https://xid.location.studio/GeoSpatial/V1.0/ShapeCommon.xid.xml" local="ShapeCommon.xid.xml" />
11
12 <namespace name="GeoSpatial">
13 <using namespace="Tensor"/>
14
15 <enum name="PolygonArrayUnits" type="Tensor.int8" default="MicroDegrees">
16 <literal name="undefined" value="0"/>
17 <literal name="MicroDegrees" value="1"/>
18 <literal name="Meters" value="2"/>
19 <literal name="Millimeters" value="2"/>
20 </enum>
21
22 <array name="PointInt32" type="Tensor.int32" size="2">
23 <comments>Point (x,y) value with Int32 ordinals.</comments>
24 </array> />
25
26 <array name="PointInt32Array" type="PointInt32">
27 <comment>Array of PointInt32 values.</comment>
28 </array>
29
30 <struct name="Polygon" type="Point2D" rttkey="GeoSpatial.ShapeType.Polygon">
31 <comment>
32 Polygon is a 2D polygon with lat/lon at the geometric center.
33 </comment>
34
35 <elem name="units" type="PolygonArrayUnits" multiplicity="1" default="1">
36 <comment>Defines the units of the polgyon points. By default, thease are in units of microdegrees
37 (rotational frame, e.g WGS84 lat/lon), which limits resolution to a nominal 11 cm depending where
38 it is defined on the globe. For higher resolution, use meters or millimeters,
39 which defines the polygon a local cartesian reference frame.
40 </comment>
41 </elem>
42
43 <elem name="points" type="PointInt32Array" multiplicity="1" >
44 <tag name="unit" value="PolgonArrayUnits"/>
45 <comment>Sequential points of polygon.</comment>
46 </elem>
47 </struct>
48
49
50 <struct name="Polygon3D" type="Point3D" rttkey="GeoSpatial.ShapeType.Polygon3D">
51 <comment>
52 Polygon is a 3D polygon with lat/lon at the geometric center. The altitude element represents
53 the minimum altitude value of the bounding box. The 'vert' element represents the vertical dimension
54 relative to the altitude.
55 </comment>
56
57 <elem name="units" type="PolygonArrayUnits" multiplicity="1" default="1">
58 <comment>
59 Defines the units of the polgyon points. By default, thease are in units of microdegrees
60 (rotational frame, e.g WGS84 lat/lon), which limits resolution to a nominal 11 cm depending where
61 it is defined on the globe. For higher resolution, use meters or millimeters,
62 which defines the polygon a local cartesian reference frame.
63 </comment>
64 </elem>
65
66 <elem name="points" type="PointInt32Array" multiplicity="1" >
67 <tag name="unit" value="PolgonArrayUnits"/>
68 <comment>Sequential points of polygon.</comment>
69 </elem>
70
71 <elem name="vert" type="float32" multiplicity="1">
72 <tag name="unit" value="meters"/>
73 <comment>
74 The 'vert' element represents the vertical dimension
75 relative to the altitude.
76 </comment>
77 </elem>
78
79 </struct>
80
81
82 </namespace>
83 </specification>
...@@ -20,12 +20,13 @@ ...@@ -20,12 +20,13 @@
20 * Enumerations 20 * Enumerations
21 ************************************* 21 *************************************
22 --> 22 -->
23 <enum name="CoordRefFrameType" type="Tensor.int8" default="unknown"> 23 <enum name="ReferenceFrame" type="Tensor.int8" default="WGS84">
24 <comment>Enumerations defines the supported coordinate reference frames</comment> 24 <comment>Enumerations defines the supported coordinate reference frames</comment>
25 <literal name="unknown" value="0"></literal> 25 <literal name="undefined" value="0"></literal>
26 <literal name="WGS84" value="1"></literal> 26 <literal name="WGS84" value="1"></literal>
27 <literal name="ENU" value="2"></literal> 27 <literal name="ENU" value="2"></literal>
28 <literal name="NED" value="3"></literal> 28 <literal name="NED" value="3"></literal>
29 <literal name="LocalXYZ" value="3" />
29 </enum> 30 </enum>
30 31
31 32
...@@ -36,25 +37,32 @@ ...@@ -36,25 +37,32 @@
36 --> 37 -->
37 <struct name="BoundingBox" pack="true"> 38 <struct name="BoundingBox" pack="true">
38 39
39 <comment>defines the bounding box parameters</comment> 40 <comment>Defines a bounding box in WGS84 reference frame.</comment>
40 <elem name="latmin" type="Tensor.float64" multiplicity="1" > 41 <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>
41 <comment>minimum value of the latitude</comment> 42 <elem name="latmin" type="Tensor.int32" multiplicity="1" >
43 <comment>Minimum value of the latitude.</comment>
44 <tag name="unit" value="microdegrees"/>
42 </elem> 45 </elem>
43 <elem name="latmax" type="Tensor.float64" multiplicity="1" > 46 <elem name="latmax" type="Tensor.int32" multiplicity="1" >
44 <comment>maximum value of the latitude</comment> 47 <comment>Maximum value of the latitude.</comment>
48 <tag name="unit" value="microdegrees"/>
45 </elem> 49 </elem>
46 <elem name="lonmin" type="Tensor.float64" multiplicity="1" > 50 <elem name="lonmin" type="Tensor.int32" multiplicity="1" >
47 <comment>minimum value of the longitude</comment> 51 <comment>Minimum value of the longitude.</comment>
52 <tag name="unit" value="microdegrees"/>
48 </elem> 53 </elem>
49 <elem name="lonmax" type="Tensor.float64" multiplicity="1" > 54 <elem name="lonmax" type="Tensor.int32" multiplicity="1" >
50 <comment>maximum value of the longitude</comment> 55 <comment>Maximum value of the longitude.</comment>
56 <tag name="unit" value="microdegrees"/>
51 </elem> 57 </elem>
52 58
53 <elem name="altmin" type="Tensor.float64" multiplicity="1" > 59 <elem name="altmin" type="Tensor.int32" multiplicity="1" >
54 <comment>minimum value of the altitude</comment> 60 <comment>Minimum value of the altitude.</comment>
61 <tag name="unit" value="microdegrees"/>
55 </elem> 62 </elem>
56 <elem name="altmax" type="Tensor.float64" multiplicity="1" > 63 <elem name="altmax" type="Tensor.int32" multiplicity="1" >
57 <comment>maximum value of the altitude</comment> 64 <comment>Maximum value of the altitude.</comment>
65 <tag name="unit" value="microdegrees"/>
58 </elem> 66 </elem>
59 67
60 </struct> 68 </struct>
...@@ -77,6 +85,56 @@ ...@@ -77,6 +85,56 @@
77 </elem> 85 </elem>
78 </struct> 86 </struct>
79 87
88 *************************************
89 * Enumerations
90 *************************************
91 -->
92 <enum name="ObjectType" type="Tensor.int8" default="Object">
93 <comment>Enumeration defines the supported Object types.</comment>
94 <literal name="Object" value="0"></literal>
95 <literal name="GeoObject" value="1"></literal>
96 <literal name="Location" value="2"></literal>
97 <literal name="EventInfo" value="3"></literal>
98 <literal name="Producer" value="4"></literal>
99 </enum>
80 100
101 <!--
102 *************************************
103 * Object Definition.
104 *************************************
105 -->
106 <struct name="Object">
107 <comment>
108 Defines the base Object comprising id, optional name, description, and user data (JSON).
109 </comment>
110 <elem name="typeObject" type="ObjectType" multiplicity="1" rttd="true" ord="1">
111 <comment>Element indicates the type of the Object</comment>
112 </elem>
113
114 <elem name="uuid" type="Tensor.UUID" multiplicity="1" ord="2">
115 <comment>Unique identifier for this object.</comment>
116 </elem>
117
118 <elem name="uriExternal" type="Tensor.Uri" multiplicity="0..1" ord="3">
119 <comment>Optional external identifier for this object.</comment>
120 </elem>
121
122 <elem name="uriClassifier" type="Tensor.Uri" multiplicity="0..1" ord="4">
123 <comment>Optional external classifier identifier for this object.</comment>
124 </elem>
125
126 <elem name="name" type="Tensor.string" multiplicity="0..1" ord="5">
127 <comment>Optional user friendly name of the GeoObject.</comment>
128 </elem>
129
130 <elem name="description" type="Tensor.string" multiplicity="0..1" ord="6">
131 <comment>Optional user friendly description of the GeoObject.</comment>
132 </elem>
133
134 <elem name="data" type="Tensor.JSON" multiplicity="0..1" ord="7">
135 <comment>Optional JSON data associated with this object.</comment>
136 </elem>
137 </struct>
138
81 </namespace> 139 </namespace>
82 </specification> 140 </specification>
......
1 <?xml version="1.0" encoding="UTF-8" ?>
2
3 <specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
4 xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
5 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6 xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd"
7 identity="HpeUsage.xid.xml">
8 <title>HPE Usage Messages</title>
9 <comment>This file the usage messages produced by the HPE.</comment>
10
11 <import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" />
12 <import ref="https://xid.location.studio/HPE/V1.2/HpeCore.xid.xml" local="HpeCore.xid.xml" />
13 <import ref="https://xid.location.studio/Tensor/V1.0.0/Logging.xid.xml" local="Logging.xid.xml" />
14
15 <namespace name="HPE">
16 <using namespace="Tensor"/>
17 <using namespace="Logging"/>
18
19 <!--Initialization Report Msg-->
20 <struct name="InitializationReport" type="Logging.UsageMsg" rttkey='"tpf://hpe/initrpt"'>
21 <comment>
22 Message captures HPE initialization data.
23 </comment>
24
25 <elem name="state" type="StateInfo" multiplicity="1">
26 <comment>
27 State information.
28 </comment>
29 </elem>
30 </struct>
31
32 <!--Observation Report Msg-->
33 <struct name="ObservationReport" type="Logging.UsageMsg" rttkey='"tpf://hpe/obsrpt"'>
34 <comment>
35 Message captures HPE observation data for playback purposes and debugging.
36 </comment>
37
38 <elem name="observations" type="ObservationSet" multiplicity="1">
39 <comment>
40 Observation Data provided by the caller.
41 </comment>
42 </elem>
43
44 <elem name="refdata" type="ReferenceDataSet" multiplicity="0..1">
45 <comment>
46 Contains reference data provided by the caller.
47 </comment>
48 </elem>
49
50 <elem name="directive" multiplicity="0..*" type="Tensor.NameValue">
51 <comment>
52 A set of directives to influence processing. Unknown directives are ignored.
53 </comment>
54 </elem>
55 </struct>
56
57 <!--TaskReport Msg-->
58 <struct name="TaskReport" type="Logging.UsageMsg" rttkey='"tpf://hpe/taskrpt"'>
59 <comment>
60 Message reports processing task result data. Tasks are any computational elem
61 within the HPE including calculators, converters, estimators.
62 </comment>
63 <elem name="taskid" type="string" multiplicity="1">
64 <comment>
65 The unique tasks identifier. A source may have multiple tasks, this field assigns
66 an identifier that uniquely characterizes what the task was that was accomplished.
67 </comment>
68 </elem>
69 <elem name="start" type="datetime" multiplicity="1">
70 <comment>
71 The start time at which the processor is used.
72 </comment>
73 </elem>
74 <elem name="duration" type="uint16" multiplicity="1">
75 <tag name="unit" value="msec"/>
76 <comment>
77 The duration of the processing in msec. This is not meant to be a high
78 resolution duration monitoring, implement a metric counter for precise timing data.
79 </comment>
80 </elem>
81 <elem name="status" type="ProcessingStatus" multiplicity="1">
82 <comment>The result of the processor use, typically success or failure.</comment>
83 </elem>
84 </struct>
85
86 <!--Position Report Msg-->
87 <struct name="PositionReport" type="Logging.UsageMsg" rttkey='"tpf://hpe/posrpt"'>
88 <comment>
89 Usage message reports position information produced by HPE.
90 </comment>
91 <elem name="position" type="HPE.Spheroid" multiplicity="1">
92 <comment>The 2D/3D position reported. </comment>
93 </elem>
94 <elem name="speed" type="int16" multiplicity="1">
95 <tag name="unit" value="cm/sec"/>
96 <comment>The observed speed. O if not known.</comment>
97 </elem>
98 <elem name="heading" type="int16" multiplicity="1">
99 <tag name="unit" value="degrees"/>
100 <comment>Observed heading relative true north (azimuth).</comment>
101 </elem>
102 <elem name="veracity" type="byte" multiplicity="1">
103 <comment>
104 Veracity defines the validity of the measurement in the range between 0 and 100.
105 A high score means the estimate is deemed valid and more reliable than a lower score.
106 If no veracity scoring is performed, this will have a value of 255
107 </comment>
108 </elem>
109 <elem name="confidence" type="byte" multiplicity="1">
110 <comment>The estimate confidence. Valid range is 0 to 100</comment>
111 </elem>
112 <elem name="calctype" type="string" multiplicity="1">
113 <comment>
114 Positioning calculation stereo type specifier (hybrid, cellular, slam, etc.). If not defined set to "".
115 </comment>
116 </elem>
117 <elem name="obstype" type="ObservationType" multiplicity="1">
118 <comment>The last observation type used to create the estimate.</comment>
119 </elem>
120 </struct>
121
122 </namespace>
123 </specification>
1 <?xml version="1.0" encoding="UTF-8" ?>
2
3 <specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
4 xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
5 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6 xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd"
7 identity="HpeWiFi.xid.xml">
8 <title>HPE Wi-Fi Data Definition</title>
9 <comment>File contains data definitions observation datatypes.</comment>
10
11 <import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" />
12 <import ref="https://xid.location.studio/HPE/V1.2/HpeCore.xid.xml" local="HpeCore.xid.xml" />
13
14 <namespace name="HPE.WiFi">
15 <using namespace="Tensor"/>
16 <using namespace="HPE"/>
17
18 <array name="SSID" type="int8" size="33">
19 <comment>ssid string of wifi access point</comment>
20 </array>
21
22 <struct name="WiFiRssi" type="ObservationEpoch" pack="true" rttkey="HPE.ObservationType.WIFI_RSS">
23 <comment>Wi-Fi RSSI observation</comment>
24 <elem name ="rssi" type="uint8" multiplicity="1">
25 <tag name="unit" value="-dBm"/>
26 <comment>RSS signal measured value(used as negative). </comment>
27 </elem>
28 <elem name ="macaddr" type="mac48" multiplicity="1">
29 <comment>Access point mac address</comment>
30 </elem>
31 </struct>
32
33 <struct name="WiFiRssiExt" type="WiFiRssi" rttkey="HPE.ObservationType.WIFI_RSS_EXT">
34 <comment>Extension of the WifiRssi data structure</comment>
35 <elem name="ssid" type="SSID" multiplicity="1">
36 <comment>ssid of the wifi access point</comment>
37 </elem>
38 <elem name="freq" type="float32" multiplicity="1">
39 <comment>Radio frequency of the Wifi Access point</comment>
40 </elem>
41 <elem name="uncert" type="float32" multiplicity="1">
42 <comment> uncertainty of the rssi measurements</comment>
43 </elem>
44 </struct>
45
46 </namespace>
47 </specification>
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!