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