Merge branch 'ILP-1118' into 'master'
ILP-1118 - Added Filtering and Updated documentation See merge request !7
Showing
2 changed files
with
66 additions
and
36 deletions
| ... | @@ -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 | <!-- | ... | ... |
-
Please register or sign in to post a comment