9adf9118 by Pavan Sabbineni

Merge branch 'ILP-1118' into 'master'

ILP-1118 - Added Filtering and Updated documentation

See merge request !7
2 parents f7744db5 5ee7fdf0
...@@ -51,31 +51,33 @@ ...@@ -51,31 +51,33 @@
51 <struct name="BoundingBox" pack="true"> 51 <struct name="BoundingBox" pack="true">
52 52
53 <comment>Defines a bounding box in WGS84 reference frame.</comment> 53 <comment>Defines a bounding box in WGS84 reference frame.</comment>
54 <comment>Units for latitude and longitude are in units of micro degrees (1e-6 degrees) providing for about 11 cm resolution near the equator.</comment> 54 <comment>
55 Units for latitude and longitude are in units of micro degrees (1e-6 degrees) providing for about 11 cm resolution near the equator. Altitude units are in millimeters.
56 </comment>
55 <elem name="latmin" type="Tensor.int32" multiplicity="1" > 57 <elem name="latmin" type="Tensor.int32" multiplicity="1" >
56 <comment>Minimum value of the latitude.</comment> 58 <comment>Minimum value of the latitude. Valid range is -90,000,000 <= lat <= 90,000,000. </comment>
57 <tag name="unit" value="microdegrees"/> 59 <tag name="unit" value="microdegrees"/>
58 </elem> 60 </elem>
59 <elem name="latmax" type="Tensor.int32" multiplicity="1" > 61 <elem name="latmax" type="Tensor.int32" multiplicity="1" >
60 <comment>Maximum value of the latitude.</comment> 62 <comment>Maximum value of the latitude. Valid range is -90,000,000 <= lat <= 90,000,000.</comment>
61 <tag name="unit" value="microdegrees"/> 63 <tag name="unit" value="microdegrees"/>
62 </elem> 64 </elem>
63 <elem name="lonmin" type="Tensor.int32" multiplicity="1" > 65 <elem name="lonmin" type="Tensor.int32" multiplicity="1" >
64 <comment>Minimum value of the longitude.</comment> 66 <comment>Minimum value of the longitude. Valid range is -180,000,000 <= lat <= 180,000,000.</comment>
65 <tag name="unit" value="microdegrees"/> 67 <tag name="unit" value="microdegrees"/>
66 </elem> 68 </elem>
67 <elem name="lonmax" type="Tensor.int32" multiplicity="1" > 69 <elem name="lonmax" type="Tensor.int32" multiplicity="1" >
68 <comment>Maximum value of the longitude.</comment> 70 <comment>Maximum value of the longitude. Valid range is -180,000,000 <= lat <= 180,000,000.</comment>
69 <tag name="unit" value="microdegrees"/> 71 <tag name="unit" value="microdegrees"/>
70 </elem> 72 </elem>
71 73
72 <elem name="altmin" type="Tensor.int32" multiplicity="1" > 74 <elem name="altmin" type="Tensor.int32" multiplicity="1" >
73 <comment>Minimum value of the altitude.</comment> 75 <comment>Minimum value of the altitude. Valid range is +- 1,000,000,000 cm.</comment>
74 <tag name="unit" value="microdegrees"/> 76 <tag name="unit" value="cm"/>
75 </elem> 77 </elem>
76 <elem name="altmax" type="Tensor.int32" multiplicity="1" > 78 <elem name="altmax" type="Tensor.int32" multiplicity="1" >
77 <comment>Maximum value of the altitude.</comment> 79 <comment>Maximum value of the altitude. Valid range is +- 1,000,000,000 cm.</comment>
78 <tag name="unit" value="microdegrees"/> 80 <tag name="unit" value="cm"/>
79 </elem> 81 </elem>
80 82
81 </struct> 83 </struct>
......
...@@ -40,9 +40,6 @@ ...@@ -40,9 +40,6 @@
40 <elem name="bounds" multiplicity ="0..1" type="GeoSpatial.BoundingBox" > 40 <elem name="bounds" multiplicity ="0..1" type="GeoSpatial.BoundingBox" >
41 <comment>Optional bounding box, which the records are contained.</comment> 41 <comment>Optional bounding box, which the records are contained.</comment>
42 </elem> 42 </elem>
43 <elem name="devids" multiplicity ="0..*" type="string" >
44 <comment>Optional set of device idenifers to select for execution.</comment>
45 </elem>
46 </struct> 43 </struct>
47 44
48 45
...@@ -53,6 +50,12 @@ ...@@ -53,6 +50,12 @@
53 --> 50 -->
54 <struct name="DataSet" type="GeoSpatial.Object" rttkey="GeoSpatial.ObjectType.IlpTestDataSet"> 51 <struct name="DataSet" type="GeoSpatial.Object" rttkey="GeoSpatial.ObjectType.IlpTestDataSet">
55 <comment>DataSet comprises one or more surveys to use as analysis test records.</comment> 52 <comment>DataSet comprises one or more surveys to use as analysis test records.</comment>
53 <elem name="filter" multiplicity ="0..1" type="Filter" >
54 <comment>
55 Optional filter specifies which test data records and observations should be used for testing. If not
56 specified, all test data will be used.
57 </comment>
58 </elem>
56 <elem name="uuidData" multiplicity ="0..*" type="UUID" > 59 <elem name="uuidData" multiplicity ="0..*" type="UUID" >
57 <comment>Zero or more UUIDs identifying the survey test data to include in this data set.</comment> 60 <comment>Zero or more UUIDs identifying the survey test data to include in this data set.</comment>
58 </elem> 61 </elem>
...@@ -86,6 +89,24 @@ ...@@ -86,6 +89,24 @@
86 <comment>Date and time the test specification was modified.</comment> 89 <comment>Date and time the test specification was modified.</comment>
87 </elem> 90 </elem>
88 91
92 <elem name="extendedResults" multiplicity="0..1" type="bool">
93 <comment>
94 Specifies whether to provide extended test result records with state and velocity fields. By
95 default, this is false. This is typically used with GNSS data analysis, indoor analysis will rarely use
96 these fields. If not specified, it is assumed false, providing only standard results.
97 </comment>
98 </elem>
99
100 <elem name="cutoff" multiplicity="0..1" type="int32" >
101 <comment>
102 Specifies the cutoff in number of standard deviations from the mean error. The default
103 is 1000, which means any results more than 1000 standard deviations from the mean are
104 are outliers and not considered in calculation of the summary statistics. This will include
105 all data in most well formed cases. Values of 5 are typical when using cutoff.
106 to include even the worst data.
107 </comment>
108 </elem>
109
89 <elem name="contact" multiplicity ="0..1" type="GeoSpatial.ContactInfo" > 110 <elem name="contact" multiplicity ="0..1" type="GeoSpatial.ContactInfo" >
90 <comment>Optional contact information.</comment> 111 <comment>Optional contact information.</comment>
91 </elem> 112 </elem>
...@@ -93,6 +114,8 @@ ...@@ -93,6 +114,8 @@
93 <elem name="datasets" multiplicity="0..*" type="DataSet"> 114 <elem name="datasets" multiplicity="0..*" type="DataSet">
94 <comment>Dataset specifications to process.</comment> 115 <comment>Dataset specifications to process.</comment>
95 </elem> 116 </elem>
117
118
96 </struct> 119 </struct>
97 120
98 <!-- 121 <!--
...@@ -101,27 +124,30 @@ ...@@ -101,27 +124,30 @@
101 ************************************* 124 *************************************
102 --> 125 -->
103 <struct name="ResultRecord" > 126 <struct name="ResultRecord" >
104 <comment>Result Record contains detailed results of position calculation and information relative to truth.</comment> 127 <comment>Result Record contains detailed results of position calculation and information relative to truth. Optional fields will be included when
128 the Specification.extendedResults is true.</comment>
105 129
106 <elem name="index" type="uint32" multiplicity="1" /> 130 <elem name="index" type="uint32" multiplicity="1" />
107 <elem name="epoch" type="datetime" multiplicity="1" /> 131 <elem name="epoch" type="datetime" multiplicity="1" />
108 <elem name="resultcode" type="ResultCode" multiplicity="1" /> 132 <elem name="resultcode" type="ResultCode" multiplicity="1" />
109 <elem name="status" type="HPE.ProcessingStatus" multiplicity="1" /> 133 <elem name="status" type="HPE.ProcessingStatus" multiplicity="1" />
110 <elem name="source" type="string" multiplicity="1" /> 134 <elem name="source" type="string" multiplicity="1" />
111 <elem name="stateTruth" type="HPE.StateVector" multiplicity="1" />
112 <elem name="stateEst" type="HPE.StateVector" multiplicity="1" />
113 <elem name="stateUncert" type="HPE.StateVector" multiplicity="1" />
114 <elem name="stateErr" type="HPE.StateVector" multiplicity="1" />
115 <elem name="llaTruth" type="GeoSpatial.PositionECEF" multiplicity="1" /> 135 <elem name="llaTruth" type="GeoSpatial.PositionECEF" multiplicity="1" />
116 <elem name="llaEst" type="GeoSpatial.PositionECEF" multiplicity="1" /> 136 <elem name="llaEst" type="GeoSpatial.PositionECEF" multiplicity="1" />
137 <elem name="enuUncert" type="GeoSpatial.XYZVector" multiplicity="1" />
117 <elem name="enuErr" type="GeoSpatial.XYZVector" multiplicity="1" /> 138 <elem name="enuErr" type="GeoSpatial.XYZVector" multiplicity="1" />
118 <elem name="enuEstVel" type="GeoSpatial.XYZVector" multiplicity="1" />
119 <elem name="enuErrVel" type="GeoSpatial.XYZVector" multiplicity="1" />
120 <elem name="veracity" type="float32" multiplicity="1" />
121 <elem name="floor" type="float32" multiplicity="1" /> 139 <elem name="floor" type="float32" multiplicity="1" />
140 <elem name="floorTruth" type="float32" multiplicity="1" />
122 <elem name="floorUncert" type="float32" multiplicity="1" /> 141 <elem name="floorUncert" type="float32" multiplicity="1" />
123 <elem name="floorErr" type="float32" multiplicity="1" /> 142 <elem name="floorErr" type="float32" multiplicity="1" />
124 <elem name="floorLabel" type="string" multiplicity="1" /> 143 <elem name="floorLabel" type="string" multiplicity="1" />
144 <elem name="veracity" type="float32" multiplicity="1" />
145 <elem name="enuVelEst" type="GeoSpatial.XYZVector" multiplicity="0..1" />
146 <elem name="enuVelErr" type="GeoSpatial.XYZVector" multiplicity="0..1" />
147 <elem name="stateTruth" type="HPE.StateVector" multiplicity="0..1" />
148 <elem name="stateEst" type="HPE.StateVector" multiplicity="0..1" />
149 <elem name="stateUncert" type="HPE.StateVector" multiplicity="0..1" />
150 <elem name="stateErr" type="HPE.StateVector" multiplicity="0..1" />
125 <elem name="miscdata" type="json" multiplicity="0..1" /> 151 <elem name="miscdata" type="json" multiplicity="0..1" />
126 </struct> 152 </struct>
127 153
...@@ -134,22 +160,24 @@ ...@@ -134,22 +160,24 @@
134 <comment>Calculated statistics for the associated the results.</comment> 160 <comment>Calculated statistics for the associated the results.</comment>
135 161
136 <elem name="count" type="uint32" multiplicity="1" /> 162 <elem name="count" type="uint32" multiplicity="1" />
163 <elem name="outliers" type="uint32" multiplicity="1" />
137 <elem name="cep50" type="float32" multiplicity="1" /> 164 <elem name="cep50" type="float32" multiplicity="1" />
138 <elem name="cep68" type="float32" multiplicity="1" /> 165 <elem name="cep68" type="float32" multiplicity="1" />
139 <elem name="cep95" type="float32" multiplicity="1" /> 166 <elem name="cep95" type="float32" multiplicity="1" />
140 <elem name="cepmax" type="float32" multiplicity="1" /> 167 <elem name="cepmax" type="float32" multiplicity="1" />
141 <elem name="rmsuncert" type="float32" multiplicity="1" /> 168 <elem name="rmsuncert" type="float32" multiplicity="1" />
142 <elem name="rmserr" type="float32" multiplicity="1" /> 169 <elem name="rmserr" type="float32" multiplicity="1" />
143 <elem name="meanState" type="HPE.StateVector" multiplicity="1" /> 170 <elem name="rmsEnuErr" type="GeoSpatial.XYZVector" multiplicity="1" />
144 <elem name="meanStateErr" type="HPE.StateVector" multiplicity="1" /> 171 <elem name="rmsEnuUncert" type="GeoSpatial.XYZVector" multiplicity="1" />
145 <elem name="meanEnuErr" type="GeoSpatial.XYZVector" multiplicity="1" />
146 <elem name="meanEnuUncert" type="GeoSpatial.XYZVector" multiplicity="1" />
147 <elem name="meanEnuVel" type="GeoSpatial.XYZVector" multiplicity="1" />
148 <elem name="meanEnuVelUncert" type="GeoSpatial.XYZVector" multiplicity="1" />
149 <elem name="meanEnuVelErr" type="GeoSpatial.XYZVector" multiplicity="1" />
150 <elem name="meanFloor" type="float32" multiplicity="1" /> 172 <elem name="meanFloor" type="float32" multiplicity="1" />
151 <elem name="rmsFloorUncert" type="float32" multiplicity="1" /> 173 <elem name="rmsFloorUncert" type="float32" multiplicity="1" />
152 <elem name="rmsFloorErr" type="float32" multiplicity="1" /> 174 <elem name="rmsFloorErr" type="float32" multiplicity="1" />
175 <elem name="meanEnuVel" type="GeoSpatial.XYZVector" multiplicity="0..1" />
176 <elem name="rmsEnuVelUncert" type="GeoSpatial.XYZVector" multiplicity="0..1" />
177 <elem name="rmsEnuVelErr" type="GeoSpatial.XYZVector" multiplicity="0..1" />
178 <elem name="meanState" type="HPE.StateVector" multiplicity="0..1" />
179 <elem name="rmsStateErr" type="HPE.StateVector" multiplicity="0..1" />
180
153 </struct> 181 </struct>
154 182
155 <!-- 183 <!--
...@@ -160,16 +188,8 @@ ...@@ -160,16 +188,8 @@
160 <struct name="ServiceResults" type="GeoSpatial.Object" rttkey="GeoSpatial.ObjectType.IlpTestResultSet"> 188 <struct name="ServiceResults" type="GeoSpatial.Object" rttkey="GeoSpatial.ObjectType.IlpTestResultSet">
161 <comment>Specification for an ILP analysis test data result set.</comment> 189 <comment>Specification for an ILP analysis test data result set.</comment>
162 190
163 <elem name="records" type="ResultRecord" multiplicity="0..*">
164 <comment>The estimated position result records.</comment>
165 </elem>
166
167 <elem name="stats" type="Statistics" multiplicity="1">
168 <comment>Statistics for the result set.</comment>
169 </elem>
170
171 <elem name="confidence" type="float32" multiplicity="1" > 191 <elem name="confidence" type="float32" multiplicity="1" >
172 <comment>Confidence for the result records. Typically this will be .6872, but will report the confidence specified by the input.</comment> 192 <comment>Confidence for the result records. Typically this will be one standard deviation (0.6872) but will report the confidence specified by the input.</comment>
173 </elem> 193 </elem>
174 194
175 <elem name="uriService" multiplicity = "1" type="Tensor.uri"> 195 <elem name="uriService" multiplicity = "1" type="Tensor.uri">
...@@ -179,6 +199,14 @@ ...@@ -179,6 +199,14 @@
179 </comment> 199 </comment>
180 </elem> 200 </elem>
181 201
202 <elem name="stats" type="Statistics" multiplicity="1">
203 <comment>Statistics for the result set.</comment>
204 </elem>
205
206 <elem name="records" type="ResultRecord" multiplicity="0..*">
207 <comment>The estimated position result records.</comment>
208 </elem>
209
182 </struct> 210 </struct>
183 211
184 <!-- 212 <!--
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!