Publishing SLAM V1.0 XIDs along with XIDData.prop
Showing
9 changed files
with
729 additions
and
0 deletions
SLAM/V1.0/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 https://xid.location.studio/schema/V1.0.0/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 | <namespace name="SLAM"> | ||
12 | |||
13 | <!-- | ||
14 | ************************************* | ||
15 | * HashKey Definition. | ||
16 | ************************************* | ||
17 | --> | ||
18 | |||
19 | <type name="HashKey" size="12"> | ||
20 | <comment>12 byte hashkey for reference point identifiers.</comment> | ||
21 | <!-- <lang name="c" type="UUID" include="SLAM/CXMF/haskey.h"/> --> | ||
22 | <lang name="cpp" type="::SLAM::HashKey" include="SLAM/HashKey.h"/> | ||
23 | <!-- | ||
24 | <lang name="java" type="SlamHasKey" include="com.comtechtel.tensor.SLAM.Hashkey"/> | ||
25 | <lang name="node" type=" SlamHasKey "/> | ||
26 | --> | ||
27 | </type> | ||
28 | |||
29 | </namespace> | ||
30 | </specification> |
SLAM/V1.0/ProbeApi.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 https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
7 | identity="ProbeApi.xid.xml"> | ||
8 | <title>SLAM Probe API Specifications</title> | ||
9 | <comment> | ||
10 | This file defines the SLAM Probe API. The probe API is used to load one or more probe data records from a single device. | ||
11 | </comment> | ||
12 | |||
13 | <!-- Include used definitions --> | ||
14 | <import ref="https://xid.location.studio/HPE/V1.2/HpeGnss.xid.xml" local="HpeGnss.xid.xml" /> | ||
15 | <import ref="https://xid.location.studio/HPE/V1.2/HpeCellular.xid.xml" local="HpeCellular.xid.xml" /> | ||
16 | <import ref="https://xid.location.studio/HPE/V1.2/HpeWiFi.xid.xml" local="HpeWiFi.xid.xml" /> | ||
17 | <import ref="https://xid.location.studio/Tensor/V1.1/ApiBase.xid.xml" local="ApiBase.xid.xml" /> | ||
18 | <import ref="https://xid.location.studio/GeoSpatial/V1.0/SpatialDefs.xid.xml" local="SpatialDefs.xid.xml" /> | ||
19 | <import ref="https://xid.location.studio/GeoSpatial/V1.0/Address.xid.xml" local="Address.xid.xml" /> | ||
20 | <import ref="https://xid.location.studio/GeoSpatial/V1.0/Contact.xid.xml" local="Contact.xid.xml" /> | ||
21 | <import ref="https://xid.location.studio/GeoSpatial/V1.0/PointOfInterest.xid.xml" local="PointOfInterest.xid.xml" /> | ||
22 | |||
23 | <namespace name="SLAM"> | ||
24 | <using namespace="HPE"/> | ||
25 | <using namespace="Tensor"/> | ||
26 | |||
27 | <enum name="DeviceClass" type="Tensor.int8" default="undefined"> | ||
28 | <comment> | ||
29 | Device class enumeration specifies the class or primary use of the device. | ||
30 | This allows probe data recorded to be analyzed by classes of devices. | ||
31 | </comment> | ||
32 | <literal name ="undefined" value="0"/> | ||
33 | <literal name ="mobileSmartphone" value="1"/> | ||
34 | <literal name ="mobilePad" value="2"/> | ||
35 | <literal name ="mobileTablet" value="3"/> | ||
36 | <literal name ="mobileOther" value="4"/> | ||
37 | <literal name ="iotTag" value="5"/> | ||
38 | <literal name ="iotComm" value="6"/> | ||
39 | <literal name ="iotStatic" value="7"/> | ||
40 | <literal name ="iotOther" value="8"/> | ||
41 | <literal name ="autoTrack" value="9"/> | ||
42 | <literal name ="autoNav" value="10"/> | ||
43 | <literal name ="autoOther" value="11"/> | ||
44 | </enum> | ||
45 | |||
46 | <struct name="ProbeRecord"> | ||
47 | <comment> | ||
48 | A record capturing RF and otherinformation at a specified location. Probe records are captured | ||
49 | as part of probe data collected by probe devices. | ||
50 | </comment> | ||
51 | <elem name="state" multiplicity="1" type="StateInfo"> | ||
52 | <comment> | ||
53 | Required device position and other state information. At least one of | ||
54 | observations or state is required, otherwise there is insufficient data to process. | ||
55 | </comment> | ||
56 | </elem> | ||
57 | <elem name="floor" multiplicity="1" type ="int8" default="0"> | ||
58 | <comment>The floor number of this scan</comment> | ||
59 | </elem> | ||
60 | <elem name="observations" multiplicity="1" type="ObservationSet" > | ||
61 | <comment> | ||
62 | Set of observation data containing the probe measurements. | ||
63 | </comment> | ||
64 | </elem> | ||
65 | <elem name="name" multiplicity ="0..1" type="string"> | ||
66 | <comment>Optional Name of this probe location.</comment> | ||
67 | </elem> | ||
68 | <elem name="description" multiplicity ="0..1" type="string"> | ||
69 | <comment>Optional human readable description.</comment> | ||
70 | </elem> | ||
71 | <elem name="address" multiplicity ="0..1" type="GeoSpatial.AddressInfo" > | ||
72 | <comment>Optional address information.</comment> | ||
73 | </elem> | ||
74 | <elem name="contact" multiplicity ="0..1" type="GeoSpatial.ContactInfo" > | ||
75 | <comment> | ||
76 | Optional contact information. These are for probes locations typically associated with | ||
77 | a business or public entity that has associated contact information. | ||
78 | </comment> | ||
79 | </elem> | ||
80 | <elem name="data" multiplicity ="0..1" type="Tensor.json"> | ||
81 | <comment>Optional other information describing this probe location in json format.</comment> | ||
82 | </elem> | ||
83 | </struct> | ||
84 | |||
85 | <struct name ="ProbeSourceInfo"> | ||
86 | <comment> | ||
87 | Structure contains information about the probe data source. | ||
88 | </comment> | ||
89 | <elem name="classDevice" multiplicity="1" type="DeviceClass" > | ||
90 | <comment>Required field specifies the class of device used to collect the probe data.</comment> | ||
91 | </elem> | ||
92 | <elem name="modelDevice" multiplicity ="1" type="Tensor.string"> | ||
93 | <comment>String defining a device</comment> | ||
94 | </elem> | ||
95 | <elem name="mfgDevice" multiplicity ="1" type="Tensor.string"> | ||
96 | <comment>Optional device manufacturer information.</comment> | ||
97 | </elem> | ||
98 | <elem name="osNameVer" multiplicity ="1" type="Tensor.uri"> | ||
99 | <comment>Operating system name use the format [os: e.g. windows, android, iphone, custom]/[version: information]/[language]/[etc].</comment> | ||
100 | </elem> | ||
101 | <elem name="appNameVer" multiplicity ="1" type="Tensor.string"> | ||
102 | <comment>Specifies the application/library name with version information with the following format.[app name]/[ver].</comment> | ||
103 | </elem> | ||
104 | <elem name="idUser" multiplicity ="0..1" type="Tensor.string"> | ||
105 | <comment>Optional user identifier.</comment> | ||
106 | </elem> | ||
107 | <elem name="keySource" multiplicity="0..1" type="Tensor.string"> | ||
108 | <comment>Optional source key identifier, provides public key value to assist in authentication of probe information.</comment> | ||
109 | </elem> | ||
110 | </struct> | ||
111 | |||
112 | |||
113 | <!-- | ||
114 | ******************************************************* | ||
115 | Probe Submission API | ||
116 | ******************************************************* | ||
117 | --> | ||
118 | <interface name="Probe"> | ||
119 | <comment>Interface for submitting RF probe data.</comment> | ||
120 | |||
121 | <operation name="Submit"> | ||
122 | <comment> | ||
123 | Interaction submits probe data and outputs responds with operation result. | ||
124 | </comment> | ||
125 | <input name="input" type="Tensor.InputBase" sid="0x1032"> | ||
126 | <elem name="captureDate" type="datetime" multiplicity="1"> | ||
127 | <comment>General date and time probe data was captured.</comment> | ||
128 | </elem> | ||
129 | <elem name="encoding" multiplicity="0..1" type="EncodingFormat" default="0" > | ||
130 | <comment> | ||
131 | Probe data and source information encoding format. Probe records may be passed to the service in | ||
132 | an encoding format different than that outer wire format. This can protect sensitive data. | ||
133 | By default wire protocol native format is assumed. | ||
134 | </comment> | ||
135 | </elem> | ||
136 | <elem name="sourceInfo" type="ProbeSourceInfo" multiplicity="0..1" encoding ="encoding"> | ||
137 | <comment> | ||
138 | Optional source information. If not provided, probe data will ultimately have a low veracity score. If at all possible | ||
139 | probe data should have source information. The system correlates source data with other known sources to calculate veracity. | ||
140 | </comment> | ||
141 | </elem> | ||
142 | <elem name="probes" multiplicity ="0..*" type="ProbeRecord" encoding ="encoding"> | ||
143 | <comment>Zero or more probe records encoded in the specified format.</comment> | ||
144 | </elem> | ||
145 | </input> | ||
146 | </operation> | ||
147 | </interface> | ||
148 | |||
149 | </namespace> | ||
150 | </specification> |
SLAM/V1.0/README.md
0 → 100644
1 | # SLAM XIDs # | ||
2 | SLAM XIDs do not encode their ordinals (i.e. tags and offets). XIDData.prop is required to maintain backward compatibility. | ||
3 | |||
4 | |||
5 | ## Generate / Verify XIDData.prop ## | ||
6 | |||
7 | ~~~sh | ||
8 | $ java -Xnoclassgc -jar $XIDSDK/bin/xidcg.jar \ | ||
9 | -v \ | ||
10 | -prop https://xid.location.studio/Tensor/V1.1/XIDData.prop \ | ||
11 | -prop https://xid.location.studio/GeoSpatial/V1.0/XIDData.prop \ | ||
12 | -prop https://xid.location.studio/HPE/V1.2/XIDData.prop \ | ||
13 | -prop https://xid.location.studio/SLAM/V1.0/XIDData.prop \ | ||
14 | https://xid.location.studio/SLAM/V1.0/CommonDefs.xid.xml \ | ||
15 | https://xid.location.studio/SLAM/V1.0/ProbeApi.xid.xml \ | ||
16 | https://xid.location.studio/SLAM/V1.0/ReferenceData.xid.xml \ | ||
17 | https://xid.location.studio/SLAM/V1.0/SurveyApi.xid.xml \ | ||
18 | https://xid.location.studio/SLAM/V1.0/TileDefinitions.xid.xml \ | ||
19 | https://xid.location.studio/SLAM/V1.0/TileManagementApi.xid.xml \ | ||
20 | https://xid.location.studio/SLAM/V1.0/TileServiceApi.xid.xml | ||
21 | ~~~ | ||
22 | |||
23 | or | ||
24 | |||
25 | ~~~sh | ||
26 | $ java -Xnoclassgc -jar $XIDSDK/bin/xidcg.jar \ | ||
27 | -v \ | ||
28 | -prop ../../Tensor/V1.0.0/XIDData.prop \ | ||
29 | -prop ../../GeoSpatial/V1.0/XIDData.prop \ | ||
30 | -prop ../../HPE/V1.2/XIDData.prop \ | ||
31 | -prop XIDData.prop \ | ||
32 | CommonDefs.xid.xml \ | ||
33 | ProbeApi.xid.xml \ | ||
34 | ReferenceData.xid.xml \ | ||
35 | SurveyApi.xid.xml \ | ||
36 | TileDefinitions.xid.xml \ | ||
37 | TileManagementApi.xid.xml \ | ||
38 | TileServiceApi.xid.xml | ||
39 | ~~~ | ||
40 | |||
41 | |||
42 | If xidcg reports: | ||
43 | |||
44 | ~~~ | ||
45 | Generating: xidout/meta/XID/XIDData.prop | ||
46 | ~~~ | ||
47 | |||
48 | Then something has changed and XIDData.prop needs to get updated. |
SLAM/V1.0/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 https://xid.location.studio/schema/V1.0.0/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/HPE/V1.2/HpeGnss.xid.xml" local="HpeGnss.xid.xml" /> | ||
13 | <import ref="https://xid.location.studio/HPE/V1.2/HpeCellular.xid.xml" local="HpeCellular.xid.xml" /> | ||
14 | <import ref="https://xid.location.studio/HPE/V1.2/HpeWiFi.xid.xml" local="HpeWiFi.xid.xml" /> | ||
15 | |||
16 | <namespace name="SLAM"> | ||
17 | |||
18 | <using namespace="HPE"/> | ||
19 | <using namespace="Tensor"/> | ||
20 | <using namespace="HPE.WiFi"/> | ||
21 | <using namespace="HPE.Cellular"/> | ||
22 | |||
23 | <enum name="RefPointSyncStatus" type="Tensor.int8" default ="sync_required"> | ||
24 | <comment>synchronization status of the reference point</comment> | ||
25 | <literal name="sync_required" value="0"/> | ||
26 | <literal name="in_sync" value="1"/> | ||
27 | </enum> | ||
28 | |||
29 | <enum name="RefPointUseStatus" type="Tensor.int8" default ="unknown"> | ||
30 | <comment>use status of the reference point</comment> | ||
31 | <literal name="unknown" value="0"/> | ||
32 | <literal name="outdated" value="1"/> | ||
33 | <literal name="valid" value="2"/> | ||
34 | <literal name="quarantined" value="3"/> | ||
35 | <literal name="invalid" value="4"/> | ||
36 | <literal name="deprecated" value="5"/> | ||
37 | <literal name="discardable" value="6"/> | ||
38 | </enum> | ||
39 | |||
40 | <enum name="RefPointType" type="Tensor.int8" default="undefined"> | ||
41 | <comment>Specifies the format of the Reference data.</comment> | ||
42 | <literal name="undefined" value="0"/> | ||
43 | <literal name="RF" value="1"/> | ||
44 | <literal name="Cellular" value="2"/> | ||
45 | <literal name="Wifi" value="3"/> | ||
46 | <literal name="Bluetooth" value="4"/> | ||
47 | <literal name="GenericRF" value="5"/> | ||
48 | </enum> | ||
49 | |||
50 | <struct name="RefPoint" > | ||
51 | <comment>defines the base structure of a reference point</comment> | ||
52 | <elem name="type" type="RefPointType" multiplicity="1" rttd="true"> | ||
53 | <comment>Identifies the format/type of the reference data.</comment> | ||
54 | </elem> | ||
55 | |||
56 | <elem name="id" multiplicity="1" type="HashKey" > | ||
57 | <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> | ||
58 | </elem> | ||
59 | |||
60 | <elem name="position" multiplicity="0..1" type="Spheroid" > | ||
61 | <comment>the estimated position of the access point</comment> | ||
62 | </elem> | ||
63 | |||
64 | <elem name ="veracity" multiplicity="1" type="Tensor.float32"> | ||
65 | <comment>The veracity of the reference point, 1= 100% trusted and validated, 0% not trusted at all.</comment> | ||
66 | </elem> | ||
67 | |||
68 | <elem name="usestatus" multiplicity="1" type="RefPointUseStatus"> | ||
69 | <comment>status of the reference point</comment> | ||
70 | </elem> | ||
71 | <elem name="validbegin" type="datetime" multiplicity="1"> | ||
72 | <comment>time stamp of the begining of the valid period</comment> | ||
73 | </elem> | ||
74 | <elem name="validend" type="datetime" multiplicity="1"> | ||
75 | <comment>time stamp of the ending of the valid period</comment> | ||
76 | </elem> | ||
77 | <elem name ="data" type="Tensor.json" multiplicity="0..1"> | ||
78 | <comment>json formatted data specific to the device</comment> | ||
79 | </elem> | ||
80 | <elem name="floor" multiplicity ="0..1" type="int8" > | ||
81 | <comment>Optional floor identifier, default is zero meaning the ground floor</comment> | ||
82 | </elem> | ||
83 | |||
84 | </struct> | ||
85 | |||
86 | <!-- ReferencePoint --> | ||
87 | <struct name="RFRefPoint" type="RefPoint" rttkey="SLAM.RefPointType.RF"> | ||
88 | |||
89 | <comment>structure defines a reference Point.</comment> | ||
90 | <elem name="txpwr" type="Tensor.float32" multiplicity="1"> | ||
91 | <comment>transmission power</comment> | ||
92 | </elem> | ||
93 | <elem name="attenuation" type="Tensor.float32" multiplicity="1"> | ||
94 | <comment> attenuation exponent</comment> | ||
95 | </elem> | ||
96 | <elem name="freq" type="Tensor.float32" multiplicity="1"> | ||
97 | <comment> radio frequency of the reference in Hz</comment> | ||
98 | </elem> | ||
99 | |||
100 | </struct> | ||
101 | |||
102 | <struct name="WifiRefPoint" type="RFRefPoint" rttkey="SLAM.RefPointType.Wifi"> | ||
103 | |||
104 | <elem name="ssid" type="HPE.WiFi.SSID" multiplicity="1"> | ||
105 | <comment>ssid of the access point</comment> | ||
106 | </elem> | ||
107 | <elem name ="macaddr" type="mac48" multiplicity="1"> | ||
108 | <comment>the mac address of the access point</comment> | ||
109 | </elem> | ||
110 | |||
111 | </struct> | ||
112 | |||
113 | <struct name="BluetoothRefPoint" type="RFRefPoint" rttkey="SLAM.RefPointType.Bluetooth"> | ||
114 | |||
115 | <elem name ="macaddr" type="Tensor.string" multiplicity="1"> | ||
116 | <comment>the mac address of the access point</comment> | ||
117 | </elem> | ||
118 | |||
119 | </struct> | ||
120 | |||
121 | <struct name="CellularRefPoint" type="RFRefPoint" rttkey="SLAM.RefPointType.Cellular"> | ||
122 | |||
123 | <elem name ="cid" type="CellId" multiplicity="1"/> | ||
124 | <elem name ="antenna" type="AntennaSpec" multiplicity="1"/> | ||
125 | </struct> | ||
126 | |||
127 | <struct name="GenericRFRefPoint" type="RFRefPoint" rttkey="SLAM.RefPointType.GenericRF"> | ||
128 | <elem name="uri" type="Tensor.uri" multiplicity="1"> | ||
129 | <comment>identifier that determines the genericRF type and unique identifier. encoded into the hash key</comment> | ||
130 | </elem> | ||
131 | |||
132 | </struct> | ||
133 | |||
134 | <struct name="RefPointSet"> | ||
135 | <comment>a set of reference points</comment> | ||
136 | <elem name="refpoints" type="RefPoint" multiplicity="0..*" polymorphic="true"/> | ||
137 | |||
138 | </struct> | ||
139 | |||
140 | </namespace> | ||
141 | </specification> |
SLAM/V1.0/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 https://xid.location.studio/schema/V1.0.0/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/HPE/V1.2/HpeGnss.xid.xml" local="HpeGnss.xid.xml" /> | ||
16 | <import ref="https://xid.location.studio/HPE/V1.2/HpeCellular.xid.xml" local="HpeCellular.xid.xml" /> | ||
17 | <import ref="https://xid.location.studio/HPE/V1.2/HpeWiFi.xid.xml" local="HpeWiFi.xid.xml" /> | ||
18 | <import ref="https://xid.location.studio/Tensor/V1.1/ApiBase.xid.xml" local="ApiBase.xid.xml" /> | ||
19 | <import ref="https://xid.location.studio/GeoSpatial/V1.0/SpatialDefs.xid.xml" local="SpatialDefs.xid.xml" /> | ||
20 | <import ref="https://xid.location.studio/GeoSpatial/V1.0/Address.xid.xml" local="Address.xid.xml" /> | ||
21 | <import ref="https://xid.location.studio/GeoSpatial/V1.0/Contact.xid.xml" local="Contact.xid.xml" /> | ||
22 | <import ref="https://xid.location.studio/GeoSpatial/V1.0/PointOfInterest.xid.xml" local="PointOfInterest.xid.xml" /> | ||
23 | |||
24 | <namespace name="SLAM"> | ||
25 | <using namespace="HPE"/> | ||
26 | <using namespace="Tensor"/> | ||
27 | |||
28 | |||
29 | <!-- | ||
30 | ************************************* | ||
31 | * SurveyInfo Definition. | ||
32 | ************************************* | ||
33 | --> | ||
34 | <struct name="SurveyInfo"> | ||
35 | <comment>General information about the survey.</comment> | ||
36 | <elem name="name" multiplicity ="1" type="string" > | ||
37 | <comment>Optional name to describe the identify of the survey</comment> | ||
38 | </elem> | ||
39 | <elem name="flrmax" multiplicity ="1" type="int8" default ="0"> | ||
40 | <comment>Optional maximum floor identifier, default is zero meaning the ground floor</comment> | ||
41 | </elem> | ||
42 | <elem name="flrmin" multiplicity ="1" type="int8" default ="0"> | ||
43 | <comment>Optional minimum floor identifier, default is zero meaning the ground floor</comment> | ||
44 | </elem> | ||
45 | <elem name="appid" multiplicity ="1" type="string" > | ||
46 | <comment>Application identifier used to collect the survey data. Default is empty "".</comment> | ||
47 | </elem> | ||
48 | <elem name="appver" multiplicity ="1" type="string" > | ||
49 | <comment>Application version used to collect the survey data. Default is empty "".</comment> | ||
50 | </elem> | ||
51 | <elem name="createdate" type="datetime" multiplicity="1"> | ||
52 | <comment>Date and time the survey was created or conducted.</comment> | ||
53 | </elem> | ||
54 | <elem name="contact" multiplicity ="0..1" type="GeoSpatial.ContactInfo" > | ||
55 | <comment>Optional contact information.</comment> | ||
56 | </elem> | ||
57 | <elem name="address" multiplicity ="0..1" type="GeoSpatial.AddressInfo" > | ||
58 | <comment>Optional address information.</comment> | ||
59 | </elem> | ||
60 | <elem name="datestart" type="datetime" multiplicity="0..1"> | ||
61 | <comment>Date and time of when this survey is valid. Do not define if unknown.</comment> | ||
62 | </elem> | ||
63 | <elem name="dateend" type="datetime" multiplicity="0..1"> | ||
64 | <comment>Last date and time of when this survey is valid. Do not define if unknown.</comment> | ||
65 | </elem> | ||
66 | </struct> | ||
67 | |||
68 | |||
69 | |||
70 | <!-- | ||
71 | ************************************* | ||
72 | * SurveyRecord Definition. | ||
73 | ************************************* | ||
74 | --> | ||
75 | <struct name="SurveyRecord" > | ||
76 | <comment>A Survey Record.</comment> | ||
77 | <elem name="state" multiplicity="1" type="StateInfo"> | ||
78 | <comment> | ||
79 | Required device position and other state information. At least one of | ||
80 | observations or state is required, otherwise there is insufficient data to process. | ||
81 | </comment> | ||
82 | </elem> | ||
83 | |||
84 | <elem name="floor" multiplicity="1" type ="int8" default="0"> | ||
85 | <comment>The floor number of this scan</comment> | ||
86 | </elem> | ||
87 | <elem name="observations" multiplicity="1" type="ObservationSet" > | ||
88 | <comment> | ||
89 | Optional Set of observation data encoded in the format specified by encObs.\n | ||
90 | At least one of observations or state is required, | ||
91 | otherwise there is insufficient data to process. | ||
92 | </comment> | ||
93 | </elem> | ||
94 | </struct> | ||
95 | |||
96 | <!-- | ||
97 | ************************************* | ||
98 | * SurveyData Definition. | ||
99 | ************************************* | ||
100 | --> | ||
101 | <struct name ="SurveyData"> | ||
102 | |||
103 | <elem name ="surveyid" type="Tensor.UUID" multiplicity="1" > | ||
104 | <comment>Identifies the unique id of the survey</comment> | ||
105 | </elem> | ||
106 | |||
107 | <elem name ="part" type="int32" multiplicity="1" default="0"> | ||
108 | <comment>Zero based part index of survey indicating data is in parts.</comment> | ||
109 | </elem> | ||
110 | |||
111 | <elem name ="type" type="uri" multiplicity="1"> | ||
112 | <comment>Type uri, provides information on the type of survey. This can indicate a variety of things and is used for search.</comment> | ||
113 | </elem> | ||
114 | |||
115 | <elem name ="source" type="uri" multiplicity="1"> | ||
116 | <comment>Source uri, provides information on how survey data was sourced, potentially ownership.</comment> | ||
117 | </elem> | ||
118 | |||
119 | <elem name ="veracity" type="float32" multiplicity="1"> | ||
120 | <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> | ||
121 | </elem> | ||
122 | |||
123 | |||
124 | <elem name="info" multiplicity="1" type="SurveyInfo"> | ||
125 | <comment> | ||
126 | Optional survey information. | ||
127 | </comment> | ||
128 | </elem> | ||
129 | |||
130 | <elem name="records" multiplicity="0..*" type="SurveyRecord"> | ||
131 | <comment> | ||
132 | Survey record(s) collected by the survey. | ||
133 | </comment> | ||
134 | </elem> | ||
135 | |||
136 | <elem name="pois" multiplicity="0..*" type="GeoSpatial.PointOfInterest"> | ||
137 | <comment> | ||
138 | Points of interest collected by the survey. | ||
139 | </comment> | ||
140 | </elem> | ||
141 | |||
142 | </struct> | ||
143 | |||
144 | <!-- | ||
145 | ******************************************************* | ||
146 | Survey Submission API | ||
147 | ******************************************************* | ||
148 | --> | ||
149 | <interface name="Survey"> | ||
150 | <comment>Interface for submitting SLAM compliant survey data.</comment> | ||
151 | |||
152 | <operation name="Submit"> | ||
153 | <comment> | ||
154 | Interaction submits survey data and outputs submission result and UUID. | ||
155 | </comment> | ||
156 | <input name="input" type="Tensor.InputBase" sid="0x1030"> | ||
157 | <elem name="survey" multiplicity="1" type="SurveyData"></elem> | ||
158 | </input> | ||
159 | <output name="output" type="Tensor.OutputBase" sid="0x1031"> | ||
160 | <comment>Survey submission output returns status and UUID of the submitted survey.</comment> | ||
161 | <elem name="id" multiplicity="1" type="Tensor.UUID"/> | ||
162 | </output> | ||
163 | </operation> | ||
164 | |||
165 | <operation name="Download"> | ||
166 | <comment>Downloads survey data given id.</comment> | ||
167 | <input name="input" type="Tensor.InputBase" sid="0x1032"> | ||
168 | <elem name="id" multiplicity="1" type="Tensor.UUID"> | ||
169 | <comment>UUID of Survey set.</comment> | ||
170 | </elem> | ||
171 | <elem name="part" multiplicity="1" type="Tensor.int32" default="-1"> | ||
172 | <comment>Survey part id of interest. Default value is -1, which will return </comment> | ||
173 | </elem> | ||
174 | </input> | ||
175 | <output name="output" type="Tensor.OutputBase" sid="0x1033"> | ||
176 | <comment>Survey download output data structure contains a zero or more surveys.</comment> | ||
177 | <elem name="surveys" multiplicity="0..*" type="SurveyData"></elem> | ||
178 | </output> | ||
179 | </operation> | ||
180 | </interface> | ||
181 | |||
182 | |||
183 | |||
184 | </namespace> | ||
185 | </specification> |
SLAM/V1.0/TileDefinitions.xid.xml
0 → 100644
This diff is collapsed.
Click to expand it.
SLAM/V1.0/TileManagementApi.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 https://xid.location.studio/schema/V1.0.0/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.1/ApiBase.xid.xml" local="ApiBase.xid.xml" /> | ||
13 | |||
14 | <namespace name="SLAM"> | ||
15 | <using namespace="HPE"/> | ||
16 | <using namespace="Tensor"/> | ||
17 | |||
18 | <!-- | ||
19 | ******************************************************* | ||
20 | Tile Management API | ||
21 | ******************************************************* | ||
22 | --> | ||
23 | <interface name="TileManagement"> | ||
24 | <comment>Interface for submitting a new tile to the DB. </comment> | ||
25 | <operation name="DeleteTile"> | ||
26 | <comment> | ||
27 | Interaction to delete a tile. | ||
28 | </comment> | ||
29 | <input name="input" type="Tensor.InputBase" sid="0x101b"> | ||
30 | <comment>defines the input data for DeleteTile operation</comment> | ||
31 | <elem name="tileid" type="Tensor.UUID" multiplicity="1" > | ||
32 | <comment>element specifies UUID of the the tile</comment> | ||
33 | </elem> | ||
34 | </input> | ||
35 | </operation> | ||
36 | |||
37 | <operation name="UploadTile"> | ||
38 | |||
39 | <comment>interation to upload a tile</comment> | ||
40 | <input name="input" type="Tensor.InputBase" sid="0x102b"> | ||
41 | <comment>defines the input data structure for UploadTile operation</comment> | ||
42 | <elem name="tile" type="Tile" multiplicity="1"> | ||
43 | <comment>the tile structure</comment> | ||
44 | </elem> | ||
45 | </input> | ||
46 | </operation> | ||
47 | |||
48 | <operation name="UpdateTile"> | ||
49 | |||
50 | <comment>interation to update a tile</comment> | ||
51 | <input name="input" type="Tensor.InputBase" sid="0x103b"> | ||
52 | <comment>defines the input data structure for UpdateTile operation</comment> | ||
53 | <elem name="tile" type="Tile" multiplicity="1"> | ||
54 | <comment>the tile structure</comment> | ||
55 | </elem> | ||
56 | </input> | ||
57 | |||
58 | </operation> | ||
59 | |||
60 | </interface> | ||
61 | |||
62 | </namespace> | ||
63 | </specification> |
SLAM/V1.0/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 https://xid.location.studio/schema/V1.0.0/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/HPE/V1.2/HpeGnss.xid.xml" local="HpeGnss.xid.xml" /> | ||
13 | <import ref="https://xid.location.studio/HPE/V1.2/HpeCellular.xid.xml" local="HpeCellular.xid.xml" /> | ||
14 | <import ref="https://xid.location.studio/HPE/V1.2/HpeWiFi.xid.xml" local="HpeWiFi.xid.xml" /> | ||
15 | <import ref="https://xid.location.studio/Tensor/V1.1/ApiBase.xid.xml" local="ApiBase.xid.xml" /> | ||
16 | <import ref="https://xid.location.studio/GeoSpatial/V1.0/SpatialDefs.xid.xml" local="SpatialDefs.xid.xml" /> | ||
17 | |||
18 | |||
19 | <namespace name="SLAM"> | ||
20 | <using namespace="HPE"/> | ||
21 | <using namespace="Tensor"/> | ||
22 | |||
23 | <interface name="TileService"> | ||
24 | <comment>Interface for tile service. </comment> | ||
25 | |||
26 | <!-- DownloadTile operation--> | ||
27 | <operation name="DownloadTile"> | ||
28 | <comment>Interaction download a tile</comment> | ||
29 | <input name="input" type="Tensor.InputBase" sid="0x101a"> | ||
30 | <comment>defines the input data structure for DownloadTile operation </comment> | ||
31 | <elem name="tileid" type="Tensor.UUID" multiplicity="1" > | ||
32 | <comment>element specifies UUID of the the tile</comment> | ||
33 | </elem> | ||
34 | </input> | ||
35 | |||
36 | <output name="output" type="Tensor.OutputBase" sid="0x102a"> | ||
37 | <comment>defines the output data for DownloadTile operation</comment> | ||
38 | <elem name="tile" type="Tile" multiplicity="0..1" > | ||
39 | <comment>element defines the downloaded tile</comment> | ||
40 | </elem> | ||
41 | </output> | ||
42 | |||
43 | </operation> | ||
44 | |||
45 | <!-- FindTilesByBoundingbox operation --> | ||
46 | <operation name="FindTilesByBoundingbox"> | ||
47 | <comment>find tiles</comment> | ||
48 | <input name="input" type="Tensor.InputBase" sid="0x103a"> | ||
49 | <comment>defines the input data for FindTilesByBoundingbox operation </comment> | ||
50 | <elem name="bounding" type="GeoSpatial.BoundingBox" multiplicity="1"> | ||
51 | <comment>the bounding box that intersect with tiles</comment> | ||
52 | </elem> | ||
53 | <elem name="floor" type="Tensor.int16" multiplicity="0..1"> | ||
54 | <comment>optional floor number for more precise search</comment> | ||
55 | </elem> | ||
56 | </input> | ||
57 | |||
58 | <output name="output" type="Tensor.OutputBase" sid="0x104a"> | ||
59 | <comment>defines the output data for FindTilesByBoundingbox operation</comment> | ||
60 | <elem name="tiles" type="TileSet" multiplicity="0..1"> | ||
61 | <comment>a set of tiles as the result of the FindTilesByPos operation</comment> | ||
62 | </elem> | ||
63 | </output> | ||
64 | </operation> | ||
65 | |||
66 | <!-- FindTilesByRefId operation --> | ||
67 | <operation name="FindTilesByRefId"> | ||
68 | <comment>find tiles</comment> | ||
69 | <input name="input" type="Tensor.InputBase" sid="0x103a"> | ||
70 | <comment>defines the input data for FindTilesByRefId operation </comment> | ||
71 | <elem name="refids" type="Tensor.string" multiplicity="1..*"> | ||
72 | <comment>the bounding box that intersect with tiles</comment> | ||
73 | </elem> | ||
74 | <elem name="floor" type="Tensor.int16" multiplicity="0..1"> | ||
75 | <comment>optional floor number for more precise search</comment> | ||
76 | </elem> | ||
77 | <elem name="signaltype" type="ObservationType" multiplicity="1"> | ||
78 | <comment>the radio type of the reference points</comment> | ||
79 | </elem> | ||
80 | </input> | ||
81 | |||
82 | <output name="output" type="Tensor.OutputBase" sid="0x104a"> | ||
83 | <comment>defines the output data for FindTilesByRefId operation</comment> | ||
84 | <elem name="tiles" type="TileSet" multiplicity="0..1"> | ||
85 | <comment>a set of tiles as the result of the FindTilesByPos operation</comment> | ||
86 | </elem> | ||
87 | </output> | ||
88 | </operation> | ||
89 | |||
90 | <!-- EstimatePosition operation --> | ||
91 | <operation name="EstimatePosition"> | ||
92 | <comment> estimate posiion from a set of Wifi rssi observations</comment> | ||
93 | <input name="input" type="Tensor.InputBase" sid="0x106a"> | ||
94 | <comment>input for EstimatePosition operation</comment> | ||
95 | <elem name="observations" type="ObservationSet" multiplicity="1"> | ||
96 | <comment>a set of observed rssi values</comment> | ||
97 | </elem> | ||
98 | </input> | ||
99 | |||
100 | <output name="output" type="Tensor.OutputBase" sid="0x107a"> | ||
101 | <comment>output for EstimatePosition operation</comment> | ||
102 | <elem name="pos" type="Shape" multiplicity="0..*" polymorphic="true"> | ||
103 | <comment>approximate position of the tile</comment> | ||
104 | </elem> | ||
105 | |||
106 | </output> | ||
107 | </operation> | ||
108 | |||
109 | </interface> | ||
110 | |||
111 | </namespace> | ||
112 | </specification> |
SLAM/V1.0/XIDData.prop
0 → 100644
This diff is collapsed.
Click to expand it.
-
Please register or sign in to post a comment