Added ILP V1.1.1 and SLAM V1.0.0_alpha API Definitions.
Showing
11 changed files
with
1769 additions
and
0 deletions
ILP/SLAM/V1.0.0_alpha/CommonDefs.xid.xml
0 → 100644
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="CommonDefs.xid.xml"> | ||
8 | <title>SLAM Common Definitions</title> | ||
9 | <comment>This file defines commonly used structures and enumerations used throughout the SLAM system.</comment> | ||
10 | |||
11 | <!-- Include all known definitions --> | ||
12 | <import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" /> | ||
13 | <import ref="https://xid.location.studio/HPE/V1.1.1/HpeCore.xid.xml" local="HpeCore.xid.xml" /> | ||
14 | |||
15 | <namespace name="SLAM"> | ||
16 | |||
17 | <using namespace="HPE"/> | ||
18 | <using namespace="Tensor"/> | ||
19 | |||
20 | <!-- | ||
21 | ************************************* | ||
22 | * Enumerations | ||
23 | ************************************* | ||
24 | --> | ||
25 | |||
26 | <enum name="CoordRefFrameType" type="Tensor.int8" default="unknown"> | ||
27 | <comment>Enumerations defines the supported coordinate reference frames</comment> | ||
28 | <literal name="unknown" value="0"></literal> | ||
29 | <literal name="WGS84" value="1"></literal> | ||
30 | <literal name="ENU" value="2"></literal> | ||
31 | <literal name="NED" value="3"></literal> | ||
32 | </enum> | ||
33 | |||
34 | |||
35 | <!-- | ||
36 | ************************************* | ||
37 | * HashKey Definition. | ||
38 | ************************************* | ||
39 | --> | ||
40 | |||
41 | <type name="HashKey" size="12"> | ||
42 | <comment>12 byte hashkey for reference point identifiers.</comment> | ||
43 | <!-- <lang name="c" type="UUID" include="SLAM/CXMF/haskey.h"/> --> | ||
44 | <lang name="cpp" type="::SLAM::HashKey" include="SLAM/HashKey.h"/> | ||
45 | <!-- | ||
46 | <lang name="java" type="SlamHasKey" include="com.comtechtel.tensor.SLAM.Hashkey"/> | ||
47 | <lang name="node" type=" SlamHasKey "/> | ||
48 | --> | ||
49 | </type> | ||
50 | |||
51 | |||
52 | <!-- | ||
53 | ************************************* | ||
54 | * BoundingBox Definition. | ||
55 | ************************************* | ||
56 | --> | ||
57 | <struct name="BoundingBox" pack="true"> | ||
58 | |||
59 | <comment>defines the bounding box parameters</comment> | ||
60 | <elem name="latmin" type="Tensor.float64" multiplicity="1" > | ||
61 | <comment>minimum value of the latitude</comment> | ||
62 | </elem> | ||
63 | <elem name="latmax" type="Tensor.float64" multiplicity="1" > | ||
64 | <comment>maximum value of the latitude</comment> | ||
65 | </elem> | ||
66 | <elem name="lonmin" type="Tensor.float64" multiplicity="1" > | ||
67 | <comment>minimum value of the longitude</comment> | ||
68 | </elem> | ||
69 | <elem name="lonmax" type="Tensor.float64" multiplicity="1" > | ||
70 | <comment>maximum value of the longitude</comment> | ||
71 | </elem> | ||
72 | |||
73 | <elem name="altmin" type="Tensor.float64" multiplicity="1" > | ||
74 | <comment>minimum value of the altitude</comment> | ||
75 | </elem> | ||
76 | <elem name="altmax" type="Tensor.float64" multiplicity="1" > | ||
77 | <comment>maximum value of the altitude</comment> | ||
78 | </elem> | ||
79 | |||
80 | </struct> | ||
81 | |||
82 | <!-- | ||
83 | ************************************* | ||
84 | * ContactInfo Definition. | ||
85 | ************************************* | ||
86 | --> | ||
87 | <struct name="ContactInfo"> | ||
88 | <elem name="givenname" multiplicity ="1" type="string" > | ||
89 | <comment>Contact given (first) name. Default is empty.</comment> | ||
90 | </elem> | ||
91 | <elem name="surname" multiplicity ="1" type="string" > | ||
92 | <comment>Contact surname (last name). Default is empty.</comment> | ||
93 | </elem> | ||
94 | |||
95 | <elem name="email" multiplicity ="1" type="string" > | ||
96 | <comment>Contact email addres. Default is empty.</comment> | ||
97 | </elem> | ||
98 | <elem name="phone" multiplicity ="1" type="string" > | ||
99 | <comment>Contact phone number. Default is empty.</comment> | ||
100 | </elem> | ||
101 | </struct> | ||
102 | |||
103 | <!-- | ||
104 | ************************************* | ||
105 | * AddressInfo Definition. | ||
106 | ************************************* | ||
107 | --> | ||
108 | <struct name="AddressInfo"> | ||
109 | <elem name="address1" multiplicity ="1" type="string"> | ||
110 | <comment>First line street address. Default is empty.</comment> | ||
111 | </elem> | ||
112 | <elem name="address2" multiplicity ="1" type="string"> | ||
113 | <comment>Second line street address. Default is empty.</comment> | ||
114 | </elem> | ||
115 | <elem name="City" multiplicity ="1" type="string"> | ||
116 | <comment>Name of City. Default is empty.</comment> | ||
117 | </elem> | ||
118 | <elem name="StateRegion" multiplicity ="1" type="string"> | ||
119 | <comment>State or region. Two character state definitions ok for U.S. addresses. Default is empty.</comment> | ||
120 | </elem> | ||
121 | <elem name="PostalCode" multiplicity ="1" type="string"> | ||
122 | <comment>Postal code or zip code. Default is empty.</comment> | ||
123 | </elem> | ||
124 | <elem name="Country" multiplicity ="1" type="string"> | ||
125 | <comment>Name of the country. Default is empty.</comment> | ||
126 | </elem> | ||
127 | |||
128 | </struct> | ||
129 | |||
130 | |||
131 | <!-- | ||
132 | ************************************* | ||
133 | * SurveyInfo Definition. | ||
134 | ************************************* | ||
135 | --> | ||
136 | <struct name="SurveyInfo"> | ||
137 | <comment>General information about the survey.</comment> | ||
138 | <elem name="name" multiplicity ="1" type="string" > | ||
139 | <comment>Optional name to describe the identify of the survey</comment> | ||
140 | </elem> | ||
141 | <elem name="flrmax" multiplicity ="1" type="int8" default ="0"> | ||
142 | <comment>Optional maximum floor identifier, default is zero meaning the ground floor</comment> | ||
143 | </elem> | ||
144 | <elem name="flrmin" multiplicity ="1" type="int8" default ="0"> | ||
145 | <comment>Optional minimum floor identifier, default is zero meaning the ground floor</comment> | ||
146 | </elem> | ||
147 | <elem name="appid" multiplicity ="1" type="string" > | ||
148 | <comment>Application identifier used to collect the survey data. Default is empty "".</comment> | ||
149 | </elem> | ||
150 | <elem name="appver" multiplicity ="1" type="string" > | ||
151 | <comment>Application version used to collect the survey data. Default is empty "".</comment> | ||
152 | </elem> | ||
153 | <elem name="createdate" type="datetime" multiplicity="1"> | ||
154 | <comment>Date and time the survey was created or conducted.</comment> | ||
155 | </elem> | ||
156 | <elem name="contact" multiplicity ="0..1" type="ContactInfo" > | ||
157 | <comment>Optional contact information.</comment> | ||
158 | </elem> | ||
159 | <elem name="address" multiplicity ="0..1" type="AddressInfo" > | ||
160 | <comment>Optional address information.</comment> | ||
161 | </elem> | ||
162 | <elem name="datestart" type="datetime" multiplicity="0..1"> | ||
163 | <comment>Date and time of when this survey is valid. Do not define if unknown.</comment> | ||
164 | </elem> | ||
165 | <elem name="dateend" type="datetime" multiplicity="0..1"> | ||
166 | <comment>Last date and time of when this survey is valid. Do not define if unknown.</comment> | ||
167 | </elem> | ||
168 | </struct> | ||
169 | |||
170 | <!-- | ||
171 | ************************************* | ||
172 | * PointOfInterest Definition. | ||
173 | ************************************* | ||
174 | --> | ||
175 | <struct name="PointOfInterest"> | ||
176 | <elem name="name" multiplicity ="1" type="string"> | ||
177 | <comment>Name of the point of interest.</comment> | ||
178 | </elem> | ||
179 | <elem name="floor" multiplicity ="1" type="int16" default ="0"> | ||
180 | <comment>Optional floor identifier, default is zero meaning the ground floor</comment> | ||
181 | </elem> | ||
182 | <elem name="description" multiplicity ="1" type="string"> | ||
183 | <comment>Other information describing the point of interest.</comment> | ||
184 | </elem> | ||
185 | <elem name="location" multiplicity="1" type="Shape" polymorphic="true" > | ||
186 | <comment> | ||
187 | Location of the POI. Polymorphic type, see specializationsfrom Shape for details. | ||
188 | </comment> | ||
189 | </elem> | ||
190 | <elem name="confidence" type="float32" multiplicity="1"> | ||
191 | <comment>Confidence of position shape. Valid range is 0.0 to 1.0</comment> | ||
192 | </elem> | ||
193 | <elem name="address" multiplicity ="0..1" type="AddressInfo" > | ||
194 | <comment>Optional address information.</comment> | ||
195 | </elem> | ||
196 | <elem name="contact" multiplicity ="0..1" type="ContactInfo" > | ||
197 | <comment>Optional contact information.</comment> | ||
198 | </elem> | ||
199 | </struct> | ||
200 | |||
201 | <!-- | ||
202 | ************************************* | ||
203 | * SurveyRecord Definition. | ||
204 | ************************************* | ||
205 | --> | ||
206 | <struct name="SurveyRecord" > | ||
207 | <comment>A Survey Record.</comment> | ||
208 | <elem name="state" multiplicity="1" type="StateInfo"> | ||
209 | <comment> | ||
210 | Required device position and other state information. At least one of | ||
211 | observations or state is required, otherwise there is insufficient data to process. | ||
212 | </comment> | ||
213 | </elem> | ||
214 | |||
215 | <elem name="floor" multiplicity="1" type ="int8" default="0"> | ||
216 | <comment>The floor number of this scan</comment> | ||
217 | </elem> | ||
218 | <elem name="observations" multiplicity="1" type="ObservationSet" > | ||
219 | <comment> | ||
220 | Optional Set of observation data encoded in the format specified by encObs.\n | ||
221 | At least one of observations or state is required, | ||
222 | otherwise there is insufficient data to process. | ||
223 | </comment> | ||
224 | </elem> | ||
225 | </struct> | ||
226 | |||
227 | <!-- | ||
228 | ************************************* | ||
229 | * SurveyData Definition. | ||
230 | ************************************* | ||
231 | --> | ||
232 | <struct name ="SurveyData"> | ||
233 | |||
234 | <elem name ="surveyid" type="Tensor.UUID" multiplicity="1" > | ||
235 | <comment>Identifies the unique id of the survey</comment> | ||
236 | </elem> | ||
237 | |||
238 | <elem name ="part" type="int32" multiplicity="1" default="0"> | ||
239 | <comment>Zero based part index of survey indicating data is in parts.</comment> | ||
240 | </elem> | ||
241 | |||
242 | <elem name ="type" type="uri" multiplcity="1"> | ||
243 | <comment>Type uri, provides information on the type of survey. This can indicate a variety of things and is used for search.</comment> | ||
244 | </elem> | ||
245 | |||
246 | <elem name ="source" type="uri" multiplcity="1"> | ||
247 | <comment>Source uri, provides information on how survey data was sourced, potentially ownership.</comment> | ||
248 | </elem> | ||
249 | |||
250 | <elem name ="veracity" type="float32" multiplcity="1"> | ||
251 | <comment>Veracity of the survey data contained. This is a measure between 0 and 1 about the quality and trustworthiness of the data collected. Veracity of 1 is the highest trust.</comment> | ||
252 | </elem> | ||
253 | |||
254 | |||
255 | <elem name="info" multiplicity="1" type="SurveyInfo"> | ||
256 | <comment> | ||
257 | Optional survey information. | ||
258 | </comment> | ||
259 | </elem> | ||
260 | |||
261 | <elem name="records" multiplicity="0..*" type="SurveyRecord"> | ||
262 | <comment> | ||
263 | Survey record(s) collected by the survey. | ||
264 | </comment> | ||
265 | </elem> | ||
266 | |||
267 | <elem name="pois" multiplicity="0..*" type="PointOfInterest"> | ||
268 | <comment> | ||
269 | Points of interest collected by the survey. | ||
270 | </comment> | ||
271 | </elem> | ||
272 | |||
273 | </struct> | ||
274 | |||
275 | </namespace> | ||
276 | </specification> |
ILP/SLAM/V1.0.0_alpha/ReferenceData.xid.xml
0 → 100644
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="ReferenceData.xid.xml"> | ||
8 | <title>SLAM Tile reference data</title> | ||
9 | <comment>This file defines the SLAM tile refeence definitions and related data types.</comment> | ||
10 | |||
11 | <!-- Include all known definitions --> | ||
12 | <import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" /> | ||
13 | <import ref="https://xid.location.studio/HPE/V1.1.1/HpeCore.xid.xml" local="HpeCore.xid.xml" /> | ||
14 | <import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeGnss.xid.xml" local="HpeGnss.xid.xml" /> | ||
15 | <import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeCellular.xid.xml" local="HpeCellular.xid.xml" /> | ||
16 | <import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeWiFi.xid.xml" local="HpeWiFi.xid.xml" /> | ||
17 | <import ref="https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/CommonDefs.xid" local="SLAM/Commondefs.xid.xml" /> | ||
18 | |||
19 | <namespace name="SLAM"> | ||
20 | |||
21 | <using namespace="HPE"/> | ||
22 | <using namespace="Tensor"/> | ||
23 | <using namespace="HPE.WiFi"/> | ||
24 | <using namespace="HPE.Cellular"/> | ||
25 | |||
26 | <enum name="RefPointValidStatus" type="Tensor.int8" default="Unknown"> | ||
27 | <comment>Reference Validity status.</comment> | ||
28 | <literal name="Unknown" value="0"/> | ||
29 | <literal name="valid" value="1"/> | ||
30 | <literal name="quarantined" value ="2"/> | ||
31 | <literal name="invalid" value="3"/> | ||
32 | </enum> | ||
33 | |||
34 | <enum name="RefPointSyncStatus" type="Tensor.int8" default ="sync_required"> | ||
35 | <comment>synchronization status of the reference point</comment> | ||
36 | <literal name="sync_required" value="0"/> | ||
37 | <literal name="in_sync" value="1"/> | ||
38 | </enum> | ||
39 | |||
40 | <enum name="RefPointUpdateStatus" type="Tensor.int8" default ="updated"> | ||
41 | <comment>update status of the reference point</comment> | ||
42 | <literal name="updated" value="0"/> | ||
43 | <literal name="update_required" value="1"/> | ||
44 | </enum> | ||
45 | |||
46 | <enum name="RefPointType" type="Tensor.int8" default="undefined"> | ||
47 | <comment>Specifies the format of the Reference data.</comment> | ||
48 | <literal name="undefined" value="0"/> | ||
49 | <literal name="RF" value="1"/> | ||
50 | <literal name="Cellular" value="2"/> | ||
51 | <literal name="Wifi" value="3"/> | ||
52 | <literal name="Bluetooth" value="4"/> | ||
53 | <literal name="GenericRF" value="5"/> | ||
54 | </enum> | ||
55 | |||
56 | <!-- | ||
57 | <type name="HashKey" size="16"> | ||
58 | <comment>16 byte UUID</comment> | ||
59 | <lang name="c" type="UUID" include="Tensor/CXMF/uuid.h"/> | ||
60 | <lang name="cpp" type="::Tensor::Types::UUID" include="Tensor/Types/uuid.h"/> | ||
61 | <lang name="java" type="XidUuid" include="com.comtechtel.tensor.xid.XidUuid"/> | ||
62 | <lang name="node" type="XidUuid"/> | ||
63 | </type> | ||
64 | --> | ||
65 | |||
66 | <struct name="RefPoint" > | ||
67 | <comment>defines the base structure of a reference point</comment> | ||
68 | <elem name="type" type="RefPointType" multiplicity="1" rttd="true"> | ||
69 | <comment>Identifies the format/type of the reference data.</comment> | ||
70 | </elem> | ||
71 | |||
72 | <elem name="id" multiplicity="1" type="HashKey" > | ||
73 | <comment>a unique hash of the reference data format and reference point identifier, which is different, depending on the type of the Reference point</comment> | ||
74 | </elem> | ||
75 | |||
76 | <elem name="position" multiplicity="0..1" type="Spheroid" > | ||
77 | <comment>the estimated position of the access point</comment> | ||
78 | </elem> | ||
79 | |||
80 | <elem name ="veracity" multiplicity="1" type="Tensor.float32"> | ||
81 | <comment>The veracity of the reference point, 1= 100% trusted and validated, 0% not trusted at all.</comment> | ||
82 | </elem> | ||
83 | |||
84 | <elem name="validStatus" multiplicity="1" type="RefPointValidStatus"> | ||
85 | <comment>status of the reference point</comment> | ||
86 | </elem> | ||
87 | <elem name="validbegin" type="datetime" multiplicity="1"> | ||
88 | <comment>time stamp of the begining of the valid period</comment> | ||
89 | </elem> | ||
90 | <elem name="validend" type="datetime" multiplicity="1"> | ||
91 | <comment>time stamp of the ending of the valid period</comment> | ||
92 | </elem> | ||
93 | <elem name ="data" type="Tensor.json" multiplicity="0..1"> | ||
94 | <comment>json formatted data specific to the device</comment> | ||
95 | </elem> | ||
96 | <elem name="floor" multiplicity ="0..1" type="int8" > | ||
97 | <comment>Optional floor identifier, default is zero meaning the ground floor</comment> | ||
98 | </elem> | ||
99 | |||
100 | </struct> | ||
101 | |||
102 | <!-- ReferencePoint --> | ||
103 | <struct name="RFRefPoint" type="RefPoint" rttkey="SLAM.RefPointType.RF"> | ||
104 | |||
105 | <comment>structure defines a reference Point.</comment> | ||
106 | <elem name="txpwr" type="Tensor.float32" multiplicity="1"> | ||
107 | <comment>transmission power</comment> | ||
108 | </elem> | ||
109 | <elem name="attenuation" type="Tensor.float32" multiplicity="1"> | ||
110 | <comment> attenuation exponent</comment> | ||
111 | </elem> | ||
112 | <elem name="freq" type="Tensor.float32" multiplicity="1"> | ||
113 | <comment> radio frequency of the reference in Hz</comment> | ||
114 | </elem> | ||
115 | |||
116 | </struct> | ||
117 | |||
118 | <struct name="WifiRefPoint" type="RFRefPoint" rttkey="SLAM.RefPointType.Wifi"> | ||
119 | |||
120 | <elem name="ssid" type="HPE.WiFi.SSID" multiplicity="1"> | ||
121 | <comment>ssid of the access point</comment> | ||
122 | </elem> | ||
123 | <elem name ="macaddr" type="MacAddress48" multiplicity="1"> | ||
124 | <comment>the mac address of the access point</comment> | ||
125 | </elem> | ||
126 | |||
127 | </struct> | ||
128 | |||
129 | <struct name="BluetoothRefPoint" type="RFRefPoint" rttkey="SLAM.RefPointType.Bluetooth"> | ||
130 | |||
131 | <elem name="ssid" type="Tensor.string" multiplicity="1"> | ||
132 | <comment>ssid of the access point</comment> | ||
133 | </elem> | ||
134 | <elem name ="macaddr" type="Tensor.string" multiplicity="1"> | ||
135 | <comment>the mac address of the access point</comment> | ||
136 | </elem> | ||
137 | |||
138 | </struct> | ||
139 | |||
140 | <struct name="CellularRefPoint" type="RFRefPoint" rttkey="SLAM.RefPointType.Cellular"> | ||
141 | |||
142 | <elem name ="cid" type="CellId" multiplicity="1"/> | ||
143 | <elem name ="antenna" type="AntennaSpec" multiplicity="1"/> | ||
144 | </struct> | ||
145 | |||
146 | <struct name="GenericRFRefPoint" type="RFRefPoint" rttkey="SLAM.RefPointType.GenericRF"> | ||
147 | <elem name="uri" type="Tensor.uri" multiplicity="1"> | ||
148 | <comment>identifier that determines the genericRF type and unique identifier. encoded into the hash key</comment> | ||
149 | </elem> | ||
150 | |||
151 | </struct> | ||
152 | |||
153 | <struct name="RefPointSet"> | ||
154 | <comment>a set of reference points</comment> | ||
155 | <elem name="refpoints" type="RefPoint" multiplicity="0..*" polymorphic="true"/> | ||
156 | |||
157 | </struct> | ||
158 | |||
159 | </namespace> | ||
160 | </specification> |
ILP/SLAM/V1.0.0_alpha/SurveyApi.xid.xml
0 → 100644
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="SurveyApi.xid.xml"> | ||
8 | <title>SLAM Survey API Specifications</title> | ||
9 | <comment> | ||
10 | This file defines the SLAM survey API. The survey API is used to bulk load high-definition survey | ||
11 | data from one or more probe data sets. | ||
12 | </comment> | ||
13 | |||
14 | <!-- Include all known definitions --> | ||
15 | <import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" /> | ||
16 | <import ref="https://xid.location.studio/HPE/V1.1.1/HpeCore.xid.xml" local="HpeCore.xid.xml" /> | ||
17 | <import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeGnss.xid.xml" local="HpeGnss.xid.xml" /> | ||
18 | <import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeCellular.xid.xml" local="HpeCellular.xid.xml" /> | ||
19 | <import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeWiFi.xid.xml" local="HpeWiFi.xid.xml" /> | ||
20 | <import ref="https://xid.location.studio/ILP/V1.1.1/ApiBase.xid" local="SLAM/ApiBase.xid" /> | ||
21 | <import ref="https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/CommonDefs.xid" local="SLAM/Commondefs.xid.xml" /> | ||
22 | <import ref="https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/TileDefinitions.xid" local="SLAM/TileDefinitions.xid.xml" /> | ||
23 | |||
24 | <namespace name="SLAM"> | ||
25 | <using namespace="HPE"/> | ||
26 | <using namespace="Tensor"/> | ||
27 | |||
28 | |||
29 | <!-- | ||
30 | ******************************************************* | ||
31 | Survey Submission API | ||
32 | ******************************************************* | ||
33 | --> | ||
34 | <interface name="Survey"> | ||
35 | <comment>Interface for submitting data to ILP. </comment> | ||
36 | |||
37 | <operation name="Submit"> | ||
38 | <comment> | ||
39 | Interaction submits Survey data. | ||
40 | </comment> | ||
41 | <input name="input" type="InputBase" sid="0x1030"> | ||
42 | <elem name="survey" multiplicity="1" type="SurveyData"></elem> | ||
43 | </input> | ||
44 | <output name="output" type="OutputBase" sid="0x1031"> | ||
45 | <elem name="id" multiplicity="1" type="Tensor.UUID"/> | ||
46 | </output> | ||
47 | </operation> | ||
48 | |||
49 | <operation name="Download"> | ||
50 | <comment>Downloads survey data given id.</comment> | ||
51 | <input name="input" type="InputBase" sid="0x1032"> | ||
52 | <elem name="id" multiplicity="1" type="Tensor.UUID"/> | ||
53 | </input> | ||
54 | <output name="output" type="OutputBase" sid="0x1033"> | ||
55 | <elem name="survey" multiplicity="1" type="SurveyData"></elem> | ||
56 | </output> | ||
57 | </operation> | ||
58 | </interface> | ||
59 | |||
60 | </namespace> | ||
61 | </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="TileDefinitions.xid.xml"> | ||
8 | <title>SLAM Tile Definitions</title> | ||
9 | <comment>This file defines the SLAM tile definitions and related data types.</comment> | ||
10 | |||
11 | <!-- Include all known definitions --> | ||
12 | <import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" /> | ||
13 | <import ref="https://xid.location.studio/HPE/V1.1.1/HpeCore.xid.xml" local="HpeCore.xid.xml" /> | ||
14 | <import ref="https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/CommonDefs.xid" local="SLAM/Commondefs.xid.xml" /> | ||
15 | |||
16 | <namespace name="SLAM"> | ||
17 | |||
18 | <using namespace="HPE"/> | ||
19 | <using namespace="Tensor"/> | ||
20 | |||
21 | <!-- | ||
22 | ************************************* | ||
23 | * Enumerations | ||
24 | ************************************* | ||
25 | --> | ||
26 | <enum name="TileType" type="Tensor.int8" default="Unknown"> | ||
27 | <comment>Tile data processing status.</comment> | ||
28 | <literal name="Unknown" value="0"/> | ||
29 | <literal name="SparseMeasurementTile" value="1"/> | ||
30 | <literal name="GridModelTile" value="2"/> | ||
31 | <literal name="AggregateTile" value="3"/> | ||
32 | </enum> | ||
33 | |||
34 | |||
35 | <enum name="TileStatus" type="Tensor.int8" default="Unknown"> | ||
36 | <comment>Tile data processing status.</comment> | ||
37 | <literal name="Unknown" value="0"/> | ||
38 | <literal name="Unprocessed" value="1"/> | ||
39 | <literal name="Processed" value="2"/> | ||
40 | </enum> | ||
41 | |||
42 | <enum name="ComputationalMethod" type="Tensor.int8" default="Unknown"> | ||
43 | <comment>Data computational method associated with data contained within the tile.</comment> | ||
44 | <literal name="Unknown" value="0"/> | ||
45 | <literal name="GridSmoothing" value="1"/> | ||
46 | <literal name="GaussianProcess" value="2"/> | ||
47 | </enum> | ||
48 | |||
49 | <!-- | ||
50 | ************************************* | ||
51 | * Tile definition. | ||
52 | ************************************* | ||
53 | --> | ||
54 | <struct name="Tile" > | ||
55 | <comment>defines the base structure of a tile</comment> | ||
56 | |||
57 | <elem name="type" type="TileType" multiplicity="1" rttd="true"> | ||
58 | <comment>identify the type of the tile</comment> | ||
59 | </elem> | ||
60 | |||
61 | <elem name ="tileid" type="Tensor.UUID" multiplicity="1" > | ||
62 | <comment>Identifies the unique id of the tile</comment> | ||
63 | </elem> | ||
64 | |||
65 | <elem name="createdate" type="datetime" multiplicity="1"> | ||
66 | <comment>time stamp of tile creation</comment> | ||
67 | </elem> | ||
68 | |||
69 | <elem name="lastmodified" type="datetime" multiplicity="1"> | ||
70 | <comment>time stamp of last modification</comment> | ||
71 | </elem> | ||
72 | |||
73 | |||
74 | <elem name="bounding" multiplicity="1" type="BoundingBox" > | ||
75 | <comment> Bounding of the tile</comment> | ||
76 | </elem> | ||
77 | |||
78 | <elem name="floormin" type="int8" multiplicity="1" > | ||
79 | <comment>Identifies the minimum floor number</comment> | ||
80 | </elem> | ||
81 | |||
82 | <elem name="floormax" type="int8" multiplicity="1" > | ||
83 | <comment>Identifies the maximum floor number</comment> | ||
84 | </elem> | ||
85 | |||
86 | |||
87 | <elem name="revision" type="Tensor.uint32" multiplicity="1"> | ||
88 | <comment>revision number</comment> | ||
89 | </elem> | ||
90 | |||
91 | <elem name="datatype" multiplicity="1" type="ObservationType" > | ||
92 | <comment>The type of the observation data within the tile .</comment> | ||
93 | </elem> | ||
94 | |||
95 | <elem name="status" type="TileStatus" multiplicity="1" > | ||
96 | <comment>Identifies the data processing status within the tile</comment> | ||
97 | </elem> | ||
98 | |||
99 | <elem name="method" type="ComputationalMethod" multiplicity="1" > | ||
100 | <comment>Identifies the data processing method within the tile</comment> | ||
101 | </elem> | ||
102 | |||
103 | <elem name="source" type="Tensor.uri" multiplicity="1"> | ||
104 | <comment>URI identifies the source of the information provided.</comment> | ||
105 | </elem> | ||
106 | |||
107 | <elem name="label" type="Tensor.string" multiplicity="0..1" > | ||
108 | <comment>label of the tile</comment> | ||
109 | </elem> | ||
110 | <elem name="validbegin" type="datetime" multiplicity="1"> | ||
111 | <comment>time stamp of tile creation</comment> | ||
112 | </elem> | ||
113 | |||
114 | <elem name="validend" type="datetime" multiplicity="1"> | ||
115 | <comment>time stamp of tile creation</comment> | ||
116 | </elem> | ||
117 | |||
118 | </struct> | ||
119 | |||
120 | <!-- | ||
121 | ************************************* | ||
122 | * SparseMeasurementTile definition. | ||
123 | ************************************* | ||
124 | --> | ||
125 | <struct name="SparseMeasurementTile" type="Tile" rttkey="SLAM.TileType.SparseMeasurementTile"> | ||
126 | <comment>The tile is the unit of management for RF reference data, which can overlap, intersect, or be disjoint with other tiles</comment> | ||
127 | |||
128 | <!-- Contained Type Definitions --> | ||
129 | <struct name="RfData" pack="true"> | ||
130 | <comment>Each RF data value is an observed/estimated value of a particular RF signal reference and at a particular position.</comment> | ||
131 | <elem name="idxPos" type ="Tensor.uint16" multiplicity="1"> | ||
132 | <comment>index of the Position element.</comment> | ||
133 | </elem> | ||
134 | <elem name="value" type="Tensor.byte" multiplicity="1"> | ||
135 | <comment>The RF signal strengh value in scaled units where unscaled scaled value = (value + dataOffset)/dataScale.</comment> | ||
136 | </elem> | ||
137 | <elem name="reserved" type="Tensor.byte" multiplicity="1"> | ||
138 | <comment>Reserved storage space.</comment> | ||
139 | </elem> | ||
140 | </struct> | ||
141 | |||
142 | <struct name="Position" pack="true"> | ||
143 | <comment>Each position element represents the physical location of one or more measurements</comment> | ||
144 | <elem name="x" type="Tensor.int24" multiplicity="1"> | ||
145 | <comment>x component of the location of the tile data record</comment> | ||
146 | </elem> | ||
147 | <elem name="y" type="Tensor.int24" multiplicity="1"> | ||
148 | <comment>y component of the location of the tile data record</comment> | ||
149 | </elem> | ||
150 | <elem name="z" type="Tensor.int24" multiplicity="1"> | ||
151 | <comment>z component of the location of the tile data record</comment> | ||
152 | </elem> | ||
153 | <elem name="ux" type="Tensor.uint8" multiplicity="1"> | ||
154 | <comment>uncertainty of x component of the locations</comment> | ||
155 | </elem> | ||
156 | <elem name="uy" type="Tensor.uint8" multiplicity="1"> | ||
157 | <comment>uncertainty of y component of the locations</comment> | ||
158 | </elem> | ||
159 | <elem name="uz" type="Tensor.uint8" multiplicity="1"> | ||
160 | <comment>uncertainty of z component of the locations</comment> | ||
161 | </elem> | ||
162 | <elem name="floor" type="Tensor.int8" multiplicity="1" default="0"> | ||
163 | <comment> the floor number of the measurement record</comment> | ||
164 | </elem> | ||
165 | |||
166 | </struct> | ||
167 | |||
168 | <struct name="RfReference" pack="true"> | ||
169 | <comment>Each RfRerence element identifies a specific RF Reference Point</comment> | ||
170 | <elem name="idRef" type="HashKey" multiplicity="1"> | ||
171 | <comment>UUID of the reference point</comment> | ||
172 | </elem> | ||
173 | <elem name="start" type="Tensor.uint16" multiplicity="1"> | ||
174 | <comment>start index in the RfData array</comment> | ||
175 | </elem> | ||
176 | <elem name="end" type="Tensor.uint16" multiplicity="1"> | ||
177 | <comment>end index in the RFData array.</comment> | ||
178 | </elem> | ||
179 | </struct> | ||
180 | |||
181 | <array name="RfReferenceArray" type="RfReference"/> | ||
182 | <array name="RfDataArray" type="RfData"/> | ||
183 | <array name="PositionArray" type="Position"/> | ||
184 | |||
185 | <!-- Structure Element Definitions --> | ||
186 | |||
187 | <elem name="reframe" type="CoordRefFrameType" multiplicity="1"> | ||
188 | <comment>The type of coordinate frame of the relative locations in the records.</comment> | ||
189 | </elem> | ||
190 | |||
191 | <elem name="posRef" type="Point3D" multiplicity="1"> | ||
192 | <comment> | ||
193 | The reference position of the tile. In the specified coordinate system. Typically | ||
194 | WGS84. | ||
195 | </comment> | ||
196 | </elem> | ||
197 | |||
198 | <elem name="posUncertScale" type="Tensor.float32" multiplicity="1" default="1"> | ||
199 | <comment>The scale of the location uncertainty in Position data.</comment> | ||
200 | </elem> | ||
201 | |||
202 | <elem name="dataScale" type="Tensor.float32" multiplicity="1" default="1"> | ||
203 | <comment>The scale of the measurement in measurement record.</comment> | ||
204 | </elem> | ||
205 | |||
206 | <elem name="dataOffset" type="Tensor.float32" multiplicity="1" default="0"> | ||
207 | <comment>The unscaled offset of the unscaled RfData value.</comment> | ||
208 | </elem> | ||
209 | |||
210 | <elem name="references" type="RfReferenceArray" multiplicity="1"/> | ||
211 | <elem name="rfdata" type="RfDataArray" multiplicity="1"/> | ||
212 | <elem name="positions" type="PositionArray" multiplicity="1"/> | ||
213 | </struct> | ||
214 | |||
215 | <!-- | ||
216 | ************************************* | ||
217 | * TileSet definition. | ||
218 | ************************************* | ||
219 | --> | ||
220 | <struct name="TileSet"> | ||
221 | <comment>A set of tiles in an unpacked list.</comment> | ||
222 | <elem name="tiles" type="Tile" multiplicity="0..*" polymorphic="true"/> | ||
223 | </struct> | ||
224 | |||
225 | <!-- | ||
226 | ************************************* | ||
227 | * SpatialIndex definition. | ||
228 | ************************************* | ||
229 | --> | ||
230 | <struct name="SpatialIndex" > | ||
231 | <comment> </comment> | ||
232 | <elem name="sourceuri" multiplicity="1" type="Tensor.uri" > | ||
233 | <comment> </comment> | ||
234 | </elem> | ||
235 | |||
236 | <elem name="tileid" multiplicity="1" type="Tensor.UUID" > | ||
237 | <comment>The UUID of the tile </comment> | ||
238 | </elem> | ||
239 | |||
240 | <elem name="bounding" multiplicity="1" type="BoundingBox" > | ||
241 | <comment> Bounding of the tile</comment> | ||
242 | </elem> | ||
243 | |||
244 | <elem name="floormin" type="int8" multiplicity="1" > | ||
245 | <comment>Identifies the minimum floor number</comment> | ||
246 | </elem> | ||
247 | |||
248 | <elem name="floormax" type="int8" multiplicity="1" > | ||
249 | <comment>Identifies the maximum floor number</comment> | ||
250 | </elem> | ||
251 | |||
252 | <elem name="datatype" multiplicity="1" type="ObservationType" > | ||
253 | <comment>The type of the observation data within the tile .</comment> | ||
254 | </elem> | ||
255 | |||
256 | <elem name="createdate" type="datetime" multiplicity="1"> | ||
257 | <comment>time stamp of tile creation</comment> | ||
258 | </elem> | ||
259 | |||
260 | <elem name="lastmodified" type="datetime" multiplicity="1"> | ||
261 | <comment>time stamp of last modification</comment> | ||
262 | </elem> | ||
263 | |||
264 | <elem name="validbegin" type="datetime" multiplicity="1"> | ||
265 | <comment>time stamp of tile creation</comment> | ||
266 | </elem> | ||
267 | |||
268 | <elem name="validend" type="datetime" multiplicity="1"> | ||
269 | <comment>time stamp of tile creation</comment> | ||
270 | </elem> | ||
271 | |||
272 | </struct> | ||
273 | |||
274 | <!-- | ||
275 | ************************************* | ||
276 | * ElementIndex Definition. | ||
277 | ************************************* | ||
278 | --> | ||
279 | <struct name="RefPointIndex" > | ||
280 | <comment> </comment> | ||
281 | |||
282 | <elem name="id" multiplicity="1" type="HashKey" > | ||
283 | <comment> </comment> | ||
284 | </elem> | ||
285 | <elem name="sourceUri" multiplicity="1" type="Tensor.uri" > | ||
286 | <comment> </comment> | ||
287 | </elem> | ||
288 | |||
289 | <elem name="type" multiplicity="1" type="RefPointType" > | ||
290 | <comment> </comment> | ||
291 | </elem> | ||
292 | |||
293 | <elem name="position" multiplicity="1" type="Spheroid"> | ||
294 | <comment> coarse location of the tile</comment> | ||
295 | </elem> | ||
296 | |||
297 | <elem name="floor" type="int8" multiplicity="1" > | ||
298 | <comment>Identifies the floor number</comment> | ||
299 | </elem> | ||
300 | |||
301 | <elem name="validStatus" type="RefPointValidStatus" multiplicity="1" > | ||
302 | <comment>Identifies the status of the validity</comment> | ||
303 | </elem> | ||
304 | |||
305 | <elem name="createdate" type="datetime" multiplicity="1"> | ||
306 | <comment>time stamp of tile creation</comment> | ||
307 | </elem> | ||
308 | |||
309 | <elem name="lastmodified" type="datetime" multiplicity="1"> | ||
310 | <comment>time stamp of last modification</comment> | ||
311 | </elem> | ||
312 | |||
313 | </struct> | ||
314 | |||
315 | </namespace> | ||
316 | </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="TileManagementApi.xid.xml"> | ||
8 | <title>SLAM Tile Management API Specifications</title> | ||
9 | <comment>This file defines the SLAM tile management API.</comment> | ||
10 | |||
11 | <!-- Include all known definitions --> | ||
12 | <import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" /> | ||
13 | <import ref="https://xid.location.studio/HPE/V1.1.1/HpeCore.xid.xml" local="HpeCore.xid.xml" /> | ||
14 | <import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeGnss.xid.xml" local="HpeGnss.xid.xml" /> | ||
15 | <import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeCellular.xid.xml" local="HpeCellular.xid.xml" /> | ||
16 | <import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeWiFi.xid.xml" local="HpeWiFi.xid.xml" /> | ||
17 | <import ref="https://xid.location.studio/ILP/V1.1.1/ApiBase.xid" local="SLAM/ApiBase.xid" /> | ||
18 | <import ref="https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/CommonDefs.xid" local="SLAM/Commondefs.xid.xml" /> | ||
19 | <import ref="https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/ReferenceData.xid" local="SLAM/ReferenceData.xid.xml" /> | ||
20 | <import ref="https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/TileDefinitions.xid" local="SLAM/TileDefinitions.xid.xml" /> | ||
21 | |||
22 | |||
23 | <namespace name="SLAM"> | ||
24 | <using namespace="HPE"/> | ||
25 | <using namespace="Tensor"/> | ||
26 | |||
27 | <!-- | ||
28 | ******************************************************* | ||
29 | Tile Management API | ||
30 | ******************************************************* | ||
31 | --> | ||
32 | <interface name="TileManagement"> | ||
33 | <comment>Interface for submitting a new tile to the DB. </comment> | ||
34 | <operation name="DeleteTile"> | ||
35 | <comment> | ||
36 | Interaction to delete a tile. | ||
37 | </comment> | ||
38 | <input name="input" type="InputBase" sid="0x101b"> | ||
39 | <comment>defines the input data for DeleteTile operation</comment> | ||
40 | <elem name="tileid" type="Tensor.UUID" multiplicity="1" > | ||
41 | <comment>element specifies UUID of the the tile</comment> | ||
42 | </elem> | ||
43 | </input> | ||
44 | </operation> | ||
45 | |||
46 | <operation name="UploadTile"> | ||
47 | |||
48 | <comment>interation to upload a tile</comment> | ||
49 | <input name="input" type="InputBase" sid="0x102b"> | ||
50 | <comment>defines the input data structure for UploadTile operation</comment> | ||
51 | <elem name="tile" type="Tile" multiplicity="1"> | ||
52 | <comment>the tile structure</comment> | ||
53 | </elem> | ||
54 | </input> | ||
55 | </operation> | ||
56 | |||
57 | <operation name="UpdateTile"> | ||
58 | |||
59 | <comment>interation to update a tile</comment> | ||
60 | <input name="input" type="InputBase" sid="0x103b"> | ||
61 | <comment>defines the input data structure for UpdateTile operation</comment> | ||
62 | <elem name="tile" type="Tile" multiplicity="1"> | ||
63 | <comment>the tile structure</comment> | ||
64 | </elem> | ||
65 | </input> | ||
66 | |||
67 | </operation> | ||
68 | |||
69 | </interface> | ||
70 | |||
71 | </namespace> | ||
72 | </specification> |
ILP/SLAM/V1.0.0_alpha/TileServiceApi.xid.xml
0 → 100644
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="TileServiceApi.xid.xml"> | ||
8 | <title>Tile Services API Specifications</title> | ||
9 | <comment>This file defines the SLAM tile services API.</comment> | ||
10 | |||
11 | <!-- Include all known definitions --> | ||
12 | <import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" /> | ||
13 | <import ref="https://xid.location.studio/HPE/V1.1.1/HpeCore.xid.xml" local="HpeCore.xid.xml" /> | ||
14 | <import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeGnss.xid.xml" local="HpeGnss.xid.xml" /> | ||
15 | <import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeCellular.xid.xml" local="HpeCellular.xid.xml" /> | ||
16 | <import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeWiFi.xid.xml" local="HpeWiFi.xid.xml" /> | ||
17 | <import ref="https://xid.location.studio/ILP/V1.1.1/ApiBase.xid" local="SLAM/ApiBase.xid" /> | ||
18 | <import ref="https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/CommonDefs.xid" local="SLAM/Commondefs.xid.xml" /> | ||
19 | <import ref="https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/TileDefinitions.xid" local="SLAM/TileDefinitions.xid.xml" /> | ||
20 | |||
21 | |||
22 | <namespace name="SLAM"> | ||
23 | <using namespace="HPE"/> | ||
24 | <using namespace="Tensor"/> | ||
25 | |||
26 | <interface name="TileService"> | ||
27 | <comment>Interface for tile service. </comment> | ||
28 | |||
29 | <!-- DownloadTile operation--> | ||
30 | <operation name="DownloadTile"> | ||
31 | <comment>Interaction download a tile</comment> | ||
32 | <input name="input" type="InputBase" sid="0x101a"> | ||
33 | <comment>defines the input data structure for DownloadTile operation </comment> | ||
34 | <elem name="tileid" type="Tensor.UUID" multiplicity="1" > | ||
35 | <comment>element specifies UUID of the the tile</comment> | ||
36 | </elem> | ||
37 | </input> | ||
38 | |||
39 | <output name="output" type="OutputBase" sid="0x102a"> | ||
40 | <comment>defines the output data for DownloadTile operation</comment> | ||
41 | <elem name="tile" type="Tile" multiplicity="0..1" > | ||
42 | <comment>element defines the downloaded tile</comment> | ||
43 | </elem> | ||
44 | </output> | ||
45 | |||
46 | </operation> | ||
47 | |||
48 | <!-- FindTilesByBoundingbox operation --> | ||
49 | <operation name="FindTilesByBoundingbox"> | ||
50 | <comment>find tiles</comment> | ||
51 | <input name="input" type="InputBase" sid="0x103a"> | ||
52 | <comment>defines the input data for FindTilesByBoundingbox operation </comment> | ||
53 | <elem name="bounding" type="BoundingBox" multiplicity="1"> | ||
54 | <comment>the bounding box that intersect with tiles</comment> | ||
55 | </elem> | ||
56 | <elem name="floor" type="Tensor.int16" multiplicity="0..1"> | ||
57 | <comment>optional floor number for more precise search</comment> | ||
58 | </elem> | ||
59 | </input> | ||
60 | |||
61 | <output name="output" type="OutputBase" sid="0x104a"> | ||
62 | <comment>defines the output data for FindTilesByBoundingbox operation</comment> | ||
63 | <elem name="tiles" type="TileSet" multiplicity="0..1"> | ||
64 | <comment>a set of tiles as the result of the FindTilesByPos operation</comment> | ||
65 | </elem> | ||
66 | </output> | ||
67 | </operation> | ||
68 | |||
69 | <!-- FindTilesByRefId operation --> | ||
70 | <operation name="FindTilesByRefId"> | ||
71 | <comment>find tiles</comment> | ||
72 | <input name="input" type="InputBase" sid="0x103a"> | ||
73 | <comment>defines the input data for FindTilesByRefId operation </comment> | ||
74 | <elem name="refids" type="Tensor.string" multiplicity="1..*"> | ||
75 | <comment>the bounding box that intersect with tiles</comment> | ||
76 | </elem> | ||
77 | <elem name="floor" type="Tensor.int16" multiplicity="0..1"> | ||
78 | <comment>optional floor number for more precise search</comment> | ||
79 | </elem> | ||
80 | <elem name="signaltype" type="ObservationType" multiplicity="1"> | ||
81 | <comment>the radio type of the reference points</comment> | ||
82 | </elem> | ||
83 | </input> | ||
84 | |||
85 | <output name="output" type="OutputBase" sid="0x104a"> | ||
86 | <comment>defines the output data for FindTilesByRefId operation</comment> | ||
87 | <elem name="tiles" type="TileSet" multiplicity="0..1"> | ||
88 | <comment>a set of tiles as the result of the FindTilesByPos operation</comment> | ||
89 | </elem> | ||
90 | </output> | ||
91 | </operation> | ||
92 | |||
93 | <!-- EstimatePosition operation --> | ||
94 | <operation name="EstimatePosition"> | ||
95 | <comment> estimate posiion from a set of Wifi rssi observations</comment> | ||
96 | <input name="input" type="InputBase" sid="0x106a"> | ||
97 | <comment>input for EstimatePosition operation</comment> | ||
98 | <elem name="observations" type="ObservationSet" multiplicity="1"> | ||
99 | <comment>a set of observed rssi values</comment> | ||
100 | </elem> | ||
101 | </input> | ||
102 | |||
103 | <output name="output" type="OutputBase" sid="0x107a"> | ||
104 | <comment>output for EstimatePosition operation</comment> | ||
105 | <elem name="pos" type="Shape" multiplicity="0..*" polymorphic="true"> | ||
106 | <comment>approximate position of the tile</comment> | ||
107 | </elem> | ||
108 | |||
109 | </output> | ||
110 | </operation> | ||
111 | |||
112 | </interface> | ||
113 | |||
114 | </namespace> | ||
115 | </specification> |
ILP/V1.1.1/ApiBase.xid.xml
0 → 100644
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="ApiBase.xid.xml"> | ||
8 | |||
9 | <title>ILP Services API Base Definitions</title> | ||
10 | <comment> | ||
11 | This document defines the common types API service interface for the ILP and Simultaneous Localization | ||
12 | and Mapping (SLAM) services definitions. The service provides access to ILP and SLAM technologies for position | ||
13 | calculation for devices and services communicating via standard | ||
14 | IP based protocols. The API currently supports XMF and JSON wire formats. | ||
15 | </comment> | ||
16 | |||
17 | <import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" /> | ||
18 | <import ref="https://xid.location.studio/HPE/V1.1.1/HpeCore.xid.xml" local="HpeCore.xid.xml" /> | ||
19 | <import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeGnss.xid.xml" local="HpeGnss.xid.xml" /> | ||
20 | <import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeCellular.xid.xml" local="HpeCellular.xid.xml" /> | ||
21 | <import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeWiFi.xid.xml" local="HpeWiFi.xid.xml" /> | ||
22 | |||
23 | <namespace name="ILP"> | ||
24 | <using namespace="HPE"/> | ||
25 | <using namespace="Tensor"/> | ||
26 | |||
27 | |||
28 | <!-- | ||
29 | ******************************* | ||
30 | *InputBase Type Definition | ||
31 | ******************************* | ||
32 | --> | ||
33 | <struct name="InputBase" > | ||
34 | <comment>Base input fields for operations supporting asynchronous transaction information.</comment> | ||
35 | <elem name="directive" multiplicity="0..*" type="NameValue"> | ||
36 | <comment> | ||
37 | A set of directives to influence processing. | ||
38 | </comment> | ||
39 | </elem> | ||
40 | |||
41 | <elem name="devid" multiplicity="1" type="string"> | ||
42 | <comment> | ||
43 | Required device identifier, that provides a consistent multi-transaction identifier | ||
44 | for a device or equivalent (e.g. service identifier) providing the data. Any errors or issues resulting from processing the data will include this identifier | ||
45 | in the system logs, providing traceability. Identifier should be unique. | ||
46 | </comment> | ||
47 | </elem> | ||
48 | |||
49 | <elem name="etid" multiplicity="0..1" type="string"> | ||
50 | <comment> | ||
51 | Optional external transaction identifier for the caller to uniquely identify and track | ||
52 | the transaction and corresponding results. These identifiers will appear in the | ||
53 | ILP system logs for traceability analysis. The format of the transaction identifier is up to the caller | ||
54 | and can be anything: e.g. [uuid], [id1.subid0], [numerical], etc. This data is never interpreted by | ||
55 | the ILP system. | ||
56 | </comment> | ||
57 | </elem> | ||
58 | </struct> | ||
59 | |||
60 | |||
61 | <!-- | ||
62 | ******************************* | ||
63 | *OutputBase Type Definition | ||
64 | ******************************* | ||
65 | --> | ||
66 | <struct name="OutputBase" > | ||
67 | <comment>Base output fields common to operations supporting asynchronous returning transaction information.</comment> | ||
68 | <elem name="devid" multiplicity="0..1" type="string"> | ||
69 | <comment> | ||
70 | Device identifier provided at operation input, provides a consistent identifier | ||
71 | for a device or equivalent (e.g. service identifier) providing the data. Any errors or issues resulting from processing the data will include this identifier | ||
72 | in the system logs, providing traceability. | ||
73 | </comment> | ||
74 | </elem> | ||
75 | |||
76 | <elem name="etid" multiplicity="0..1" type="string"> | ||
77 | <comment> | ||
78 | Optional external transaction identifier for the caller to uniquely identify and track | ||
79 | the transaction and corresponding results. These identifiers appear in the | ||
80 | ILP system logs for traceability analysis. The format of the transaction identifier is up to the caller | ||
81 | and can be anything: e.g. [uuid], [id1.subid0], [numerical], etc. This data is never interpreted by | ||
82 | the ILP system. | ||
83 | </comment> | ||
84 | |||
85 | </elem> | ||
86 | |||
87 | <elem name="resultcode" type="ResultCode" multiplicity="1" > | ||
88 | <comment>Result of the operation.</comment> | ||
89 | </elem> | ||
90 | |||
91 | <elem name="errinfo" type="Tensor.string" multiplicity="0..1"> | ||
92 | <comment>Error information if result was not success.</comment> | ||
93 | </elem> | ||
94 | |||
95 | </struct> | ||
96 | |||
97 | </namespace> | ||
98 | </specification> |
ILP/V1.1.1/IlpApiBase.xid.xml
0 → 100644
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="IlpApiBase.xid.xml"> | ||
8 | |||
9 | <title>ILP Hybrid Positioning Services API Base Definitions</title> | ||
10 | <comment> | ||
11 | This document defines the common types API service interface for the IoT Location Platform (ILP). | ||
12 | The service provides hybrid position calculation for devices and services communicating | ||
13 | via standard IP based protocols. The API currently supports XMF and JSON wire formats. | ||
14 | </comment> | ||
15 | |||
16 | <import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" /> | ||
17 | <import ref="https://xid.location.studio/HPE/V1.1.1/HpeCore.xid.xml" local="HpeCore.xid.xml" /> | ||
18 | <import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeGnss.xid.xml" local="HpeGnss.xid.xml" /> | ||
19 | <import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeCellular.xid.xml" local="HpeCellular.xid.xml" /> | ||
20 | <import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeWiFi.xid.xml" local="HpeWiFi.xid.xml" /> | ||
21 | |||
22 | <namespace name="ILP"> | ||
23 | <using namespace="HPE"/> | ||
24 | <using namespace="Tensor"/> | ||
25 | |||
26 | |||
27 | <!-- | ||
28 | ******************************* | ||
29 | *IlpInputBase Type Definition | ||
30 | ******************************* | ||
31 | --> | ||
32 | <struct name="IlpInputBase" > | ||
33 | <comment>Base input fields for operations supporting asynchronous transaction information.</comment> | ||
34 | <elem name="idDevice" multiplicity="1" type="string"> | ||
35 | <comment> | ||
36 | Required device identifier, that provides a consistent multi-transaction identifier | ||
37 | for a device or equivalent (e.g. service identifier) providing the data. Any errors or issues resulting from processing the data will include this identifier | ||
38 | in the system logs, providing traceability. Identifier should be unique. | ||
39 | </comment> | ||
40 | </elem> | ||
41 | |||
42 | <elem name="idTransaction" multiplicity="0..1" type="string"> | ||
43 | <comment> | ||
44 | Optional transaction identifier for the caller to uniquely identify and track | ||
45 | the transaction and corresponding results. These identifiers will appear in the | ||
46 | ILP system logs for traceability analysis. The format of the transaction identifier is up to the caller | ||
47 | and can be anything: e.g. [uuid], [id1.subid0], [numerical], etc. This data is never interpreted by | ||
48 | the ILP system. | ||
49 | </comment> | ||
50 | </elem> | ||
51 | |||
52 | <!-- THis is future, don't uncomment until design issues resolved. M. Mathews/s. Hines 161130 | ||
53 | <elem name="urlCallback" multiplicity="0..1" type="string"> | ||
54 | <tag key="life-cycle" value="future" /> | ||
55 | <comment> | ||
56 | Optional asynchronous callback used to callback client servers during long operations. Not all | ||
57 | interfaces may support this. | ||
58 | </comment> | ||
59 | </elem> | ||
60 | --> | ||
61 | </struct> | ||
62 | |||
63 | |||
64 | <!-- | ||
65 | ******************************* | ||
66 | *IlpOutputBase Type Definition | ||
67 | ******************************* | ||
68 | --> | ||
69 | <struct name="IlpOutputBase" > | ||
70 | <comment>Base output fields common to operations supporting asynchronous returning transaction information.</comment> | ||
71 | <elem name="idDevice" multiplicity="1" type="string"> | ||
72 | <comment> | ||
73 | Device identifier provided at operation input, provides a consistent identifier | ||
74 | for a device or equivalent (e.g. service identifier) providing the data. Any errors or issues resulting from processing the data will include this identifier | ||
75 | in the system logs, providing traceability. | ||
76 | </comment> | ||
77 | </elem> | ||
78 | |||
79 | <elem name="idTransaction" multiplicity="0..1" type="string"> | ||
80 | <comment> | ||
81 | Optional transaction identifier for the caller to uniquely identify and track | ||
82 | the transaction and corresponding results. These identifiers appear in the | ||
83 | ILP system logs for traceability analysis. The format of the transaction identifier is up to the caller | ||
84 | and can be anything: e.g. [uuid], [id1.subid0], [numerical], etc. This data is never interpreted by | ||
85 | the ILP system. | ||
86 | </comment> | ||
87 | </elem> | ||
88 | |||
89 | <!-- THis is future, don't uncomment until design issues resolved. M. Mathews/s. Hine 161130 | ||
90 | <elem name="urlCallback" multiplicity="0..1" type="string"> | ||
91 | <tag key="life-cycle" value="future" /> | ||
92 | <comment> | ||
93 | Optional asynchronous callback used to callback client servers during long operations. Not all | ||
94 | interfaces may support this. | ||
95 | </comment> | ||
96 | </elem> | ||
97 | --> | ||
98 | </struct> | ||
99 | |||
100 | |||
101 | </namespace> | ||
102 | </specification> |
ILP/V1.1.1/IlpAssistanceApi.xid.xml
0 → 100644
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="IlpAssistanceApi.xid.xml"> | ||
8 | <title>ILP Assistance Services</title> | ||
9 | <comment> | ||
10 | This document defines the positioning assistance service interface for the IoT Location Platform (ILP). | ||
11 | The service provides assistance data supporting GNSS and other positioning technologies for devices | ||
12 | and services communicating via standard IP based protocols. The API currently supports XMF and JSON wire formats. | ||
13 | </comment> | ||
14 | |||
15 | <import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" /> | ||
16 | <import ref="https://xid.location.studio/HPE/V1.1.1/HpeCore.xid.xml" local="HpeCore.xid.xml" /> | ||
17 | <import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeGnss.xid.xml" local="HpeGnss.xid.xml" /> | ||
18 | <import ref="https://xid.location.studio/ILP/V1.1.1/IlpApiBase.xid.xml" local="IlpApiBase.xid.xml" /> | ||
19 | |||
20 | <namespace name="ILP"> | ||
21 | <using namespace="HPE"/> | ||
22 | <using namespace="Tensor"/> | ||
23 | |||
24 | <!-- | ||
25 | ******************************************************* | ||
26 | GnssData input/ouput structure declarations. | ||
27 | ******************************************************* | ||
28 | --> | ||
29 | <!-- GnssDataInput structure --> | ||
30 | <struct name="GnssDataInput" type="IlpInputBase"> | ||
31 | <comment>ILP.Assistance.GnssData input request data.</comment> | ||
32 | |||
33 | <!-- Define internal data structure --> | ||
34 | <struct name="RequestSpec"> | ||
35 | <comment>Specifies the data request for each constellation type.</comment> | ||
36 | <elem name ="constellation" type="HPE.Gnss.Constellation" multiplicity="1"> | ||
37 | <comment>Specifies the constellation of interest.</comment> | ||
38 | </elem> | ||
39 | <elem name="directive" multiplicity="0..*" type="NameValue"> | ||
40 | <comment> | ||
41 | A set of directives to influence processing. | ||
42 | </comment> | ||
43 | </elem> | ||
44 | <elem name="minId" multiplicity="0..1" type ="uint8" default="0"> | ||
45 | <comment> | ||
46 | Specifies the minimum satellite ID to return constellation data. | ||
47 | </comment> | ||
48 | </elem> | ||
49 | <elem name="maxId" multiplicity="0..1" type ="uint8" default="255"> | ||
50 | <comment> | ||
51 | Specifies the maximum satellite ID to return constellation data. | ||
52 | </comment> | ||
53 | </elem> | ||
54 | <elem name="AssistData" multiplicity="1..*" type ="HPE.Gnss.AssistanceData"> | ||
55 | <comment> | ||
56 | Specifies the types of constellation assistance data to return. | ||
57 | </comment> | ||
58 | </elem> | ||
59 | </struct> | ||
60 | |||
61 | <!-- Define input elements.--> | ||
62 | <elem name="epoch" multiplicity="0..1" type="datetime"> | ||
63 | <comment> | ||
64 | Optional epoch for which the data is valid. Leave unspecified if the current epoch is desired. | ||
65 | </comment> | ||
66 | </elem> | ||
67 | |||
68 | <elem name="encoding" multiplicity="0..1" type="EncodingFormat" default="0"> | ||
69 | <comment> | ||
70 | ConstellationData encoding format for the response. This field is carried into | ||
71 | GetAssistanceData_output.encCon and GetGnssAlmanacs_output.conData will be encoded | ||
72 | in this format. If not specified the "native" format of the protocol is used. | ||
73 | </comment> | ||
74 | </elem> | ||
75 | |||
76 | <elem name="location" multiplicity="0..1" type="Shape"> | ||
77 | <comment> | ||
78 | Optional specification of the location to compute assistance data. If not specified | ||
79 | all available asistance data will be provided. | ||
80 | </comment> | ||
81 | </elem> | ||
82 | |||
83 | <elem name="elmask" multiplicity="0..1" type="int8" default="-90"> | ||
84 | <comment> | ||
85 | Optional, specifies the elevation cutoff mask relative to the current | ||
86 | location in degrees. If not specified or -90, all values within the specified satellite ID ranges are returned. | ||
87 | </comment> | ||
88 | <tag name="unit" value="degrees"/> | ||
89 | </elem> | ||
90 | |||
91 | <elem name="Request" multiplicity="1..*" type="RequestSpec"> | ||
92 | <comment>Specifies the requested data. One specification is required, multiple can be processed simultaneously.</comment> | ||
93 | </elem> | ||
94 | </struct> | ||
95 | |||
96 | <!-- GnssDataOutput structure --> | ||
97 | <struct name="GnssDataOutput" type="IlpOutputBase"> | ||
98 | <comment>ILP.Assistance.GnssData output structure. </comment> | ||
99 | |||
100 | <elem name="resultcode" multiplicity="1" type="ResultCode"> | ||
101 | <comment> | ||
102 | Result of GnssData operation. | ||
103 | If resultcode is not success, encCon and constellation data will not be present. | ||
104 | </comment> | ||
105 | </elem> | ||
106 | |||
107 | <elem name="encoding" multiplicity="0..1" type="EncodingFormat" default="0"> | ||
108 | <comment> | ||
109 | Constellation Data encoding format. Data can be provided in a different encoding format | ||
110 | than the native protocol format. This is carried over from input. | ||
111 | If not present, the data is in the native protocol format (e.g. XMF, JSON). | ||
112 | </comment> | ||
113 | </elem> | ||
114 | |||
115 | <elem name="assistdata" multiplicity="0..*" type ="HPE.Gnss.ConstellationData" encoding="encoding"> | ||
116 | <comment> | ||
117 | The list of ConstellationData encoded in the format specified by encoding. | ||
118 | </comment> | ||
119 | </elem> | ||
120 | </struct> | ||
121 | |||
122 | |||
123 | <!-- | ||
124 | ******************************************************* | ||
125 | ILP GNSS Assistance Data Service Interface. | ||
126 | ******************************************************* | ||
127 | --> | ||
128 | <interface name="Assistance"> | ||
129 | <comment>Assistance data interface functions.</comment> | ||
130 | |||
131 | <operation name="Gnss"> | ||
132 | <comment>Returns caller requested GNSS assistance data.</comment> | ||
133 | <input name="Input" type="GnssDataInput" sid="0x1018"/> | ||
134 | <output name="Result" type="GnssDataOutput" sid="0x1019"/> | ||
135 | </operation> | ||
136 | |||
137 | </interface> | ||
138 | |||
139 | </namespace> | ||
140 | </specification> |
ILP/V1.1.1/IlpPositioningApi.xid.xml
0 → 100644
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="IlpPositioningApi.xid.xml"> | ||
8 | <title>ILP Hybrid Positioning Services</title> | ||
9 | <comment> | ||
10 | This document defines the positioning service interface for the IoT Location Platform (ILP). | ||
11 | The service provides hybrid position calculation for devices and services communicating | ||
12 | via standard IP based protocols. The API currently supports XMF and JSON wire formats. | ||
13 | </comment> | ||
14 | |||
15 | <import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" /> | ||
16 | <import ref="https://xid.location.studio/HPE/V1.1.1/HpeCore.xid.xml" local="HpeCore.xid.xml" /> | ||
17 | <import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeGnss.xid.xml" local="HpeGnss.xid.xml" /> | ||
18 | <import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeCellular.xid.xml" local="HpeCellular.xid.xml" /> | ||
19 | <import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeWiFi.xid.xml" local="HpeWiFi.xid.xml" /> | ||
20 | <import ref="https://xid.location.studio/ILP/V1.1.1/IlpApiBase.xid.xml" local="IlpApiBase.xid.xml" /> | ||
21 | |||
22 | <namespace name="ILP"> | ||
23 | <using namespace="HPE"/> | ||
24 | <using namespace="Tensor"/> | ||
25 | |||
26 | <!-- | ||
27 | ******************************************************* | ||
28 | ILP Positioning Calculation Data Types | ||
29 | ******************************************************* | ||
30 | --> | ||
31 | |||
32 | <!-- CalculateInput structure --> | ||
33 | <struct name="CalculateInput" type ="IlpInputBase"> | ||
34 | <comment>ILP.Positioning.Calculate input data structure.</comment> | ||
35 | |||
36 | <elem name="uuidSession" multiplicity="0..1" type="UUID"> | ||
37 | <comment> | ||
38 | Optional session identifier. See CreateSession for creating valid | ||
39 | session identifiers. Transactions can be processed in the context of a session to provide | ||
40 | historical information and link calcuation in time. | ||
41 | </comment> | ||
42 | </elem> | ||
43 | |||
44 | <elem name="durSession" multiplicity="0..1" type="int32"> | ||
45 | <comment> | ||
46 | Optional session duration. Default is 0 (not persisted). If specified, | ||
47 | the session created for this transaction will be stored for a maximum of 86400 seconds. | ||
48 | The uuidSession returned in the output, can be used in subsequent calls to Calculate to utilize | ||
49 | the persisted session data. Call ReleaseSession to release any persisted content once the session | ||
50 | is complete. | ||
51 | </comment> | ||
52 | </elem> | ||
53 | |||
54 | <elem name="dynamics" multiplicity="0..1" type="DynamicsProfile" default="0"> | ||
55 | <comment> | ||
56 | Specifies the dymnamics of the device providing the data. If not specified, the default dynamics is undefined (0). | ||
57 | This parameter optimizes configuration of the estimator to constraint calculations based on the type | ||
58 | of motion. If session is specified, this value will be overridden. | ||
59 | </comment> | ||
60 | </elem> | ||
61 | |||
62 | <elem name="rankEstimate" multiplicity="0..1" type="EstimateRanking" default="3"> | ||
63 | <comment> | ||
64 | Specifies the sort order of the estimates produced by the hybrid calculation. If not defined, the default value is to sort estimates | ||
65 | based on calculation order (0). | ||
66 | </comment> | ||
67 | </elem> | ||
68 | |||
69 | <elem name="confidence" multiplicity="0..1" type="float32" default="0.682689"> | ||
70 | <comment> | ||
71 | Specifies the confidence level to report estimate error uncertainty, range between 0.0 and 1.0\n | ||
72 | Common values for confidence are:\n | ||
73 | \t 0.682689 (1 std. dev.)\n | ||
74 | \t 0.954499 (2 std. dev.)\n | ||
75 | \t 0.997300 (3 std. dev.)\n | ||
76 | If confidence is not specified, the default | ||
77 | value is 0.682689. | ||
78 | </comment> | ||
79 | </elem> | ||
80 | |||
81 | <elem name="maxEstimates" multiplicity="0..1" type="uint8" default="1"> | ||
82 | <comment> | ||
83 | Specifies the maximum number of estimates (up to 255) to return in the calculation output. | ||
84 | If not specified 1 hybrid estimate is returned. | ||
85 | </comment> | ||
86 | </elem> | ||
87 | |||
88 | <elem name="typeShape" multiplicity="0..*" type="ShapeType"> | ||
89 | <comment> | ||
90 | Specifies the preferred shape types to provide estimates in. The highest | ||
91 | ranking estimate will be returned in this specified shape types if supported.\n | ||
92 | If not specified, the set defaults to: Spheroid, Circle. | ||
93 | </comment> | ||
94 | </elem> | ||
95 | |||
96 | <elem name="directive" multiplicity="0..*" type="NameValue" ord="87"> | ||
97 | <comment> | ||
98 | A set of directives to influence processing. Unknown directives are ignored. | ||
99 | </comment> | ||
100 | </elem> | ||
101 | |||
102 | |||
103 | <elem name="state" multiplicity="0..1" type="StateInfo" ord="90"> | ||
104 | <comment> | ||
105 | Specifies the position to initialize the state of the positioning engine.\n | ||
106 | At least one of observations or state is required, | ||
107 | otherwise there is insufficient data to process. | ||
108 | </comment> | ||
109 | </elem> | ||
110 | |||
111 | <elem name="encObs" multiplicity="0..1" type="EncodingFormat" default="0" ord="88"> | ||
112 | <comment> | ||
113 | Observation set encoding format. Observations may be passed to the service in | ||
114 | an encoding format different than that outer wire format. | ||
115 | By default wire protocol native format is assumed. | ||
116 | </comment> | ||
117 | </elem> | ||
118 | |||
119 | <elem name="observations" multiplicity="0..1" type="ObservationSet" encoding ="encObs" ord="89"> | ||
120 | <comment> | ||
121 | Set of observation data encoded in the format specified by encObs.\n | ||
122 | At least one of observations or state is required, | ||
123 | otherwise there is insufficient data to process. | ||
124 | </comment> | ||
125 | </elem> | ||
126 | </struct> | ||
127 | |||
128 | <!-- Calculate Status--> | ||
129 | <enum name="CalculateStatus" type="Tensor.int8" default="undefined"> | ||
130 | <comment> | ||
131 | Specifies the calculation resulting status. Caller should consult this value first to | ||
132 | determine if estimates are valid. | ||
133 | </comment> | ||
134 | <literal name="EstimateReady" value="1"/> | ||
135 | <literal name="undefined" value="0"/> | ||
136 | <literal name="DidNotConverge" value="-1"/> | ||
137 | <literal name="NotEnoughData" value="-2"/> | ||
138 | <literal name="UnspecifiedErr" value="-3"/> | ||
139 | </enum> | ||
140 | |||
141 | <!-- CalculateOutput structure --> | ||
142 | <struct name="CalculateOutput" type="IlpOutputBase" > | ||
143 | <comment>ILP.Positioning.Calculate output data structure. This contains the reuslts of a calculate oeration.</comment> | ||
144 | |||
145 | <elem name="uuidSession" multiplicity="1" type="UUID"> | ||
146 | <comment> | ||
147 | Session identifier. This is the Identifier processed session used to process the | ||
148 | calculate transaction. If session, was not previously created by CreateSession, then | ||
149 | the session will not be available for future use. | ||
150 | </comment> | ||
151 | </elem> | ||
152 | |||
153 | <elem name="dynamics" multiplicity="1" type="DynamicsProfile"> | ||
154 | <comment> | ||
155 | Specifies the dymnamics of the device providing the data. | ||
156 | </comment> | ||
157 | </elem> | ||
158 | |||
159 | <elem name="rankEstimate" multiplicity="1" type="EstimateRanking"> | ||
160 | <comment> | ||
161 | Specifies the sort order of the estimates produced by the hybrid calculation. | ||
162 | </comment> | ||
163 | </elem> | ||
164 | |||
165 | <elem name="status" multiplicity="1" type="CalculateStatus"> | ||
166 | <comment> | ||
167 | Specifies the status result of the calculation. | ||
168 | </comment> | ||
169 | </elem> | ||
170 | |||
171 | <elem name="Estimates" multiplicity="0..*" type="Estimate"> | ||
172 | <comment> | ||
173 | List of estimates returned from the calculation ranked in the specified order. | ||
174 | </comment> | ||
175 | </elem> | ||
176 | </struct> | ||
177 | |||
178 | |||
179 | <!-- | ||
180 | ******************************************************* | ||
181 | CreateSession Data Types | ||
182 | ******************************************************* | ||
183 | --> | ||
184 | |||
185 | <!-- CreateSessionInput structure --> | ||
186 | <struct name="CreateSessionInput" type="IlpInputBase"> | ||
187 | <comment>ILP.Positioning.CreateSession input data structure.</comment> | ||
188 | |||
189 | <elem name="dynamics" multiplicity="1" type="DynamicsProfile"> | ||
190 | <comment> | ||
191 | Specifies the dymnamics of the device providing the data. If not known specify undefined. | ||
192 | This parameter optimizes configuration of the estimator to constraint calculations based on the type | ||
193 | of motion. If session is specified, this value will be overridden. | ||
194 | </comment> | ||
195 | </elem> | ||
196 | |||
197 | <elem name="duration" multiplicity="1" type="int32"> | ||
198 | <comment> | ||
199 | Number of seconds duration should persist. Maximum value is 86400 (1 day). | ||
200 | </comment> | ||
201 | </elem> | ||
202 | |||
203 | <elem name="typeObs" multiplicity="0..*" type="ObservationType"> | ||
204 | <comment> | ||
205 | Optional List of supported observation types. Improves transaction initialization speed if only observation types needed are specified. | ||
206 | If not specified, all supported observations will be available for the session. | ||
207 | </comment> | ||
208 | </elem> | ||
209 | |||
210 | <elem name="ctTypicalObs" multiplicity="0..1" type="int32"> | ||
211 | <comment> | ||
212 | Optional count of typical observations. Improves memory allocation when sizing internal buffers to typical number | ||
213 | of observations. | ||
214 | </comment> | ||
215 | </elem> | ||
216 | |||
217 | </struct> | ||
218 | |||
219 | <!-- CreateSessionOutput structure --> | ||
220 | <struct name="CreateSessionOutput" type="IlpOutputBase" > | ||
221 | <comment>ILP.Positioning.CreateSession output data structure.</comment> | ||
222 | <elem name="resultcode" multiplicity="1" type="ResultCode"> | ||
223 | <comment> | ||
224 | Result of session creation operation. | ||
225 | </comment> | ||
226 | </elem> | ||
227 | <elem name="uuidSession" multiplicity="0..1" type="UUID"> | ||
228 | <comment> | ||
229 | Session identifier of the created session. | ||
230 | </comment> | ||
231 | </elem> | ||
232 | </struct> | ||
233 | |||
234 | <!-- | ||
235 | ******************************************************* | ||
236 | ReleaseSession Data Types | ||
237 | ******************************************************* | ||
238 | --> | ||
239 | |||
240 | <!-- ReleaseSessionInput structure --> | ||
241 | <struct name="ReleaseSessionInput" > | ||
242 | <comment>ILP.Positioning.ReleaseSession input data structure.</comment> | ||
243 | <elem name="uuidSession" multiplicity="1" type="UUID"> | ||
244 | <comment> | ||
245 | Session identifier of the session to release. | ||
246 | </comment> | ||
247 | </elem> | ||
248 | |||
249 | </struct> | ||
250 | |||
251 | <!-- | ||
252 | ******************************************************* | ||
253 | Initialize Data Types | ||
254 | ******************************************************* | ||
255 | --> | ||
256 | |||
257 | <!-- InitializeInput structure --> | ||
258 | <struct name="InitializeInput" type="IlpInputBase" > | ||
259 | <comment>ILP.Positioning.Initialize input data structure.</comment> | ||
260 | |||
261 | <elem name="uuidSession" multiplicity="0..1" type="UUID"> | ||
262 | <comment> | ||
263 | Optional session identifier. See CreateSession for creating valid | ||
264 | session identifiers. Transactions can be processed in the context of a session to provide | ||
265 | historical information and link calcuation in time. | ||
266 | </comment> | ||
267 | </elem> | ||
268 | |||
269 | <elem name="durSession" multiplicity="0..1" type="int32"> | ||
270 | <comment> | ||
271 | Optional session duration. Default is 0 (not persisted). If specified, | ||
272 | the session created for this transaction will be stored for a maximum of 86400 seconds. | ||
273 | The uuidSession returned in the output, can be used in subsequent calls to Calculate to utilize | ||
274 | the persisted session data. Call ReleaseSession to release any persisted content once the session | ||
275 | is complete. | ||
276 | </comment> | ||
277 | </elem> | ||
278 | |||
279 | <elem name="state" multiplicity="1" type="StateInfo"> | ||
280 | <comment> | ||
281 | Specifies the position to initialize the state of the positioning engine. | ||
282 | </comment> | ||
283 | </elem> | ||
284 | |||
285 | </struct> | ||
286 | |||
287 | <!-- InitializeOutput structure --> | ||
288 | <struct name="InitializeOutput" type="IlpOutputBase"> | ||
289 | <comment>ILP.Positioning.Initialize output data structure.</comment> | ||
290 | <elem name="resultcode" multiplicity="1" type="ResultCode"> | ||
291 | <comment> | ||
292 | Result of session creation operation. | ||
293 | </comment> | ||
294 | </elem> | ||
295 | <elem name="uuidSession" multiplicity="0..1" type="UUID"> | ||
296 | <comment> | ||
297 | Session identifier of the created session. | ||
298 | </comment> | ||
299 | </elem> | ||
300 | </struct> | ||
301 | |||
302 | |||
303 | |||
304 | <!-- | ||
305 | ******************************************************* | ||
306 | ILP Positioning Service Interface. | ||
307 | ******************************************************* | ||
308 | --> | ||
309 | <interface name="Positioning"> | ||
310 | <comment>Hybrid positioning interface defines interactions supporting position calculation functions.</comment> | ||
311 | |||
312 | <operation name="Calculate"> | ||
313 | <comment>Calculates the position of the device given the specified observation data.</comment> | ||
314 | <input name="Input" type="CalculateInput" sid="0x1010"/> | ||
315 | <output name="Result" type="CalculateOutput" sid="0x1011" /> | ||
316 | </operation> | ||
317 | |||
318 | <operation name="CreateSession"> | ||
319 | <comment> | ||
320 | Creates a persistent session object and returns its UUID. Can be used to process a series of related transactions | ||
321 | using the previous filter state. Good for temporal or multiple observation type updates that were not | ||
322 | available at the same time. | ||
323 | </comment> | ||
324 | <input name="Input" type="CreateSessionInput" sid="0x1012"/> | ||
325 | <output name="Result" type="CreateSessionOutput" sid="0x1013"/> | ||
326 | </operation> | ||
327 | |||
328 | <operation name="ReleaseSession"> | ||
329 | <comment> | ||
330 | Releases any persistent session data associated with the UUID. | ||
331 | </comment> | ||
332 | <input name="Input" type="ReleaseSessionInput" sid="0x1014"/> | ||
333 | <!-- output name="Result" type="void" sid="0x0000" result="return"/ --> | ||
334 | </operation> | ||
335 | |||
336 | <operation name="Initialize"> | ||
337 | <comment> | ||
338 | Initializes the positioning engine to state specified in the provided shape information. | ||
339 | This is an optional interaction given most cases, this initial position can be determmined from | ||
340 | the provided data. | ||
341 | </comment> | ||
342 | <input name="Input" type="InitializeInput" sid="0x1016"/> | ||
343 | <output name="Result" type="InitializeOutput" sid="0x1017" /> | ||
344 | </operation> | ||
345 | |||
346 | </interface> | ||
347 | |||
348 | </namespace> | ||
349 | </specification> |
ILP/V1.1.1/IlpSubmissionApi.xid.xml
0 → 100644
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="IlpSubmissionApi.xid.xml"> | ||
8 | <title>ILP Submission API</title> | ||
9 | <comment> | ||
10 | This document defines a lightweight Observation Submission API for submitting ILP compatible observation | ||
11 | data without invoking the full get position operation. | ||
12 | </comment> | ||
13 | |||
14 | <import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" /> | ||
15 | <import ref="https://xid.location.studio/HPE/V1.1.1/HpeCore.xid.xml" local="HpeCore.xid.xml" /> | ||
16 | <import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeGnss.xid.xml" local="HpeGnss.xid.xml" /> | ||
17 | <import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeCellular.xid.xml" local="HpeCellular.xid.xml" /> | ||
18 | <import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeWiFi.xid.xml" local="HpeWiFi.xid.xml" /> | ||
19 | <import ref="https://xid.location.studio/ILP/V1.1.1/IlpApiBase.xid.xml" local="IlpApiBase.xid.xml" /> | ||
20 | |||
21 | <namespace name="ILP"> | ||
22 | <using namespace="HPE"/> | ||
23 | <using namespace="Tensor"/> | ||
24 | |||
25 | |||
26 | <!-- SubmitInput structure definition. | ||
27 | Note: all the tags are defined. These have to | ||
28 | match CalculateInput tags of the same name. | ||
29 | --> | ||
30 | <struct name="PositionInfo" type="IlpInputBase" > | ||
31 | <comment>Used as ILP.Submission.PositionInfo input.</comment> | ||
32 | |||
33 | <elem name="state" multiplicity="0..1" type="StateInfo" ord="90"> | ||
34 | <comment> | ||
35 | Optional position information.\n | ||
36 | At least one of observations or state is required, | ||
37 | otherwise there is insufficient data to process. | ||
38 | </comment> | ||
39 | </elem> | ||
40 | |||
41 | <elem name="directive" multiplicity="0..*" type="NameValue" ord="87"> | ||
42 | <comment> | ||
43 | A set of directives to influence processing. | ||
44 | </comment> | ||
45 | </elem> | ||
46 | |||
47 | <elem name="encObs" multiplicity="0..1" type="EncodingFormat" default="0" ord="88"> | ||
48 | <comment> | ||
49 | Observation set encoding format. Observations may be passed to the service in | ||
50 | an encoding format different than that outer wire format. | ||
51 | </comment> | ||
52 | </elem> | ||
53 | |||
54 | <elem name="observations" multiplicity="0..1" type="ObservationSet" encoding ="encObs" ord="89"> | ||
55 | <comment> | ||
56 | Optional Set of observation data encoded in the format specified by encObs.\n | ||
57 | At least one of observations or state is required, | ||
58 | otherwise there is insufficient data to process. | ||
59 | </comment> | ||
60 | </elem> | ||
61 | </struct> | ||
62 | |||
63 | <!-- | ||
64 | ******************************************************* | ||
65 | Observation Submission API | ||
66 | ******************************************************* | ||
67 | --> | ||
68 | <interface name="Submission"> | ||
69 | <comment>Interface for submitting data to ILP. </comment> | ||
70 | |||
71 | <operation name="PositionInfo"> | ||
72 | <comment> | ||
73 | Interaction submits position and observation data.\n | ||
74 | There is no response besides bearer response codes. | ||
75 | </comment> | ||
76 | <input name="Input" type="PositionInfo" sid="0x101E"/> | ||
77 | </operation> | ||
78 | </interface> | ||
79 | </namespace> | ||
80 | </specification> |
-
Please register or sign in to post a comment