XML   38

geo.xml

Guest on 5th May 2022 05:28:00 PM

  1. <sml:SensorML xmlns:gml="http://www.opengis.net/gml" xmlns:sml="http://www.opengis.net/sensorML/1.0" xmlns:swe="http://www.opengis.net/swe/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/sensorML/1.0 file:///C:\eclipse_workspace\schema\sensorML\sensorML.xsd" version="1.0">
  2. <sml:member>
  3. <sml:ProcessChain gml:id="GEOLOCATION">
  4. <gml:description> This process chain determines axis camera position vector and the ECEF view vector. </gml:description>
  5. <gml:name>geo</gml:name>
  6. <sml:inputs>
  7. <sml:InputList>
  8. <sml:input name="alongScanAngle">
  9. <swe:Quantity>
  10. <swe:uom code="rad"/>
  11. </swe:Quantity>
  12. </sml:input>
  13. <sml:input name="alongTrackAngle">
  14. <swe:Quantity>
  15. <swe:uom code="rad"/>
  16. </swe:Quantity>
  17. </sml:input>
  18. <sml:input name="navigationData">
  19. <swe:DataRecord>
  20. <swe:field name="time">
  21. <swe:Time definition="urn:ogc:phenomenon:time" referenceTime="1970-01-01T00:00:00Z">
  22. <swe:uom code="s"/>
  23. </swe:Time>
  24. </swe:field>
  25. <swe:field name="latitude">
  26. <swe:Quantity definition="urn:ogc:phenomenon:latitude:wgs84">
  27. <swe:uom code="deg"/>
  28. </swe:Quantity>
  29. </swe:field>
  30. <swe:field name="longitude">
  31. <swe:Quantity definition="urn:ogc:phenomenon:longitude:wgs84">
  32. <swe:uom code="deg"/>
  33. </swe:Quantity>
  34. </swe:field>
  35. <swe:field name="trueHeading">
  36. <swe:Quantity definition="urn:ogc:phenomenon:angle">
  37. <swe:uom code="deg"/>
  38. </swe:Quantity>
  39. </swe:field>
  40. <swe:field name="pitch">
  41. <swe:Quantity definition="urn:ogc:phenomenon:angle">
  42. <swe:uom code="deg"/>
  43. </swe:Quantity>
  44. </swe:field>
  45. <swe:field name="roll">
  46. <swe:Quantity definition="urn:ogc:phenomenon:angle">
  47. <swe:uom code="deg"/>
  48. </swe:Quantity>
  49. </swe:field>
  50. <swe:field name="derivedTH">
  51. <swe:Quantity definition="urn:ogc:phenomenon:angle">
  52. <swe:uom code="deg"/>
  53. </swe:Quantity>
  54. </swe:field>
  55. <swe:field name="groundElevation">
  56. <swe:Quantity definition="urn:ogc:phenomenon:angle">
  57. <swe:uom code="m"/>
  58. </swe:Quantity>
  59. </swe:field>
  60. <swe:field name="derivedPitch">
  61. <swe:Quantity definition="urn:ogc:phenomenon:angle">
  62. <swe:uom code="deg"/>
  63. </swe:Quantity>
  64. </swe:field>
  65. </swe:DataRecord>
  66. </sml:input>
  67. </sml:InputList>
  68. </sml:inputs>
  69. <sml:outputs>
  70. <sml:OutputList>
  71. <sml:output name="terrainElevation">
  72. <swe:Quantity>
  73. <swe:uom code="m"/>
  74. </swe:Quantity>
  75. </sml:output>
  76. <sml:output name="geolocationData">
  77. <swe:DataRecord>
  78. <swe:field name="ECEF_location">
  79. <swe:Vector definition="urn:ogc:def:data:locationVector" referenceFrame="urn:ogc:def:crs:ECEF_wgs84">
  80. <swe:coordinate name="x">
  81. <swe:Quantity>
  82. <swe:uom code="m"/>
  83. </swe:Quantity>
  84. </swe:coordinate>
  85. <swe:coordinate name="y">
  86. <swe:Quantity>
  87. <swe:uom code="m"/>
  88. </swe:Quantity>
  89. </swe:coordinate>
  90. <swe:coordinate name="z">
  91. <swe:Quantity>
  92. <swe:uom code="m"/>
  93. </swe:Quantity>
  94. </swe:coordinate>
  95. </swe:Vector>
  96. </swe:field>
  97. <swe:field name="ECEF_view_vector">
  98. <swe:Vector definition="urn:ogc:def:data:viewVector" referenceFrame="urn:ogc:def:crs:ECEF_wgs84">
  99. <swe:coordinate name="x">
  100. <swe:Quantity>
  101. <swe:uom code="m"/>
  102. </swe:Quantity>
  103. </swe:coordinate>
  104. <swe:coordinate name="y">
  105. <swe:Quantity>
  106. <swe:uom code="m"/>
  107. </swe:Quantity>
  108. </swe:coordinate>
  109. <swe:coordinate name="z">
  110. <swe:Quantity>
  111. <swe:uom code="m"/>
  112. </swe:Quantity>
  113. </swe:coordinate>
  114. </swe:Vector>
  115. </swe:field>
  116. </swe:DataRecord>
  117. </sml:output>
  118. </sml:OutputList>
  119. </sml:outputs>
  120. <sml:components>
  121. <sml:ComponentList>
  122. <!-- ~~~~~~~~~~~~~~~~~~~~ -->
  123. <!--  SRTM Elevation  -->
  124. <!-- ~~~~~~~~~~~~~~~~~~~~ -->
  125. <sml:component name="terrainElevation">
  126. <sml:ProcessModel>
  127. <sml:inputs>
  128. <sml:InputList>
  129. <sml:input name="CoverageIn">
  130. <swe:DataRecord>
  131. <swe:field name="lat">
  132. <swe:Quantity>
  133. <swe:uom code="deg"/>
  134. </swe:Quantity>
  135. </swe:field>
  136. <swe:field name="lon">
  137. <swe:Quantity>
  138. <swe:uom code="deg"/>
  139. </swe:Quantity>
  140. </swe:field>
  141. </swe:DataRecord>
  142. </sml:input>
  143. </sml:InputList>
  144. </sml:inputs>
  145. <sml:outputs>
  146. <sml:OutputList>
  147. <sml:output name="CoverageOut">
  148. <swe:DataRecord>
  149. <swe:field name="lat">
  150. <swe:Quantity>
  151. <swe:uom code="deg"/>
  152. </swe:Quantity>
  153. </swe:field>
  154. <swe:field name="lon">
  155. <swe:Quantity>
  156. <swe:uom code="deg"/>
  157. </swe:Quantity>
  158. </swe:field>
  159. <swe:field name="alt">
  160. <swe:Quantity>
  161. <swe:uom code="m"/>
  162. </swe:Quantity>
  163. </swe:field>
  164. </swe:DataRecord>
  165. </sml:output>
  166. </sml:OutputList>
  167. </sml:outputs>
  168. <sml:method xlink:href="urn:ogc:def:process:SRTMElevation:1.0"/>
  169. </sml:ProcessModel>
  170. </sml:component>
  171. <!-- ~~~~~~~~~~~~~~~~~~~~ -->
  172. <!--  Binary Operation  -->
  173. <!-- ~~~~~~~~~~~~~~~~~~~~ -->
  174. <sml:component name="altitudeOffset">
  175. <sml:ProcessModel>
  176. <sml:inputs>
  177. <sml:InputList>
  178. <sml:input name="operand1">
  179. <swe:Quantity definition="urn:ogc:def:phenomenon:distance">
  180. <swe:uom code="m"/>
  181. </swe:Quantity>
  182. </sml:input>
  183. <sml:input name="operand2">
  184. <swe:Quantity definition="urn:ogc:def:phenomenon:distance">
  185. <swe:uom code="m"/>
  186. <swe:value>1.181</swe:value>
  187. </swe:Quantity>
  188. </sml:input>
  189. </sml:InputList>
  190. </sml:inputs>
  191. <sml:outputs>
  192. <sml:OutputList>
  193. <sml:output name="result">
  194. <swe:Quantity definition="urn:ogc:def:phenomenon:distance">
  195. <swe:uom code="m"/>
  196. </swe:Quantity>
  197. </sml:output>
  198. </sml:OutputList>
  199. </sml:outputs>
  200. <sml:parameters>
  201. <sml:ParameterList>
  202. <sml:parameter name="operator">
  203. <swe:Category definition="urn:ogc:def:phenomenon:distance">
  204. <swe:value>addition</swe:value>
  205. </swe:Category>
  206. </sml:parameter>
  207. </sml:ParameterList>
  208. </sml:parameters>
  209. <sml:method xlink:href="urn:vast:def:process:binaryOperation:1.0"/>
  210. </sml:ProcessModel>
  211. </sml:component>
  212. <!-- ~~~~~~~~~~~~~~~~~~~~~~~ -->
  213. <!--  Matrix builder from sample 2 airplane   -->
  214. <!-- ~~~~~~~~~~~~~~~~~~~~~~~ -->
  215. <sml:component name="MatrixBuilderToAirplane">
  216. <sml:ProcessModel>
  217. <sml:inputs>
  218. <sml:InputList>
  219. <sml:input name="orientation">
  220. <swe:Vector definition="urn:ogc:def:data:orientationVector">
  221. <swe:coordinate name="x">
  222. <swe:Quantity definition="urn:ogc:def:phenomenon:angle">
  223. <swe:uom code="rad"/>
  224. <swe:value>0</swe:value>
  225. </swe:Quantity>
  226. </swe:coordinate>
  227. <swe:coordinate name="y">
  228. <swe:Quantity definition="urn:ogc:def:phenomenon:angle">
  229. <swe:uom code="rad"/>
  230. <swe:value>0</swe:value>
  231. </swe:Quantity>
  232. </swe:coordinate>
  233. <swe:coordinate name="z">
  234. <swe:Quantity definition="urn:ogc:def:phenomenon:angle">
  235. <swe:uom code="rad"/>
  236. <swe:value>0</swe:value>
  237. </swe:Quantity>
  238. </swe:coordinate>
  239. </swe:Vector>
  240. </sml:input>
  241. </sml:InputList>
  242. </sml:inputs>
  243. <sml:outputs>
  244. <sml:OutputList>
  245. <sml:output name="posMatrix">
  246. <swe:DataArray definition="urn:ogc:def:data:positionMatrix">
  247. <swe:elementCount>
  248. <swe:Count>
  249. <swe:value>9</swe:value>
  250. </swe:Count>
  251. </swe:elementCount>
  252. <swe:elementType name="element">
  253. <swe:Quantity/>
  254. </swe:elementType>
  255. </swe:DataArray>
  256. </sml:output>
  257. </sml:OutputList>
  258. </sml:outputs>
  259. <sml:method xlink:href="urn:ogc:def:process:pos2Matrix3:1.0"/>
  260. </sml:ProcessModel>
  261. </sml:component>
  262. <!-- ~~~~~~~~~~~~~~~~~~~~~~~ -->
  263. <!-- transformation from sample to airplane view vector   -->
  264. <!-- ~~~~~~~~~~~~~~~~~~~~~~~ -->
  265. <sml:component name="VectorMatrixMultiplierToAirplane">
  266. <sml:ProcessModel>
  267. <sml:inputs>
  268. <sml:InputList>
  269. <sml:input name="vector">
  270. <swe:Vector definition="urn:ogc:def:data:viewVector">
  271. <swe:coordinate name="x">
  272. <swe:Quantity definition="urn:ogc:def:phenomenon:distance">
  273. <swe:uom code="m"/>
  274. <swe:value>0.0</swe:value>
  275. </swe:Quantity>
  276. </swe:coordinate>
  277. <swe:coordinate name="y">
  278. <swe:Quantity definition="urn:ogc:def:phenomenon:distance">
  279. <swe:uom code="m"/>
  280. <swe:value>0.0</swe:value>
  281. </swe:Quantity>
  282. </swe:coordinate>
  283. <swe:coordinate name="z">
  284. <swe:Quantity definition="urn:ogc:def:phenomenon:distance">
  285. <swe:uom code="m"/>
  286. <swe:value>-1.0</swe:value>
  287. </swe:Quantity>
  288. </swe:coordinate>
  289. </swe:Vector>
  290. </sml:input>
  291. <sml:input name="transformMatrix">
  292. <swe:DataArray definition="urn:ogc:def:data:positionMatrix">
  293. <swe:elementCount>
  294. <swe:Count>
  295. <swe:value>9</swe:value>
  296. </swe:Count>
  297. </swe:elementCount>
  298. <swe:elementType name="element">
  299. <swe:Quantity/>
  300. </swe:elementType>
  301. </swe:DataArray>
  302. </sml:input>
  303. </sml:InputList>
  304. </sml:inputs>
  305. <sml:outputs>
  306. <sml:OutputList>
  307. <sml:output name="newVector">
  308. <swe:Vector definition="urn:ogc:def:data:viewVector">
  309. <swe:coordinate name="x">
  310. <swe:Quantity definition="urn:ogc:def:phenomenon:distance">
  311. <swe:uom code="m"/>
  312. </swe:Quantity>
  313. </swe:coordinate>
  314. <swe:coordinate name="y">
  315. <swe:Quantity definition="urn:ogc:def:phenomenon:distance">
  316. <swe:uom code="m"/>
  317. </swe:Quantity>
  318. </swe:coordinate>
  319. <swe:coordinate name="z">
  320. <swe:Quantity definition="urn:ogc:def:phenomenon:distance">
  321. <swe:uom code="m"/>
  322. </swe:Quantity>
  323. </swe:coordinate>
  324. </swe:Vector>
  325. </sml:output>
  326. </sml:OutputList>
  327. </sml:outputs>
  328. <sml:method xlink:href="urn:ogc:def:process:vectorMatrixMultiplication:1.0"/>
  329. </sml:ProcessModel>
  330. </sml:component>
  331. <!-- ~~~~~~~~~~~~~~~~~~~~~~~ -->
  332. <!--  Matrix builder from airplane 2 nadir plane   -->
  333. <!-- ~~~~~~~~~~~~~~~~~~~~~~~ -->
  334. <sml:component name="MatrixBuilderToNadirPlane">
  335. <sml:ProcessModel>
  336. <sml:inputs>
  337. <sml:InputList>
  338. <sml:input name="orientation">
  339. <swe:Vector definition="urn:ogc:def:data:orientationVector">
  340. <swe:coordinate name="x">
  341. <swe:Quantity definition="urn:ogc:def:phenomenon:angle">
  342. <swe:uom code="rad"/>
  343. <swe:value>0</swe:value>
  344. </swe:Quantity>
  345. </swe:coordinate>
  346. <swe:coordinate name="y">
  347. <swe:Quantity definition="urn:ogc:def:phenomenon:angle">
  348. <swe:uom code="rad"/>
  349. <swe:value>0</swe:value>
  350. </swe:Quantity>
  351. </swe:coordinate>
  352. <swe:coordinate name="z">
  353. <swe:Quantity definition="urn:ogc:def:phenomenon:angle">
  354. <swe:uom code="rad"/>
  355. <swe:value>0</swe:value>
  356. </swe:Quantity>
  357. </swe:coordinate>
  358. </swe:Vector>
  359. </sml:input>
  360. </sml:InputList>
  361. </sml:inputs>
  362. <sml:outputs>
  363. <sml:OutputList>
  364. <sml:output name="posMatrix">
  365. <swe:DataArray definition="urn:ogc:def:data:positionMatrix">
  366. <swe:elementCount>
  367. <swe:Count>
  368. <swe:value>9</swe:value>
  369. </swe:Count>
  370. </swe:elementCount>
  371. <swe:elementType name="element">
  372. <swe:Quantity/>
  373. </swe:elementType>
  374. </swe:DataArray>
  375. </sml:output>
  376. </sml:OutputList>
  377. </sml:outputs>
  378. <sml:method xlink:href="urn:ogc:def:process:pos2Matrix3:1.0"/>
  379. </sml:ProcessModel>
  380. </sml:component>
  381. <!-- ~~~~~~~~~~~~~~~~~~~~~~~ -->
  382. <!-- transformation from airplane to nadir plane view vector   -->
  383. <!-- ~~~~~~~~~~~~~~~~~~~~~~~ -->
  384. <sml:component name="VectorMatrixMultiplierToNadirPlane">
  385. <sml:ProcessModel>
  386. <sml:inputs>
  387. <sml:InputList>
  388. <sml:input name="vector">
  389. <swe:Vector definition="urn:ogc:def:data:viewVector">
  390. <swe:coordinate name="x">
  391. <swe:Quantity definition="urn:ogc:def:phenomenon:distance">
  392. <swe:uom code="m"/>
  393. </swe:Quantity>
  394. </swe:coordinate>
  395. <swe:coordinate name="y">
  396. <swe:Quantity definition="urn:ogc:def:phenomenon:distance">
  397. <swe:uom code="m"/>
  398. </swe:Quantity>
  399. </swe:coordinate>
  400. <swe:coordinate name="z">
  401. <swe:Quantity definition="urn:ogc:def:phenomenon:distance">
  402. <swe:uom code="m"/>
  403. </swe:Quantity>
  404. </swe:coordinate>
  405. </swe:Vector>
  406. </sml:input>
  407. <sml:input name="transformMatrix">
  408. <swe:DataArray definition="urn:ogc:def:data:positionMatrix">
  409. <swe:elementCount>
  410. <swe:Count>
  411. <swe:value>9</swe:value>
  412. </swe:Count>
  413. </swe:elementCount>
  414. <swe:elementType name="element">
  415. <swe:Quantity/>
  416. </swe:elementType>
  417. </swe:DataArray>
  418. </sml:input>
  419. </sml:InputList>
  420. </sml:inputs>
  421. <sml:outputs>
  422. <sml:OutputList>
  423. <sml:output name="newVector">
  424. <swe:Vector definition="urn:ogc:def:data:viewVector">
  425. <swe:coordinate name="x">
  426. <swe:Quantity definition="urn:ogc:def:phenomenon:distance">
  427. <swe:uom code="m"/>
  428. </swe:Quantity>
  429. </swe:coordinate>
  430. <swe:coordinate name="y">
  431. <swe:Quantity definition="urn:ogc:def:phenomenon:distance">
  432. <swe:uom code="m"/>
  433. </swe:Quantity>
  434. </swe:coordinate>
  435. <swe:coordinate name="z">
  436. <swe:Quantity definition="urn:ogc:def:phenomenon:distance">
  437. <swe:uom code="m"/>
  438. </swe:Quantity>
  439. </swe:coordinate>
  440. </swe:Vector>
  441. </sml:output>
  442. </sml:OutputList>
  443. </sml:outputs>
  444. <sml:method xlink:href="urn:ogc:def:process:vectorMatrixMultiplication:1.0"/>
  445. </sml:ProcessModel>
  446. </sml:component>
  447. <!-- ~~~~~~~~~~~~~~~~~~~~~~~ -->
  448. <!--  Matrix builder from airplane 2 ECEF   -->
  449. <!-- ~~~~~~~~~~~~~~~~~~~~~~~ -->
  450. <sml:component name="MatrixBuilderToECEF">
  451. <sml:ProcessModel>
  452. <sml:inputs>
  453. <sml:InputList>
  454. <sml:input name="lonLatTrueHeading">
  455. <swe:Vector definition="urn:ogc:def:data:orientationVector">
  456. <swe:coordinate name="longitude">
  457. <swe:Quantity definition="urn:ogc:def:phenomenon:angle">
  458. <swe:uom code="rad"/>
  459. <swe:value>0.0</swe:value>
  460. </swe:Quantity>
  461. </swe:coordinate>
  462. <swe:coordinate name="latitude">
  463. <swe:Quantity definition="urn:ogc:def:phenomenon:angle">
  464. <swe:uom code="rad"/>
  465. <swe:value>0.0</swe:value>
  466. </swe:Quantity>
  467. </swe:coordinate>
  468. <swe:coordinate name="trueHeading">
  469. <swe:Quantity definition="urn:ogc:def:phenomenon:angle">
  470. <swe:value>0.0</swe:value>
  471. <swe:uom code="rad"/>
  472. </swe:Quantity>
  473. </swe:coordinate>
  474. </swe:Vector>
  475. </sml:input>
  476. </sml:InputList>
  477. </sml:inputs>
  478. <sml:outputs>
  479. <sml:OutputList>
  480. <sml:output name="posMatrix">
  481. <swe:DataArray definition="urn:ogc:def:data:positionMatrix">
  482. <swe:elementCount>
  483. <swe:Count>
  484. <swe:value>9</swe:value>
  485. </swe:Count>
  486. </swe:elementCount>
  487. <swe:elementType name="element">
  488. <swe:Quantity/>
  489. </swe:elementType>
  490. </swe:DataArray>
  491. </sml:output>
  492. </sml:OutputList>
  493. </sml:outputs>
  494. <sml:method xlink:href="urn:ogc:def:process:trueHeadingTransform:1.0"/>
  495. </sml:ProcessModel>
  496. </sml:component>
  497. <!-- ~~~~~~~~~~~~~~~~~~~~~~~ -->
  498. <!-- transformation from airplane to ECEF view vector   -->
  499. <!-- ~~~~~~~~~~~~~~~~~~~~~~~ -->
  500. <sml:component name="VectorMatrixMultiplierToECEF">
  501. <sml:ProcessModel>
  502. <sml:inputs>
  503. <sml:InputList>
  504. <sml:input name="vector">
  505. <swe:Vector definition="urn:ogc:def:data:viewVector">
  506. <swe:coordinate name="x">
  507. <swe:Quantity definition="urn:ogc:def:phenomenon:distance">
  508. <swe:uom code="m"/>
  509. </swe:Quantity>
  510. </swe:coordinate>
  511. <swe:coordinate name="y">
  512. <swe:Quantity definition="urn:ogc:def:phenomenon:distance">
  513. <swe:uom code="m"/>
  514. </swe:Quantity>
  515. </swe:coordinate>
  516. <swe:coordinate name="z">
  517. <swe:Quantity definition="urn:ogc:def:phenomenon:distance">
  518. <swe:uom code="m"/>
  519. </swe:Quantity>
  520. </swe:coordinate>
  521. </swe:Vector>
  522. </sml:input>
  523. <sml:input name="transformMatrix">
  524. <swe:DataArray definition="urn:ogc:def:data:positionMatrix">
  525. <swe:elementCount>
  526. <swe:Count>
  527. <swe:value>9</swe:value>
  528. </swe:Count>
  529. </swe:elementCount>
  530. <swe:elementType name="element">
  531. <swe:Quantity/>
  532. </swe:elementType>
  533. </swe:DataArray>
  534. </sml:input>
  535. </sml:InputList>
  536. </sml:inputs>
  537. <sml:outputs>
  538. <sml:OutputList>
  539. <sml:output name="newVector">
  540. <swe:Vector definition="urn:ogc:def:data:viewVector">
  541. <swe:coordinate name="x">
  542. <swe:Quantity definition="urn:ogc:def:phenomenon:distance">
  543. <swe:uom code="m"/>
  544. </swe:Quantity>
  545. </swe:coordinate>
  546. <swe:coordinate name="y">
  547. <swe:Quantity definition="urn:ogc:def:phenomenon:distance">
  548. <swe:uom code="m"/>
  549. </swe:Quantity>
  550. </swe:coordinate>
  551. <swe:coordinate name="z">
  552. <swe:Quantity definition="urn:ogc:def:phenomenon:distance">
  553. <swe:uom code="m"/>
  554. </swe:Quantity>
  555. </swe:coordinate>
  556. </swe:Vector>
  557. </sml:output>
  558. </sml:OutputList>
  559. </sml:outputs>
  560. <sml:method xlink:href="urn:ogc:def:process:vectorMatrixMultiplication:1.0"/>
  561. </sml:ProcessModel>
  562. </sml:component>
  563. <!-- ~~~~~~~~~~~~~~~~~~~~ -->
  564. <!--  LLA to ECEF  -->
  565. <!-- ~~~~~~~~~~~~~~~~~~~~ -->
  566. <sml:component name="LLAtoECEF">
  567. <sml:ProcessModel>
  568. <sml:inputs>
  569. <sml:InputList>
  570. <sml:input name="LLA_location">
  571. <swe:Vector definition="urn:ogc:def:data:locationVector" referenceFrame="urn:ogc:def:crs:epsg4329">
  572. <swe:coordinate name="latitude">
  573. <swe:Quantity definition="urn:ogc:def:phenomenon:angle">
  574. <swe:uom code="rad"/>
  575. </swe:Quantity>
  576. </swe:coordinate>
  577. <swe:coordinate name="longitude">
  578. <swe:Quantity definition="urn:ogc:def:phenomenon:angle">
  579. <swe:uom code="rad"/>
  580. </swe:Quantity>
  581. </swe:coordinate>
  582. <swe:coordinate name="altitude">
  583. <swe:Quantity definition="urn:ogc:def:phenomenon:distance">
  584. <swe:uom code="m"/>
  585. </swe:Quantity>
  586. </swe:coordinate>
  587. </swe:Vector>
  588. </sml:input>
  589. </sml:InputList>
  590. </sml:inputs>
  591. <sml:outputs>
  592. <sml:OutputList>
  593. <sml:output name="ECEF_location">
  594. <swe:Vector definition="urn:ogc:def:data:locationVector" referenceFrame="urn:ogc:def:crs:ecef_wgs84">
  595. <swe:coordinate name="x">
  596. <swe:Quantity definition="urn:ogc:def:phenomenon:distance">
  597. <swe:uom code="m"/>
  598. </swe:Quantity>
  599. </swe:coordinate>
  600. <swe:coordinate name="y">
  601. <swe:Quantity definition="urn:ogc:def:phenomenon:distance">
  602. <swe:uom code="m"/>
  603. </swe:Quantity>
  604. </swe:coordinate>
  605. <swe:coordinate name="z">
  606. <swe:Quantity definition="urn:ogc:def:phenomenon:distance">
  607. <swe:uom code="m"/>
  608. </swe:Quantity>
  609. </swe:coordinate>
  610. </swe:Vector>
  611. </sml:output>
  612. </sml:OutputList>
  613. </sml:outputs>
  614. <sml:method xlink:href="urn:ogc:def:process:LLAtoECEF:2.0"/>
  615. </sml:ProcessModel>
  616. </sml:component>
  617. </sml:ComponentList>
  618. </sml:components>
  619. <!-- ~~~~~~~~~~~~~ -->
  620. <!--  Connections  -->
  621. <!-- ~~~~~~~~~~~~~ -->
  622. <sml:connections>
  623. <sml:ConnectionList>
  624. <!--  chain inputs to processes inputs  -->
  625. <!--      <sml:connection>
  626.                  <sml:Link>
  627.                     <sml:source ref="this/inputs/navigationData/roll"/>
  628.                     <sml:destination ref="MatrixBuilderToNadirPlane/inputs/orientation/x"/>
  629.                  </sml:Link>
  630.               </sml:connection>  
  631.               <sml:connection>
  632.                  <sml:Link>
  633.                     <sml:source ref="this/inputs/navigationData/derivedPitch"/>
  634.                     <sml:destination ref="MatrixBuilderToNadirPlane/inputs/orientation/y"/>
  635.                  </sml:Link>
  636.               </sml:connection>   -->
  637. <sml:connection>
  638. <sml:Link>
  639. <sml:source ref="this/inputs/navigationData/latitude"/>
  640. <sml:destination ref="LLAtoECEF/inputs/LLA_location/latitude"/>
  641. </sml:Link>
  642. </sml:connection>
  643. <sml:connection>
  644. <sml:Link>
  645. <sml:source ref="this/inputs/navigationData/longitude"/>
  646. <sml:destination ref="LLAtoECEF/inputs/LLA_location/longitude"/>
  647. </sml:Link>
  648. </sml:connection>
  649. <sml:connection>
  650. <sml:Link>
  651. <sml:source ref="this/inputs/navigationData/latitude"/>
  652. <sml:destination ref="terrainElevation/inputs/CoverageIn/lat"/>
  653. </sml:Link>
  654. </sml:connection>
  655. <sml:connection>
  656. <sml:Link>
  657. <sml:source ref="this/inputs/navigationData/longitude"/>
  658. <sml:destination ref="terrainElevation/inputs/CoverageIn/lon"/>
  659. </sml:Link>
  660. </sml:connection>
  661. <sml:connection>
  662. <sml:Link>
  663. <sml:source ref="terrainElevation/outputs/CoverageOut/alt"/>
  664. <sml:destination ref="altitudeOffset/inputs/operand1"/>
  665. </sml:Link>
  666. </sml:connection>
  667. <sml:connection>
  668. <sml:Link>
  669. <sml:source ref="terrainElevation/outputs/CoverageOut/alt"/>
  670. <sml:destination ref="this/outputs/terrainElevation"/>
  671. </sml:Link>
  672. </sml:connection>
  673. <sml:connection>
  674. <sml:Link>
  675. <sml:source ref="altitudeOffset/outputs/result"/>
  676. <sml:destination ref="LLAtoECEF/inputs/LLA_location/altitude"/>
  677. </sml:Link>
  678. </sml:connection>
  679. <sml:connection>
  680. <sml:Link>
  681. <sml:source ref="this/inputs/navigationData/latitude"/>
  682. <sml:destination ref="MatrixBuilderToECEF/inputs/lonLatTrueHeading/latitude"/>
  683. </sml:Link>
  684. </sml:connection>
  685. <sml:connection>
  686. <sml:Link>
  687. <sml:source ref="this/inputs/navigationData/longitude"/>
  688. <sml:destination ref="MatrixBuilderToECEF/inputs/lonLatTrueHeading/longitude"/>
  689. </sml:Link>
  690. </sml:connection>
  691. <sml:connection>
  692. <sml:Link>
  693. <sml:source ref="this/inputs/navigationData/derivedTH"/>
  694. <sml:destination ref="MatrixBuilderToECEF/inputs/lonLatTrueHeading/trueHeading"/>
  695. </sml:Link>
  696. </sml:connection>
  697. <!--  processes outputs to other processes inputs  -->
  698. <sml:connection>
  699. <sml:Link>
  700. <sml:source ref="this/inputs/alongScanAngle"/>
  701. <sml:destination ref="MatrixBuilderToAirplane/inputs/orientation/x"/>
  702. </sml:Link>
  703. </sml:connection>
  704. <sml:connection>
  705. <sml:Link>
  706. <sml:source ref="this/inputs/alongTrackAngle"/>
  707. <sml:destination ref="MatrixBuilderToAirplane/inputs/orientation/y"/>
  708. </sml:Link>
  709. </sml:connection>
  710. <sml:connection>
  711. <sml:Link>
  712. <sml:source ref="MatrixBuilderToAirplane/outputs/posMatrix"/>
  713. <sml:destination ref="VectorMatrixMultiplierToAirplane/inputs/transformMatrix"/>
  714. </sml:Link>
  715. </sml:connection>
  716. <sml:connection>
  717. <sml:Link>
  718. <sml:source ref="MatrixBuilderToNadirPlane/outputs/posMatrix"/>
  719. <sml:destination ref="VectorMatrixMultiplierToNadirPlane/inputs/transformMatrix"/>
  720. </sml:Link>
  721. </sml:connection>
  722. <sml:connection>
  723. <sml:Link>
  724. <sml:source ref="VectorMatrixMultiplierToAirplane/outputs/newVector"/>
  725. <sml:destination ref="VectorMatrixMultiplierToNadirPlane/inputs/vector"/>
  726. </sml:Link>
  727. </sml:connection>
  728. <sml:connection>
  729. <sml:Link>
  730. <sml:source ref="MatrixBuilderToECEF/outputs/posMatrix"/>
  731. <sml:destination ref="VectorMatrixMultiplierToECEF/inputs/transformMatrix"/>
  732. </sml:Link>
  733. </sml:connection>
  734. <sml:connection>
  735. <sml:Link>
  736. <sml:source ref="VectorMatrixMultiplierToNadirPlane/outputs/newVector"/>
  737. <sml:destination ref="VectorMatrixMultiplierToECEF/inputs/vector"/>
  738. </sml:Link>
  739. </sml:connection>
  740. <!--  processes outputs to chain outputs  -->
  741. <sml:connection>
  742. <sml:Link>
  743. <sml:source ref="VectorMatrixMultiplierToECEF/outputs/newVector"/>
  744. <sml:destination ref="this/outputs/geolocationData/ECEF_view_vector"/>
  745. </sml:Link>
  746. </sml:connection>
  747. <sml:connection>
  748. <sml:Link>
  749. <sml:source ref="LLAtoECEF/outputs/ECEF_location"/>
  750. <sml:destination ref="this/outputs/geolocationData/ECEF_location"/>
  751. </sml:Link>
  752. </sml:connection>
  753. </sml:ConnectionList>
  754. </sml:connections>
  755. </sml:ProcessChain>
  756. </sml:member>
  757. </sml:SensorML>

Raw Paste


Login or Register to edit or fork this paste. It's free.