nitf_spec.xml 121 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242
  1. <?xml version="1.0"?>
  2. <!--
  3. /******************************************************************************
  4. * $Id: nitf_spec.xml 8b8483e5f7c29a563966ca6f92d871f508e5f6e0 2020-10-16 10:26:45 -0400 Matthew Baran $
  5. *
  6. * Project: NITF Library
  7. * Purpose: Description of NITF TREs
  8. * Author: Even Rouault, <even dot rouault at spatialys.com>
  9. *
  10. **********************************************************************
  11. * Copyright (c) 2011, Even Rouault
  12. *
  13. * Permission is hereby granted, free of charge, to any person obtaining a
  14. * copy of this software and associated documentation files (the "Software"),
  15. * to deal in the Software without restriction, including without limitation
  16. * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  17. * and/or sell copies of the Software, and to permit persons to whom the
  18. * Software is furnished to do so, subject to the following conditions:
  19. *
  20. * The above copyright notice and this permission notice shall be included
  21. * in all copies or substantial portions of the Software.
  22. *
  23. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  24. * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  25. * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
  26. * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  27. * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  28. * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  29. * DEALINGS IN THE SOFTWARE.
  30. ****************************************************************************/
  31. -->
  32. <!-- This file should validate against nitf_spec.xsd -->
  33. <tres>
  34. <!-- STDI-0002-1-v5.0 Appendix P, Section P.3.2.6.2, Table P-11 -->
  35. <tre name="ACCHZB" md_prefix="NITF_ACCHZB_" minlength="11" maxlength="99985" location="image">
  36. <field name="NUM_ACHZ" length="2" type="integer" minval="1" maxval="99"/>
  37. <loop counter="NUM_ACHZ" md_prefix="ACHZ_%02d_">
  38. <field name="UNIAAH" length="3" type="string"/>
  39. <if cond="UNIAAH!= ">
  40. <field name="AAH" length="5" type="integer"/>
  41. </if>
  42. <field name="UNIAPH" length="3" type="string"/>
  43. <if cond="UNIAPH!= ">
  44. <field name="APH" length="5" type="integer"/>
  45. </if>
  46. <field name="NUM_PTS" length="3" type="integer" minval="0" maxval="999"/>
  47. <loop counter="NUM_PTS" md_prefix="POINT_%03d_">
  48. <field name="LON" length="15" type="string"/>
  49. <field name="LAT" length="15" type="string"/>
  50. </loop>
  51. </loop>
  52. </tre>
  53. <tre name="ACCPOB" minlength="17" maxlength="99985" location="image">
  54. <field name="NUM_ACPO" length="2" type="integer" minval="1" maxval="99"/>
  55. <loop counter="NUM_ACPO" md_prefix="ACCPO_%02d_" name="ACCPO">
  56. <field name="UNIAAH" length="3" type="string"/>
  57. <if cond="UNIAAH!=">
  58. <field name="AAH" length="5" type="integer"/>
  59. </if>
  60. <field name="UNIAAV" length="3" type="string"/>
  61. <if cond="UNIAAV!=">
  62. <field name="AAV" length="5" type="integer"/>
  63. </if>
  64. <field name="UNIAPH" length="3" type="string"/>
  65. <if cond="UNIAPH!=">
  66. <field name="APH" length="5" type="integer"/>
  67. </if>
  68. <field name="UNIAPV" length="3" type="string"/>
  69. <if cond="UNIAPV!=">
  70. <field name="APV" length="5" type="integer"/>
  71. </if>
  72. <field name="NUM_PTS" length="3" type="integer"/>
  73. <loop counter="NUM_PTS" md_prefix="POINT_%03d_" name="POINT">
  74. <field name="LON" length="15" type="real"/>
  75. <field name="LAT" length="15" type="real"/>
  76. </loop>
  77. </loop>
  78. </tre>
  79. <!-- STDI-0002-1-v5.0 Appendix P, Section P.3.2.6.3, Table P-12 -->
  80. <tre name="ACCVTB" md_prefix="NITF_ACCVTB_" minlength="11" maxlength="99985" location="image">
  81. <field name="NUM_ACVT" length="2" type="integer" minval="1" maxval="99"/>
  82. <loop counter="NUM_ACVT" md_prefix="ACVT_%02d_">
  83. <field name="UNIAAV" length="3" type="string"/>
  84. <if cond="UNIAAV!= ">
  85. <field name="AAV" length="5" type="integer"/>
  86. </if>
  87. <field name="UNIAPV" length="3" type="string"/>
  88. <if cond="UNIAPV!= ">
  89. <field name="APV" length="5" type="integer"/>
  90. </if>
  91. <field name="NUM_PTS" length="3" type="integer" minval="0" maxval="999"/>
  92. <loop counter="NUM_PTS" md_prefix="POINT_%03d_">
  93. <field name="LON" length="15" type="string"/>
  94. <field name="LAT" length="15" type="string"/>
  95. </loop>
  96. </loop>
  97. </tre>
  98. <tre name="ACFTB" length="207" location="image">
  99. <field name="AC_MSN_ID" length="20"/>
  100. <field name="AC_TAIL_NO" length="10"/>
  101. <field name="AC_TO" length="12"/>
  102. <field name="SENSOR_ID_TYPE" length="4"/>
  103. <field name="SENSOR_ID" length="6"/>
  104. <field name="SCENE_SOURCE" length="1"/>
  105. <field name="SCNUM" length="6"/>
  106. <field name="PDATE" length="8"/>
  107. <field name="IMHOSTNO" length="6"/>
  108. <field name="IMREQID" length="5"/>
  109. <field name="MPLAN" length="3"/>
  110. <field name="ENTLOC" length="25"/>
  111. <field name="LOC_ACCY" length="6"/>
  112. <field name="ENTELV" length="6"/>
  113. <field name="ELV_UNIT" length="1"/>
  114. <field name="EXITLOC" length="25"/>
  115. <field name="EXITELV" length="6"/>
  116. <field name="TMAP" length="7"/>
  117. <field name="ROW_SPACING" length="7"/>
  118. <field name="ROW_SPACING_UNITS" length="1"/>
  119. <field name="COL_SPACING" length="7"/>
  120. <field name="COL_SPACING_UNITS" length="1"/>
  121. <field name="FOCAL_LENGTH" length="6"/>
  122. <field name="SENSERIAL" length="6"/>
  123. <field name="ABSWVER" length="7"/>
  124. <field name="CAL_DATE" length="8"/>
  125. <field name="PATCH_TOT" length="4"/>
  126. <field name="MTI_TOT" length="3"/>
  127. </tre>
  128. <tre name="AIMIDB" length="89" location="image">
  129. <field name="ACQUISITION_DATE" length="14"/>
  130. <field name="MISSION_NO" length="4"/>
  131. <field name="MISSION_IDENTIFICATION" length="10"/>
  132. <field name="FLIGHT_NO" length="2"/>
  133. <field name="OP_NUM" length="3"/>
  134. <field name="CURRENT_SEGMENT" length="2"/>
  135. <field name="REPRO_NUM" length="2"/>
  136. <field name="REPLAY" length="3"/>
  137. <field name="RESERVED_1" length="1"/>
  138. <field name="START_TILE_COLUMN" length="3"/>
  139. <field name="START_TILE_ROW" length="5"/>
  140. <field name="END_SEGMENT" length="2"/>
  141. <field name="END_TILE_COLUMN" length="3"/>
  142. <field name="END_TILE_ROW" length="5"/>
  143. <field name="COUNTRY" length="2"/>
  144. <field name="RESERVED_2" length="4"/>
  145. <field name="LOCATION" length="11"/>
  146. <field name="RESERVED_3" length="13"/>
  147. </tre>
  148. <!-- STDI-0002-1 Appendix X: BANDSB -->
  149. <tre name="BANDSB" md_prefix="NITF_BANDSB_" location="image">
  150. <field name="COUNT" length="5" type="integer"/>
  151. <field name="RADIOMETRIC_QUANTITY" length="24" type="string"/>
  152. <field name="RADIOMETRIC_QUANTITY_UNIT" length="1" type="string"/>
  153. <field name="SCALE_FACTOR" length="4" type="IEEE754_Float32_BigEndian"/>
  154. <field name="ADDITIVE_FACTOR" length="4" type="IEEE754_Float32_BigEndian"/>
  155. <field name="ROW_GSD" length="7" type="real"/>
  156. <field name="ROW_GSD_UNIT" length="1" type="string"/>
  157. <field name="COL_GSD" length="7" type="real"/>
  158. <field name="COL_GSD_UNIT" length="1" type="string"/>
  159. <field name="SPT_RESP_ROW" length="7" type="real"/>
  160. <field name="SPT_RESP_UNIT_ROW" length="1" type="string"/>
  161. <field name="SPT_RESP_COL" length="7" type="real"/>
  162. <field name="SPT_RESP_UNIT_COL" length="1" type="string"/>
  163. <field name="DATA_FLD_1" length="48" type="string"/>
  164. <field name="EXISTENCE_MASK" length="4" type="bitmask"/>
  165. <if cond="EXISTENCE_MASK:31">
  166. <field name="RADIOMETRIC_ADJUSTMENT_SURFACE" length="24" type="string"/>
  167. <field name="ATMOSPHERIC_ADJUSTMENT_ALTITUDE" length="4" type="IEEE754_Float32_BigEndian"/>
  168. </if>
  169. <if cond="EXISTENCE_MASK:30">
  170. <field name="DIAMETER" length="7" type="real"/>
  171. </if>
  172. <if cond="EXISTENCE_MASK:29">
  173. <field name="DATA_FLD_2" length="32" type="string"/>
  174. </if>
  175. <if cond="EXISTENCE_MASK:24">
  176. <field name="WAVE_LENGTH_UNIT" length="1" type="string"/>
  177. </if>
  178. <loop counter="COUNT" name="BANDS" md_prefix="BAND_%05d_">
  179. <if cond="EXISTENCE_MASK:28">
  180. <field name="BANDID" length="50" type="string"/>
  181. </if>
  182. <if cond="EXISTENCE_MASK:27">
  183. <field name="BAD_BAND" length="1" type="integer"/>
  184. </if>
  185. <if cond="EXISTENCE_MASK:26">
  186. <field name="NIIRS" length="3" type="real"/>
  187. </if>
  188. <if cond="EXISTENCE_MASK:25">
  189. <field name="FOCAL_LEN" length="5" type="integer"/>
  190. </if>
  191. <if cond="EXISTENCE_MASK:24">
  192. <field name="CWAVE" length="7" type="real"/>
  193. </if>
  194. <if cond="EXISTENCE_MASK:23">
  195. <field name="FWHM" length="7" type="real"/>
  196. </if>
  197. <if cond="EXISTENCE_MASK:22">
  198. <field name="FWHM_UNC" length="7" type="real"/>
  199. </if>
  200. <if cond="EXISTENCE_MASK:21">
  201. <field name="NOM_WAVE" length="7" type="real"/>
  202. </if>
  203. <if cond="EXISTENCE_MASK:20">
  204. <field name="NOM_WAVE_UNC" length="7" type="real"/>
  205. </if>
  206. <if cond="EXISTENCE_MASK:19">
  207. <field name="LBOUND" length="7" type="real"/>
  208. <field name="UBOUND" length="7" type="real"/>
  209. </if>
  210. <if cond="EXISTENCE_MASK:18">
  211. <field name="SCALE_FACTOR" length="4" type="IEEE754_Float32_BigEndian"/>
  212. <field name="ADDITIVE_FACTOR" length="4" type="IEEE754_Float32_BigEndian"/>
  213. </if>
  214. <if cond="EXISTENCE_MASK:17">
  215. <field name="START_TIME" length="16" type="string"/>
  216. </if>
  217. <if cond="EXISTENCE_MASK:16">
  218. <field name="INT_TIME" length="6" type="real"/>
  219. </if>
  220. <if cond="EXISTENCE_MASK:15">
  221. <field name="CALDRK" length="6" type="real"/>
  222. <field name="CALIBRATION_SENSITIVITY" length="5" type="real"/>
  223. </if>
  224. <if cond="EXISTENCE_MASK:14">
  225. <field name="ROW_GSD" length="7" type="real"/>
  226. </if>
  227. <if cond="EXISTENCE_MASK:13">
  228. <field name="ROW_GSD_UNC" length="7" type="real"/>
  229. </if>
  230. <if cond="EXISTENCE_MASK:14">
  231. <field name="ROW_GSD_UNIT" length="1" type="string"/>
  232. <field name="COL_GSD" length="7" type="real"/>
  233. </if>
  234. <if cond="EXISTENCE_MASK:13">
  235. <field name="COL_GSD_UNC" length="7" type="real"/>
  236. </if>
  237. <if cond="EXISTENCE_MASK:14">
  238. <field name="COL_GSD_UNIT" length="1" type="string"/>
  239. </if>
  240. <if cond="EXISTENCE_MASK:12">
  241. <field name="BKNOISE" length="5" type="real"/>
  242. <field name="SCNNOISE" length="5" type="real"/>
  243. </if>
  244. <if cond="EXISTENCE_MASK:11">
  245. <field name="SPT_RESP_FUNCTION_ROW" length="7" type="real"/>
  246. </if>
  247. <if cond="EXISTENCE_MASK:10">
  248. <field name="SPT_RESP_UNC_ROW" length="7" type="real"/>
  249. </if>
  250. <if cond="EXISTENCE_MASK:11">
  251. <field name="SPT_RESP_UNIT_ROW" length="1" type="string"/>
  252. <field name="SPT_RESP_FUNCTION_COL" length="7" type="real"/>
  253. </if>
  254. <if cond="EXISTENCE_MASK:10">
  255. <field name="SPT_RESP_UNC_COL" length="7" type="real"/>
  256. </if>
  257. <if cond="EXISTENCE_MASK:11">
  258. <field name="SPT_RESP_UNIT_COL" length="1" type="string"/>
  259. </if>
  260. <if cond="EXISTENCE_MASK:9">
  261. <field name="DATA_FLD_3" length="16" type="string"/>
  262. </if>
  263. <if cond="EXISTENCE_MASK:8">
  264. <field name="DATA_FLD_4" length="24" type="string"/>
  265. </if>
  266. <if cond="EXISTENCE_MASK:7">
  267. <field name="DATA_FLD_5" length="32" type="string"/>
  268. </if>
  269. <if cond="EXISTENCE_MASK:6">
  270. <field name="DATA_FLD_6" length="48" type="string"/>
  271. </if>
  272. </loop>
  273. <if cond="EXISTENCE_MASK:0">
  274. <field name="NUM_AUX_B" length="2" type="integer"/>
  275. <field name="NUM_AUX_C" length="2" type="integer"/>
  276. <loop counter="NUM_AUX_B" name="BAND_AUX" md_prefix="BAND_AUX_%02d_">
  277. <field name="BAPF" length="1" type="string"/>
  278. <field name="UBAP" length="7" type="string"/>
  279. <loop counter="COUNT" name="BAND" md_prefix="BAND_%05d">
  280. <if cond="BAPF=I">
  281. <field name="APN" length="10" type="integer"/>
  282. </if>
  283. <if cond="BAPF=R">
  284. <field name="APR" length="4" type="IEEE754_Float32_BigEndian"/>
  285. </if>
  286. <if cond="BAPF=A">
  287. <field name="APA" length="20" type="string"/>
  288. </if>
  289. </loop>
  290. </loop>
  291. <loop counter="NUM_AUX_C" name="CUBE_AUX" md_prefix="CUBE_AUX_%02d_">
  292. <field name="CAPF" length="1" type="string"/>
  293. <field name="UCAP" length="7" type="string"/>
  294. <if cond="CAPF=I">
  295. <field name="APN" length="10" type="integer"/>
  296. </if>
  297. <if cond="CAPF=R">
  298. <field name="APR" length="4" type="IEEE754_Float32_BigEndian"/>
  299. </if>
  300. <if cond="CAPF=A">
  301. <field name="APA" length="20" type="string"/>
  302. </if>
  303. </loop>
  304. </if>
  305. </tre>
  306. <tre name="BLOCKA" length="123" location="image">
  307. <field name="BLOCK_INSTANCE" length="2" type="integer" minval="1" maxval="99"/>
  308. <field name="N_GRAY" length="5" type="integer" minval="0" maxval="99999"/>
  309. <field name="L_LINES" length="5" type="integer" minval="1" maxval="99999"/>
  310. <field name="LAYOVER_ANGLE" length="3" type="integer" minval="0" maxval="359" unit="degrees"/>
  311. <field name="SHADOW_ANGLE" length="3" type="integer" minval="0" maxval="359" unit="degrees"/>
  312. <field length="16" fixed_value=" "/>
  313. <field name="FRLC_LOC" length="21"/>
  314. <field name="LRLC_LOC" length="21"/>
  315. <field name="LRFC_LOC" length="21"/>
  316. <field name="FRFC_LOC" length="21"/>
  317. <field length="5" fixed_value="010.0"/>
  318. </tre>
  319. <tre name="BNDPLB" minlength="124" maxlength="99964" location="image">
  320. <field name="NUM_PTS" length="4" type="integer" minval="4" maxval="3332"/>
  321. <loop counter="NUM_PTS" md_prefix="POINT_%04d_" name="POINT">
  322. <field name="LON" length="15" type="real"/>
  323. <field name="LAT" length="15" type="real"/>
  324. </loop>
  325. </tre>
  326. <!-- STDI-0002-1 Appendix AG: CCINFA (from RFC-084) -->
  327. <tre name="CCINFA">
  328. <field name="NUMCODE" length="3" type="integer" minval="1" maxval="999"/>
  329. <loop counter="NUMCODE" md_prefix="CODE_%03d_" name="CODES">
  330. <field name="CODE_LEN" length="1" type="integer" minval="1" maxval="9"/>
  331. <field name="CODE" length_var="CODE_LEN"/>
  332. <field name="EQTYPE" length="1"/>
  333. <field name="ESURN_LEN" length="2" type="integer" minval="9" maxval="99"/>
  334. <field name="ESURN" length_var="ESURN_LEN"/>
  335. <field name="DETAIL_LEN" length="5" type="integer" minval="0"/>
  336. <if cond="DETAIL_LEN!=00000">
  337. <field name="DETAIL_CMPR" length="1" type="string"/>
  338. <field name="DETAIL" length_var="DETAIL_LEN"/>
  339. </if>
  340. </loop>
  341. </tre>
  342. <tre name="CSDIDA" md_prefix="NITF_CSDIDA_" length="70" location="file">
  343. <field name="DAY" length="2"/>
  344. <field name="MONTH" length="3"/>
  345. <field name="YEAR" length="4"/>
  346. <field name="PLATFORM_CODE" length="2"/>
  347. <field name="VEHICLE_ID" length="2"/>
  348. <field name="PASS" length="2"/>
  349. <field name="OPERATION" length="3"/>
  350. <field name="SENSOR_ID" length="2"/>
  351. <field name="PRODUCT_ID" length="2"/>
  352. <field name="RESERVED_0" length="4"/>
  353. <field name="TIME" length="14"/>
  354. <field name="PROCESS_TIME" length="14"/>
  355. <field name="RESERVED_1" length="2"/>
  356. <field name="RESERVED_2" length="2"/>
  357. <field name="RESERVED_3" length="1"/>
  358. <field name="RESERVED_4" length="1"/>
  359. <field name="SOFTWARE_VERSION_NUMBER" length="10"/>
  360. </tre>
  361. <tre name="CSEPHA" minlength="257" maxlength="36005" location="des">
  362. <field name="EPHEM_FLAG" length="12"/>
  363. <field name="DT_EPHEM" length="5"/>
  364. <field name="DATE_EPHEM" length="8"/>
  365. <field name="T0_EPHEM" length="13"/>
  366. <field name="NUM_EPHEM" length="3"/>
  367. <loop counter="NUM_EPHEM" md_prefix="EPHEM_%03d_" name="EPHEM">
  368. <field name="X" longname="EPHEM_X" length="12"/>
  369. <field name="Y" longname="EPHEM_Y" length="12"/>
  370. <field name="Z" longname="EPHEM_Z" length="12"/>
  371. </loop>
  372. </tre>
  373. <tre name="CSCCGA" length="60" location="file">
  374. <field name="CCG_SOURCE" length="18"/>
  375. <field name="REG_SENSOR" length="6"/>
  376. <field name="ORIGIN_LINE" length="7"/>
  377. <field name="ORIGIN_SAMPLE" length="5"/>
  378. <field name="AS_CELL_SIZE" length="7"/>
  379. <field name="CS_CELL_SIZE" length="5"/>
  380. <field name="CCG_MAX_LINE" length="7"/>
  381. <field name="CCG_MAX_SAMPLE" length="5"/>
  382. </tre>
  383. <tre name="CSCRNA" length="109" location="image">
  384. <field name="PREDICT_CORNERS" length="1"/>
  385. <field name="ULCNR_LAT" length="9"/>
  386. <field name="ULCNR_LONG" length="10"/>
  387. <field name="ULCNR_HT" length="8"/>
  388. <field name="URCNR_LAT" length="9"/>
  389. <field name="URCNR_LONG" length="10"/>
  390. <field name="URCNR_HT" length="8"/>
  391. <field name="LRCNR_LAT" length="9"/>
  392. <field name="LRCNR_LONG" length="10"/>
  393. <field name="LRCNR_HT" length="8"/>
  394. <field name="LLCNR_LAT" length="9"/>
  395. <field name="LLCNR_LONG" length="10"/>
  396. <field name="LLCNR_HT" length="8"/>
  397. </tre>
  398. <tre name="CSEXRA" md_prefix="NITF_CSEXRA_" length="132" location="image">
  399. <field name="SENSOR" length="6"/>
  400. <field name="TIME_FIRST_LINE_IMAGE" length="12"/>
  401. <field name="TIME_IMAGE_DURATION" length="12"/>
  402. <field name="MAX_GSD" length="5"/>
  403. <field name="ALONG_SCAN_GSD" length="5"/>
  404. <field name="CROSS_SCAN_GSD" length="5"/>
  405. <field name="GEO_MEAN_GSD" length="5"/>
  406. <field name="A_S_VERT_GSD" length="5"/>
  407. <field name="C_S_VERT_GSD" length="5"/>
  408. <field name="GEO_MEAN_VERT_GSD" length="5"/>
  409. <field name="GSD_BETA_ANGLE" length="5"/>
  410. <field name="DYNAMIC_RANGE" length="5"/>
  411. <field name="NUM_LINES" length="7"/>
  412. <field name="NUM_SAMPLES" length="5"/>
  413. <field name="ANGLE_TO_NORTH" length="7"/>
  414. <field name="OBLIQUITY_ANGLE" length="6"/>
  415. <field name="AZ_OF_OBLIQUITY" length="7"/>
  416. <field name="GRD_COVER" length="1"/>
  417. <field name="SNOW_DEPTH_CAT" length="1"/>
  418. <field name="SUN_AZIMUTH" length="7"/>
  419. <field name="SUN_ELEVATION" length="7"/>
  420. <field name="PREDICTED_NIIRS" length="3"/>
  421. <field name="CIRCL_ERR" length="3"/>
  422. <field name="LINEAR_ERR" length="3"/>
  423. </tre>
  424. <!-- STDI-0002-1-v5.0 Appendix AH, Section AH.6.1, Table AH.6-1-->
  425. <tre name="CSEXRB" md_prefix="NITF_CSEXRB_" location="image">
  426. <field name="IMAGE_UUID" length="36" type="string"/>
  427. <field name="NUM_ASSOC_DES" length="3" type="integer" minval="000" maxval="999"/>
  428. <loop counter="NUM_ASSOC_DES" md_prefix="DES_%03d_">
  429. <field name="ASSOC_DES_ID" length="36" type="string"/>
  430. </loop>
  431. <field name="PLATFORM_ID" length="6" type="string"/>
  432. <field name="PAYLOAD_ID" length="6" type="string"/>
  433. <field name="SENSOR_ID" length="6" type="string"/>
  434. <field name="SENSOR_TYPE" length="1" type="string"/>
  435. <field name="GROUND_REF_POINT_X" length="12" type="real" minval="-99999999.99" maxval="+99999999.99"/>
  436. <field name="GROUND_REF_POINT_Y" length="12" type="real" minval="-99999999.99" maxval="+99999999.99"/>
  437. <field name="GROUND_REF_POINT_Z" length="12" type="real" minval="-99999999.99" maxval="+99999999.99"/>
  438. <if cond="SENSOR_TYPE=S">
  439. <field name="DAY_FIRST_LINE_IMAGE" length="8" type="string" />
  440. <field name="TIME_FIRST_LINE_IMAGE" length="15" type="real" minval="0.0" maxval="86400.0"/>
  441. <field name="TIME_IMAGE_DURATION" length="16" type="real" minval="-86400.0" maxval="86400.0"/>
  442. </if>
  443. <if cond="SENSOR_TYPE=F">
  444. <field name="TIME_STAMP_LOC" length="1" type="integer" minval="0" maxval="1"/>
  445. <if cond="TIME_STAMP_LOC=0">
  446. <field name="REFERENCE_FRAME_NUM" length="9" type="integer" minval="1" maxval="999999999"/>
  447. <field name="BASE_TIMESTAMP" length="24" type="string"/>
  448. <field name="DT_MULTIPLIER" length="8" type="UnsignedInt_BigEndian" />
  449. <field name="DT_SIZE" length="1" type="UnsignedInt_BigEndian" minval="1" maxval="8"/>
  450. <field name="NUMBER_FRAMES" length="4" type="UnsignedInt_BigEndian"/>
  451. <field name="NUMBER_DT" length="4" type="UnsignedInt_BigEndian" minval="0" maxval="2147483647"/> <!-- Value will be cast to signed integer -->
  452. <loop counter="NUMBER_DT" md_prefix="DT_%04d">
  453. <field name="DT" length_var="DT_SIZE" type="UnsignedInt_BigEndian" />
  454. </loop>
  455. </if>
  456. </if>
  457. <field name="MAX_GSD" length="12" type="real"/>
  458. <field name="ALONG_SCAN_GSD" length="12" type="real"/>
  459. <field name="CROSS_SCAN_GSD" length="12" type="real"/>
  460. <field name="GEO_MEAN_GSD" length="12" type="real"/>
  461. <field name="A_S_VERT_GSD" length="12" type="real"/>
  462. <field name="C_S_VERT_GSD" length="12" type="real"/>
  463. <field name="GEO_MEAN_VERT_GSD" length="12" type="real"/>
  464. <field name="GSD_BETA_ANGLE" length="5" type="real"/>
  465. <field name="DYNAMIC_RANGE" length="5" type="integer"/>
  466. <field name="NUM_LINES" length="7" type="integer"/>
  467. <field name="NUM_SAMPLES" length="5" type="integer"/>
  468. <field name="ANGLE_TO_NORTH" length="7" type="real"/>
  469. <field name="OBLIQUITY_ANGLE" length="6" type="real"/>
  470. <field name="AZ_OF_OBLIQUITY" length="7" type="real"/>
  471. <field name="ATM_REFR_FLAG" length="1" type="integer" minval="0" maxval="1"/>
  472. <field name="VEL_ABER_FLAG" length="1" type="integer" minval="0" maxval="1"/>
  473. <field name="GRD_COVER" length="1" type="integer" minval="0" maxval="1" />
  474. <field name="SNOW_DEPTH_CATEGORY" length="1" type="integer"/>
  475. <field name="SUN_AZIMUTH" length="7" type="real"/>
  476. <field name="SUN_ELEVATION" length="7" type="real"/>
  477. <field name="PREDICTED_NIIRS" length="3" type="real"/>
  478. <field name="CIRCL_ERR" length="5" type="real"/>
  479. <field name="LINEAR_ERR" length="5" type="real"/>
  480. <field name="CLOUD_COVER" length="3" type="integer"/>
  481. <if cond="SENSOR_TYPE=F">
  482. <field name="ROLLING_SHUTTER_FLAG" length="1" type="integer" minval="0" maxval="1"/>
  483. </if>
  484. <field name="UE_TIME_FLAG" length="1" type="integer" minval="0" maxval="1"/>
  485. <field name="RESERVED_LEN" length="5" type="integer" fixed_value="00000"/>
  486. <if cond="RESERVED_LEN!=00000">
  487. <field name="RESERVED" length_var="RESERVED_LEN" type="string" />
  488. </if>
  489. </tre>
  490. <tre name="CSPROA" length="120" location="image">
  491. <field length="12"/>
  492. <field length="12"/>
  493. <field length="12"/>
  494. <field length="12"/>
  495. <field length="12"/>
  496. <field length="12"/>
  497. <field length="12"/>
  498. <field length="12"/>
  499. <field length="12"/>
  500. <field name="BWC" length="12"/>
  501. </tre>
  502. <!-- STDI-0002-1-v5.0 Appendix AH, Section AH.6.2, Table AH.6-2 -->
  503. <tre name="CSRLSB" md_prefix="NITF_CSRLSB_" location="image">
  504. <field name="N_RS_ROW_BLOCKS" length="2" type="integer" minval="1" maxval="99"/>
  505. <field name="M_RS_COLUMN_BLOCKS" length="2" type="integer" minval="1" maxval="99"/>
  506. <loop counter="N_RS_ROW_BLOCKS" md_prefix="ROWBLOCK_%02d_">
  507. <loop counter="M_RS_COLUMN_BLOCKS" md_prefix="COLBLOCK_%02d_">
  508. <field name="RS_DT_1" length="12" type="real"/>
  509. <field name="RS_DT_2" length="12" type="real"/>
  510. <field name="RS_DT_3" length="12" type="real"/>
  511. <field name="RS_DT_4" length="12" type="real"/>
  512. </loop>
  513. </loop>
  514. </tre>
  515. <tre name="CSSFAA" minlength="107" maxlength="425" location="image">
  516. <field name="NUM_BANDS" length="1"/>
  517. <loop counter="NUM_BANDS" md_prefix="BAND_%d_" name="BAND">
  518. <field name="BAND_TYPE" length="1"/>
  519. <field name="BAND_ID" length="6"/>
  520. <field name="FOC_LENGTH" length="11"/>
  521. <field name="NUM_DAP" length="8"/>
  522. <field name="NUM_FIR" length="8"/>
  523. <field name="DELTA" length="7"/>
  524. <field name="OPPOFF_X" length="7"/>
  525. <field name="OPPOFF_Y" length="7"/>
  526. <field name="OPPOFF_Z" length="7"/>
  527. <field name="START_X" length="11"/>
  528. <field name="START_Y" length="11"/>
  529. <field name="FINISH_X" length="11"/>
  530. <field name="FINISH_Y" length="11"/>
  531. </loop>
  532. </tre>
  533. <!-- STDI-0002-1-v5.0 Appendix AH, Section AH.6.3, Table AH.6-3 -->
  534. <tre name="CSWRPB" md_prefix="NITF_CSWRPB_" location="image">
  535. <field name="NUM_SETS_WARP_DATA" length="1" type="integer" minval="1" maxval="9"/>
  536. <field name="SENSOR_TYPE" length="1" type="string"/>
  537. <if cond="SENSOR_TYPE=F">
  538. <field name="WRP_INTERP" length="1" type="integer" minval="0" maxval="1"/>
  539. </if>
  540. <loop counter="NUM_SETS_WARP_DATA" md_prefix="WARP_DATA_SET_%01d_">
  541. <if cond="SENSOR_TYPE=F">
  542. <field name="FL_WARP" length="11" type="real" minval="0" maxval="99.99999999"/>
  543. </if>
  544. <field name="OFFSET_LINE" length="7" type="integer" minval="1" maxval="9999999"/>
  545. <field name="OFFSET_SAMP" length="7" type="integer" minval="1" maxval="9999999"/>
  546. <field name="SCALE_LINE" length="7" type="integer" minval="1" maxval="9999999"/>
  547. <field name="SCALE_SAMP" length="7" type="integer" minval="1" maxval="9999999"/>
  548. <field name="OFFSET_LINE_UNWRP" length="7" type="integer" minval="1" maxval="9999999"/>
  549. <field name="OFFSET_SAMP_UNWRP" length="7" type="integer" minval="1" maxval="9999999"/>
  550. <field name="SCALE_LINE_UNWRP" length="7" type="integer" minval="1" maxval="9999999"/>
  551. <field name="SCALE_SAMP_UNWRP" length="7" type="integer" minval="1" maxval="9999999"/>
  552. <field name="LINE_POLY_ORDER_M1" length="1" type="integer"/>
  553. <field name="LINE_POLY_ORDER_M2" length="1" type="integer"/>
  554. <field name="SAMP_POLY_ORDER_N1" length="1" type="integer"/>
  555. <field name="SAMP_POLY_ORDER_N2" length="1" type="integer"/>
  556. <loop counter="LINE_POLY_ORDER_M2" md_prefix="M2_%01d_">
  557. <loop counter="LINE_POLY_ORDER_M1" md_prefix="M1_%01d_">
  558. <field name="A" length="21" type="real"/>
  559. </loop>
  560. </loop>
  561. <loop counter="SAMP_POLY_ORDER_N2" md_prefix="N2_%01d_">
  562. <loop counter="SAMP_POLY_ORDER_N1" md_prefix="N1_%01d_">
  563. <field name="B" length="21" type="real"/>
  564. </loop>
  565. </loop>
  566. </loop>
  567. <field name="RESERVED_LEN" length="5" type="integer"/>
  568. <if cond="RESERVED_LEN!=00000">
  569. <field name="RESERVED" length_var="RESERVED_LEN" type="string"/>
  570. </if>
  571. </tre>
  572. <!-- STDI-0002 Appendix N -->
  573. <tre name="ENGRDA">
  574. <field name="RESRC" length="20" type="string"/>
  575. <field name="RECNT" length="3" type="integer" minval="1"/>
  576. <loop counter="RECNT" md_prefix="RECORD_%d_" name="RECORDS">
  577. <field name="ENGLN" length="2" type="integer" minval="1"/>
  578. <field name="ENGLBL" length_var="ENGLN" type="string"/>
  579. <field name="ENGMTXC" length="4" type="integer" minval="1"/>
  580. <field name="ENGMTXR" length="4" type="integer" minval="1"/>
  581. <field name="ENGTYP" length="1" type="string"/>
  582. <field name="ENGDTS" length="1" type="integer"/>
  583. <field name="ENGDTU" length="2" type="string"/>
  584. <field name="ENGDATC" length="8" type="integer" minval="1" maxval="99999932"/>
  585. <field name="ENGDATA" length_var="ENGDATC"/>
  586. </loop>
  587. </tre>
  588. <!-- STDI-0002 Appendix E (ASDE 2.1/CN1), Table E-12 -->
  589. <tre name="EXPLTB" length="101" location="image">
  590. <field name="ANGLE_TO_NORTH" length="7" type="real" minval="0.0" maxval="359.999"/>
  591. <field name="ANGLE_TO_NORTH_ACCY" length="6" type="real" minval="0.0" maxval="44.999"/>
  592. <field name="SQUINT_ANGLE" length="7" type="real" minval="-60.0" maxval="85.0"/>
  593. <field name="SQUINT_ANGLE_ACCY" length="6" type="real" minval="0.0" maxval="44.999"/>
  594. <field name="MODE" length="3" type="string"/>
  595. <field length="16" fixed_value=" "/>
  596. <field name="GRAZE_ANG" length="5" type="real" unit="degrees" minval="0.0" maxval="90.00"/>
  597. <field name="GRAZE_ANG_ACCY" length="5" type="real" unit="degrees" minval="0.0" maxval="90.00"/>
  598. <field name="SLOPE_ANG" length="5" type="real" unit="degrees" minval="0.0" maxval="90.00"/>
  599. <field name="POLAR" length="2" type="string"/>
  600. <field name="NSAMP" length="5" type="integer" minval="1" maxval="99999"/>
  601. <field length="1" fixed_value="0"/>
  602. <!-- SEQ_NUM is a string because it is <R>, so it may contain a space -->
  603. <field name="SEQ_NUM" length="1" type="string"/>
  604. <field name="PRIME_ID" length="12" type="string"/>
  605. <field name="PRIME_BE" length="15" type="string"/>
  606. <field length="1" fixed_value="0"/>
  607. <field name="N_SEC" length="2" type="integer" minval="0" maxval="99"/>
  608. <field name="IPR" length="2" type="integer" unit="feet" minval="0" maxval="99"/>
  609. </tre>
  610. <tre name="GEOLOB" length="48" location="image">
  611. <field name="ARV" length="9" type="real"/>
  612. <field name="BRV" length="9" type="real"/>
  613. <field name="LSO" length="15" type="real"/>
  614. <field name="PSO" length="15" type="real"/>
  615. </tre>
  616. <tre name="GEOPSB" length="443" location="file">
  617. <field name="TYP" length="3" type="string"/>
  618. <field name="UNI" length="3" type="string"/>
  619. <field name="DAG" length="80" type="string"/>
  620. <field name="DCD" length="4" type="string"/>
  621. <field name="ELL" length="80" type="string"/>
  622. <field name="ELC" length="3" type="string"/>
  623. <field name="DVR" length="80" type="string"/>
  624. <field name="VDCDVR" length="4" type="string"/>
  625. <field name="SDA" length="80" type="string"/>
  626. <field name="VDCSDA" length="4" type="string"/>
  627. <field name="ZOR" length="15" type="integer" minval="0"/>
  628. <field name="GRD" length="3" type="string"/>
  629. <field name="GRN" length="80" type="string"/>
  630. <field name="ZNA" length="4" type="integer" minval="0"/>
  631. </tre>
  632. <!-- STDI-0002-1, App. P Table P-4 Grid Reference Data (GRDPSB) TRE -->
  633. <tre name="GRDPSB" location="image">
  634. <field name="NUM_GRDS" length="2" minval="1" type="integer"/>
  635. <loop counter="NUM_GRDS" md_prefix="GRD_%02d_" name="GRDS">
  636. <field name="ZVL" length="10" unit="m" type="real"/>
  637. <field name="BAD" length="10" type="string"/>
  638. <field name="LOD" length="12" type="real"/>
  639. <field name="LAD" length="12" type="real"/>
  640. <field name="LSO" length="11" type="real"/>
  641. <field name="PSO" length="11" type="real"/>
  642. </loop>
  643. </tre>
  644. <tre name="HISTOA" minlength="115" maxlength="83512" location="image">
  645. <field name="SYSTYPE" length="20"/>
  646. <field name="PC" length="12"/>
  647. <field name="PE" length="4"/>
  648. <field name="REMAP_FLAG" length="1"/>
  649. <field name="LUTID" length="2"/>
  650. <field name="NEVENTS" length="2"/>
  651. <loop counter="NEVENTS" md_prefix="EVENT_%02d_" name="EVENT">
  652. <field name="PDATE" length="14"/>
  653. <field name="PSITE" length="10"/>
  654. <field name="PAS" length="10"/>
  655. <field name="NIPCOM" length="1"/>
  656. <loop counter="NIPCOM" md_prefix="IPCOM_%d" name="IPCOM">
  657. <field name="" longname="IPCOM" length="80"/>
  658. </loop>
  659. <field name="IBPP" length="2"/>
  660. <field name="IPVTYPE" length="3"/>
  661. <field name="INBWC" length="10"/>
  662. <field name="DISP_FLAG" length="1"/>
  663. <field name="ROT_FLAG" length="1"/>
  664. <if cond="ROT_FLAG=1">
  665. <field name="ROT_ANGLE" length="8"/>
  666. </if>
  667. <field name="ASYM_FLAG" length="1"/>
  668. <if cond="ASYM_FLAG=1">
  669. <field name="ZOOMROW" length="7"/>
  670. <field name="ZOOMCOL" length="7"/>
  671. </if>
  672. <field name="PROJ_FLAG" length="1"/>
  673. <field name="SHARP_FLAG" length="1"/>
  674. <if cond="SHARP_FLAG=1">
  675. <field name="SHARPFAM" length="2"/>
  676. <field name="SHARPMEM" length="2"/>
  677. </if>
  678. <field name="MAG_FLAG" length="1"/>
  679. <if cond="MAG_FLAG=1">
  680. <field name="MAG_LEVEL" length="7"/>
  681. </if>
  682. <field name="DRA_FLAG" length="1"/>
  683. <if cond="DRA_FLAG=1">
  684. <field name="DRA_MULT" length="7"/>
  685. <field name="DRA_SUB" length="5"/>
  686. </if>
  687. <field name="TTC_FLAG" length="1"/>
  688. <if cond="TTC_FLAG=1">
  689. <field name="TTCFAM" length="2"/>
  690. <field name="TTCMEM" length="2"/>
  691. </if>
  692. <field name="DEVLUT_FLAG" length="1"/>
  693. <field name="OBPP" length="2"/>
  694. <field name="OPVTYPE" length="3"/>
  695. <field name="OUTBWC" length="10"/>
  696. </loop>
  697. </tre>
  698. <tre name="ICHIPB" length="224" location="image">
  699. <field name="XFRM_FLAG" length="2" type="integer"/>
  700. <field name="SCALE_FACTOR" length="10" type="real"/>
  701. <field name="ANAMRPH_CORR" length="2" type="integer"/>
  702. <field name="SCANBLK_NUM" length="2" type="integer"/>
  703. <field name="OP_ROW_11" length="12" type="real"/>
  704. <field name="OP_COL_11" length="12" type="real"/>
  705. <field name="OP_ROW_12" length="12" type="real"/>
  706. <field name="OP_COL_12" length="12" type="real"/>
  707. <field name="OP_ROW_21" length="12" type="real"/>
  708. <field name="OP_COL_21" length="12" type="real"/>
  709. <field name="OP_ROW_22" length="12" type="real"/>
  710. <field name="OP_COL_22" length="12" type="real"/>
  711. <field name="FI_ROW_11" length="12" type="real"/>
  712. <field name="FI_COL_11" length="12" type="real"/>
  713. <field name="FI_ROW_12" length="12" type="real"/>
  714. <field name="FI_COL_12" length="12" type="real"/>
  715. <field name="FI_ROW_21" length="12" type="real"/>
  716. <field name="FI_COL_21" length="12" type="real"/>
  717. <field name="FI_ROW_22" length="12" type="real"/>
  718. <field name="FI_COL_22" length="12" type="real"/>
  719. <field name="FI_ROW" length="8" type="integer"/>
  720. <field name="FI_COL" length="8" type="integer"/>
  721. </tre>
  722. <!-- STDI-0002-1-v5.0 Appendix AL, Section AL.6.2.4, Table AL.6-3 -->
  723. <tre name="ILLUMB" minlength="381" maxlength="99985" md_prefix="NITF_ILLUMB_" location="image">
  724. <field name="NUM_BANDS" length="4" type="integer"/>
  725. <field name="BAND_UNIT" length="40" type="string"/>
  726. <loop counter="NUM_BANDS" md_prefix="BAND_%04d_">
  727. <field name="LBOUND" length="16" type="real"/>
  728. <field name="UBOUND" length="16" type="real"/>
  729. </loop>
  730. <field name="NUM_OTHERS" length="2" type="integer"/>
  731. <loop counter="NUM_OTHERS" md_prefix="OTHER_%02d_">
  732. <field name="OTHER_NAME" length="40" type="string"/>
  733. </loop>
  734. <field name="NUM_COMS" length="1" type="integer"/>
  735. <loop counter="NUM_COMS" md_prefix="COMS_%01d_">
  736. <field name="COMMENT" length="80" type="string"/>
  737. </loop>
  738. <field name="GEO_DATUM" length="80" type="string"/>
  739. <field name="GEO_DATUM_CODE" length="4" type="string"/>
  740. <field name="ELLIPSOID_NAME" length="80" type="string"/>
  741. <field name="ELLIPSOID_CODE" length="3" type="string"/>
  742. <field name="VERTICAL_DATUM_REF" length="80" type="string"/>
  743. <field name="VERTICAL_REF_CODE" length="4" type="string"/>
  744. <field name="EXISTENCE_MASK" length="3" type="bitmask"/>
  745. <if cond="EXISTENCE_MASK:23">
  746. <field name="RAD_QUANTITY" length="40" type="string"/>
  747. <field name="RADQ_UNIT" length="40" type="string"/>
  748. </if>
  749. <field name="NUM_ILLUM_SETS" length="3" type="integer"/>
  750. <loop counter="NUM_ILLUM_SETS" md_prefix="ILLUM_SET_%03d_">
  751. <field name="DATETIME" length="14" type="string"/>
  752. <field name="TARGET_LAT" length="10" type="real"/>
  753. <field name="TARGET_LON" length="11" type="real"/>
  754. <field name="TARGET_HGT" length="14" type="real"/>
  755. <if cond="EXISTENCE_MASK:22">
  756. <field name="SUN_AZIMUTH" length="5" type="real"/>
  757. <field name="SUN_ELEV" length="5" type="real"/>
  758. </if>
  759. <if cond="EXISTENCE_MASK:21">
  760. <field name="MOON_AZIMUTH" length="5" type="real"/>
  761. <field name="MOON_ELEV" length="5" type="real"/>
  762. </if>
  763. <if cond="EXISTENCE_MASK:20">
  764. <field name="MOON_PHASE_ANGLE" length="6" type="real"/>
  765. </if>
  766. <if cond="EXISTENCE_MASK:19">
  767. <field name="MOON_ILLUM_PERCENT" length="3" type="integer"/>
  768. </if>
  769. <if cond="EXISTENCE_MASK:18">
  770. <loop counter="NUM_OTHERS" md_prefix="OTHERS_%02d_">
  771. <field name="OTHER_AZIMUTH" length="5" type="real"/>
  772. <field name="OTHER_ELEV" length="5" type="real"/>
  773. </loop>
  774. </if>
  775. <if cond="EXISTENCE_MASK:17">
  776. <field name="SENSOR_AZIMUTH" length="5" type="real"/>
  777. <field name="SENSOR_ELEV" length="5" type="real"/>
  778. </if>
  779. <if cond="EXISTENCE_MASK:16">
  780. <field name="CATS_ANGLE" length="5" type="real"/>
  781. </if>
  782. <if cond="EXISTENCE_MASK:15">
  783. <field name="SUN_GLINT_LAT" length="10" type="real"/>
  784. <field name="SUN_GLINT_LON" length="11" type="real"/>
  785. </if>
  786. <if cond="EXISTENCE_MASK:14">
  787. <field name="CATM_ANGLE" length="5" type="real"/>
  788. </if>
  789. <if cond="EXISTENCE_MASK:13">
  790. <field name="MOON_GLINT_LAT" length="10" type="real"/>
  791. <field name="MOON_GLINT_LON" length="11" type="real"/>
  792. </if>
  793. <if cond="EXISTENCE_MASK:10">
  794. <field name="SOL_LUN_DIST_ADJUST" length="7" type="real"/>
  795. </if>
  796. <loop counter="NUM_BANDS" md_prefix="BAND_%04d_">
  797. <if cond="EXISTENCE_MASK:12">
  798. <field name="SUN_ILLUM_METHOD" length="1" type="string"/>
  799. <field name="SUN_ILLUM" length="16" type="real"/>
  800. </if>
  801. <if cond="EXISTENCE_MASK:11">
  802. <field name="MOON_ILLUM_METHOD" length="1" type="string"/>
  803. <field name="MOON_ILLUM" length="16" type="real"/>
  804. </if>
  805. <if cond="EXISTENCE_MASK:10">
  806. <field name="TOT_SUNMOON_ILLUM" length="16" type="real"/>
  807. </if>
  808. <loop counter="NUM_OTHERS" md_prefix="OTHER_%02d_">
  809. <if cond="EXISTENCE_MASK:9">
  810. <field name="OTHER_ILLUM_METHOD" length="1" type="string"/>
  811. <field name="OTHER_ILLUM" length="16" type="real"/>
  812. </if>
  813. </loop>
  814. <if cond="EXISTENCE_MASK:8">
  815. <field name="ART_ILLUM_METHOD" length="1" type="string"/>
  816. <field name="ART_ILLUM_MIN" length="16" type="real"/>
  817. <field name="ART_ILLUM_MAX" length="16" type="real"/>
  818. </if>
  819. </loop>
  820. </loop>
  821. </tre>
  822. <tre name="J2KLRA" location="image">
  823. <field name="ORIG" length="1"/>
  824. <field name="NLEVELS_O" length="2"/>
  825. <field name="NBANDS_O" length="5"/>
  826. <field name="NLAYERS_O" length="3"/>
  827. <loop counter="NLAYERS_O" md_prefix="LAYER_%03d_" name="LAYER">
  828. <field name="LAYER_ID" length="3"/>
  829. <field name="BITRATE" length="9"/>
  830. </loop>
  831. <if_remaining_bytes>
  832. <field name="NLEVELS_I" length="2"/>
  833. <field name="NBANDS_I" length="5"/>
  834. <field name="NLAYERS_I" length="3"/>
  835. </if_remaining_bytes>
  836. </tre>
  837. <tre name="MAPLOB" length="43" location="image">
  838. <field name="UNILOA" length="3" type="string"/>
  839. <field name="LOD" length="5" type="integer" minval="1" maxval="99999"/>
  840. <field name="LAD" length="5" type="integer" minval="1" maxval="99999"/>
  841. <field name="LSO" length="15" type="real"/>
  842. <field name="PSO" length="15" type="real"/>
  843. </tre>
  844. <!-- STDI-0002-1 Appendix AK: Table AK.6-5: MATESA -->
  845. <tre name="MATESA" location="file">
  846. <field name="CUR_SOURCE" length="42" type="string"/>
  847. <field name="CUR_MATE_TYPE" length="16" type="string"/>
  848. <field name="CUR_FILE_ID_LEN" length="4" type="integer" minval="1" maxval="9999"/>
  849. <field name="CUR_FILE_ID" length_var="CUR_FILE_ID_LEN" type="string"/>
  850. <field name="NUM_GROUPS" length="4" type="integer" minval="1" maxval="9999"/>
  851. <loop counter="NUM_GROUPS" md_prefix="GROUP_%d" name="GROUPS">
  852. <field name="RELATIONSHIP" length="24" type="string"/>
  853. <field name="NUM_MATES" length="4" type="integer" minval="1" maxval="9999"/>
  854. <loop counter="NUM_MATES" md_prefix="MATE_%d" name="MATES">
  855. <field name="SOURCE" length="42" type="string"/>
  856. <field name="MATE_TYPE" length="16" type="string"/>
  857. <field name="MATE_ID_LEN" length="4" type="integer" minval="1" maxval="9999"/>
  858. <field name="MATE_ID" length_var="MATE_ID_LEN" type="string"/>
  859. </loop>
  860. </loop>
  861. </tre>
  862. <tre name="MENSRB" location="image">
  863. <field name="ACFT_LOC" length="25" type="string"/>
  864. <field name="ACFT_LOC_ACCY" length ="6" type="real"/>
  865. <field name="ACFT_ALT" length="6" type="integer"/>
  866. <field name="RP_LOC" length="25" type="string"/>
  867. <field name="RP_LOC_ACCY" length="6" type="real"/>
  868. <field name="RP_ELV" length="6" type="integer" minval="-1000" maxval="30000"/>
  869. <field name="OF_PC_R" length="7" type="real"/>
  870. <field name="OF_PC_A" length="7" type="real"/>
  871. <field name="COSGRZ" length="7" type="real" minval="0.0" maxval="1.0"/>
  872. <field name="RGCRP" length="7" type="integer" minval="0" maxval="3000000"/>
  873. <field name="RLMAP" length="1" type="string"/>
  874. <field name="RP_ROW" length="5" type="integer" minval="1" maxval="99999"/>
  875. <field name="RP_COL" length="5" type="integer" minval="1" maxval="99999"/>
  876. <field name="C_R_NC" length="10" type="real" minval="-1.0" maxval="1.0"/>
  877. <field name="C_R_EC" length="10" type="real" minval="-1.0" maxval="1.0"/>
  878. <field name="C_R_DC" length="10" type="real" minval="-1.0" maxval="1.0"/>
  879. <field name="C_AZ_NC" length="9" type="real" minval="-1.0" maxval="1.0"/>
  880. <field name="C_AZ_EC" length="9" type="real" minval="-1.0" maxval="1.0"/>
  881. <field name="C_AZ_DC" length="9" type="real" minval="-1.0" maxval="1.0"/>
  882. <field name="C_AL_NC" length="9" type="real" minval="-1.0" maxval="1.0"/>
  883. <field name="C_AL_EC" length="9" type="real" minval="-1.0" maxval="1.0"/>
  884. <field name="C_AL_DC" length="9" type="real" minval="-1.0" maxval="1.0"/>
  885. <field name="TOTAL_TILES_COLS" length="3" type="integer" minval="1" maxval="999"/>
  886. <field name="TOTAL_TILES_ROWS" length="5" type="integer" minval="1" maxval="99999"/>
  887. </tre>
  888. <!-- STDI-0002-1-v5.0 Appendix E, Section E.3.9, Table E-16-->
  889. <tre name="MSTGTA" md_prefix="NITF_MSTGTA_" length="101" location="image">
  890. <field name="TGT_NUM" length="5" type="integer" minval="0" maxval="99999"/>
  891. <field name="TGT_ID" length="12" type="string"/>
  892. <field name="TGT_BE" length="15" type="string"/>
  893. <field name="TGT_PRI" length="3" type="integer" minval="1" maxval="999"/>
  894. <field name="TGT_REQ" length="12" type="string"/>
  895. <field name="TGT_LTIOV" length="12" type="string"/>
  896. <field name="TGT_TYPE" length="1" type="integer"/>
  897. <field name="TGT_COLL" length="1" type="integer"/>
  898. <field name="TGT_CAT" length="5" type="integer" minval="10000" maxval="99999"/>
  899. <field name="TGT_UTC" length="7" type="string"/>
  900. <field name="TGT_ELEV" length="6" type="integer" minval="-1000" maxval="30000"/>
  901. <field name="TGT_ELEV_UNIT" length="1" type="string"/>
  902. <field name="TGT_LOC" length="21" type="string"/>
  903. </tre>
  904. <!-- STDI-0002 Appendix E (ASDE 2.1/CN1), Section 3.10 and Table E-19 -->
  905. <tre name="MTIRPB" minlength="119" maxlength="42035">
  906. <field name="MTI_DP" length="2" type="string"/>
  907. <field name="MTI_PACKET_ID" length="3" minval="1" maxval="999" type="integer"/>
  908. <field name="PATCH_NO" length="4" minval="1" maxval="999" type="integer"/>
  909. <field name="WAMTI_FRAME_NO" length="5" type="string"/>
  910. <field name="WAMTI_BAR_NO" length="1" type="string"/>
  911. <field name="DATIME" length="14" type="string"/>
  912. <field name="ACFT_LOC" length="21" type="string"/>
  913. <field name="ACFT_ALT" length="6" minval="0" maxval="999999" type="integer"/>
  914. <field name="ACFT_ALT_UNIT" length="1" type="string"/>
  915. <field name="ACFT_HEADING" length="3" minval="0" maxval="359" type="integer"/>
  916. <field name="MTI_LR" length="1" type="string"/>
  917. <field name="SQUINT_ANGLE" length="6" minval="-60.0" maxval="85.00" type="real"/>
  918. <field name="COSGRZ" length="7" minval="0" maxval="9.99999" type="real"/>
  919. <field name="NO_VALID_TARGETS" length="3" minval="1" maxval="999" type="integer"/>
  920. <loop counter="NO_VALID_TARGETS" md_prefix="TGT_%03d_" name="TARGETS">
  921. <field name="TGT_LOC" length="23" type="string"/>
  922. <field name="TGT_LOC_ACCY" length="6" minval="0" maxval="999.99" type="real"/>
  923. <field name="TGT_VEL_R" length="4" minval="-200" maxval="200" type="string"/>
  924. <field name="TGT_SPEED" length="3" minval="0" maxval="200" type="string"/>
  925. <field name="TGT_HEADING" length="3" minval="0" maxval="359" type="string"/>
  926. <field name="TGT_AMPLITUDE" length="2" minval="0" maxval="15" type="string"/>
  927. <field name="TGT_CAT" length="1" type="string"/>
  928. </loop>
  929. </tre>
  930. <!-- STDI-0002 Appendix E (ASDE 2.1/CN1), Table E-21 -->
  931. <tre name="PATCHB" length="121" location="image">
  932. <field name="PAT_NO" length="4" type="integer" minval="1" maxval="999"/>
  933. <!-- LAST_PAT_LEVEL is a string because it is <R>, so it may contain only a space -->
  934. <field name="LAST_PAT_FLAG" length="1" type="integer" minval="0" maxval="1"/>
  935. <field name="LNSTRT" length="7" type="integer" minval="1" maxval="9999999"/>
  936. <field name="LNSTOP" length="7" type="integer" minval="20" maxval="9999999"/>
  937. <field name="AZL" length="5" type="integer" unit="lines" minval="20" maxval="99999"/>
  938. <!-- NVL is a string because it is <R> -->
  939. <field name="NVL" length="5" type="string" unit="lines"/>
  940. <!-- FVL is a string because it is <R> -->
  941. <field name="FVL" length="3" type="string" minval="1" maxval="681"/>
  942. <field name="NPIXEL" length="5" type="integer" unit="pixels" minval="1" maxval="99999"/>
  943. <field name="FVPIX" length="5" type="integer" unit="pixels" minval="1" maxval="99999"/>
  944. <!-- FRAME is a string because it is <R> -->
  945. <field name="FRAME" length="3" type="string" minval="1" maxval="512"/>
  946. <field name="UTC" length="8" type="real" unit="seconds" minval="0.0" maxval="86399.99"/>
  947. <field name="SHEAD" length="7" type="real" unit="degrees" minval="0.0" maxval="359.999"/>
  948. <!-- GRAVITY is a string because it is <R> -->
  949. <field name="GRAVITY" length="7" type="string" unit="feet/sec^2"/>
  950. <field name="INS_V_NC" length="5" type="integer" unit="feet/sec" minval="-9999" maxval="9999"/>
  951. <field name="INS_V_EC" length="5" type="integer" unit="feet/sec" minval="-9999" maxval="9999"/>
  952. <field name="INS_V_DC" length="5" type="integer" unit="feet/sec" minval="-9999" maxval="9999"/>
  953. <!-- OFFLAT and OFFLONG are string because they are <R> -->
  954. <field name="OFFLAT" length="8" type="string" unit="seconds"/>
  955. <field name="OFFLONG" length="8" type="string" unit="seconds"/>
  956. <field name="TRACK" length="3" type="integer" unit="degrees" minval="0" maxval="359"/>
  957. <field name="GSWEEP" length="6" type="real" unit="degrees" minval="0.0" maxval="120.0"/>
  958. <!-- SHEAR is a string because it is <R> -->
  959. <field name="SHEAR" length="8" type="string"/>
  960. <!-- BATCH_NO is a string because it is <R> -->
  961. <field name="BATCH_NO" length="6" type="string"/>
  962. </tre>
  963. <tre name="PIAIMB" md_prefix="NITF_PIAIMB_" length="337" location="image">
  964. <field name="CLOUDCVR" length="3"/>
  965. <field name="SRP" length="1"/>
  966. <field name="SENSMODE" length="12"/>
  967. <field name="SENSNAME" length="18"/>
  968. <field name="SOURCE" length="255"/>
  969. <field name="COMGEN" length="2"/>
  970. <field name="SUBQUAL" length="1"/>
  971. <field name="PIAMSNNUM" length="7"/>
  972. <field name="CAMSPECS" length="32"/>
  973. <field name="PROJID" length="2"/>
  974. <field name="GENERATION" length="1"/>
  975. <field name="ESD" length="1"/>
  976. <field name="OTHERCOND" length="2"/>
  977. </tre>
  978. <tre name="PIAIMC" md_prefix="NITF_PIAIMC_" length="362" location="image">
  979. <field name="CLOUDCVR" length="3"/>
  980. <field name="SRP" length="1"/>
  981. <field name="SENSMODE" length="12"/>
  982. <field name="SENSNAME" length="18"/>
  983. <field name="SOURCE" length="255"/>
  984. <field name="COMGEN" length="2"/>
  985. <field name="SUBQUAL" length="1"/>
  986. <field name="PIAMSNNUM" length="7"/>
  987. <field name="CAMSPECS" length="32"/>
  988. <field name="PROJID" length="2"/>
  989. <field name="GENERATION" length="1"/>
  990. <field name="ESD" length="1"/>
  991. <field name="OTHERCOND" length="2"/>
  992. <field name="MEANGSD" length="7"/>
  993. <field name="IDATUM" length="3"/>
  994. <field name="IELLIP" length="3"/>
  995. <field name="PREPROC" length="2"/>
  996. <field name="IPROJ" length="2"/>
  997. <field name="SATTRACK" length="8"/>
  998. </tre>
  999. <tre name="PIAPEA" length="92" location="image">
  1000. <field name="LASTNME" length="28" type="string"/>
  1001. <field name="FIRSTNME" length="28" type="string"/>
  1002. <field name="MIDNME" length="28" type="string"/>
  1003. <field name="DOB" length="6" type="string"/>
  1004. <field name="ASSOCTRY" length="2" type="string"/>
  1005. </tre>
  1006. <tre name="PIAPRC" minlength="201" maxlength="63759" location="file"> <!-- same as PIAPRD apparently ? -->
  1007. <field name="ACCESSID" length="64" type="string"/>
  1008. <field name="FMCONTROL" length="32" type="string"/>
  1009. <field name="SUBDET" length="1" type="string"/>
  1010. <field name="PRODCODE" length="2" type="string"/>
  1011. <field name="PRODUCERSE" length="6" type="string"/>
  1012. <field name="PRODIDNO" length="20" type="string"/>
  1013. <field name="PRODSNME" length="10" type="string"/>
  1014. <field name="PRODUCERCD" length="2" type="string"/>
  1015. <field name="PRODCRTIME" length="14" type="string"/>
  1016. <field name="MAPID" length="40" type="string"/>
  1017. <field name="SECTITLEREP" length="2" type="integer" minval="0" maxval="99"/>
  1018. <loop counter="SECTITLEREP" md_prefix="SECTITLE_%02d_" name="SECTITLE">
  1019. <field name="SECTITLE" length="40" type="string"/>
  1020. <field name="PPNUM" length="5" type="string"/>
  1021. <field name="TPP" length="3" type="integer" minval="1" maxval="999"/>
  1022. </loop>
  1023. <field name="REQORGREP" length="2" type="integer" minval="0" maxval="99"/>
  1024. <loop counter="REQORGREP" md_prefix="REQORG_%02d" name="REQORG">
  1025. <field name="" longname="REQORG" length="64" type="string"/>
  1026. </loop>
  1027. <field name="KEYWORDREP" length="2" type="integer" minval="0" maxval="99"/>
  1028. <loop counter="KEYWORDREP" md_prefix="KEYWORD_%02d" name="KEYWORD">
  1029. <field name="" longname="KEYWORD" length="255" type="string"/>
  1030. </loop>
  1031. <field name="ASSRPTREP" length="2" type="integer" minval="0" maxval="99"/>
  1032. <loop counter="ASSRPTREP" md_prefix="ASSRPT_%02d" name="ASSRPT">
  1033. <field name="" longname="ASSRPT" length="20" type="string"/>
  1034. </loop>
  1035. <field name="ATEXTREP" length="2" type="integer" minval="0" maxval="99"/>
  1036. <loop counter="ATEXTREP" md_prefix="ATEXT_%02d" name="ATEXT">
  1037. <field name="" longname="ATEXT" length="255" type="string"/>
  1038. </loop>
  1039. </tre>
  1040. <tre name="PIAPRD" minlength="201" maxlength="63759" location="file">
  1041. <field name="ACCESSID" length="64" type="string"/>
  1042. <field name="FMCONTROL" length="32" type="string"/>
  1043. <field name="SUBDET" length="1" type="string"/>
  1044. <field name="PRODCODE" length="2" type="string"/>
  1045. <field name="PRODUCERSE" length="6" type="string"/>
  1046. <field name="PRODIDNO" length="20" type="string"/>
  1047. <field name="PRODSNME" length="10" type="string"/>
  1048. <field name="PRODUCERCD" length="2" type="string"/>
  1049. <field name="PRODCRTIME" length="14" type="string"/>
  1050. <field name="MAPID" length="40" type="string"/>
  1051. <field name="SECTITLEREP" length="2" type="integer" minval="0" maxval="99"/>
  1052. <loop counter="SECTITLEREP" md_prefix="SECTITLE_%02d_" name="SECTITLE">
  1053. <field name="SECTITLE" length="40" type="string"/>
  1054. <field name="PPNUM" length="5" type="string"/>
  1055. <field name="TPP" length="3" type="integer" minval="1" maxval="999"/>
  1056. </loop>
  1057. <field name="REQORGREP" length="2" type="integer" minval="0" maxval="99"/>
  1058. <loop counter="REQORGREP" md_prefix="REQORG_%02d" name="REQORG">
  1059. <field name="" longname="REQORG" length="64" type="string"/>
  1060. </loop>
  1061. <field name="KEYWORDREP" length="2" type="integer" minval="0" maxval="99"/>
  1062. <loop counter="KEYWORDREP" md_prefix="KEYWORD_%02d" name="KEYWORD">
  1063. <field name="" longname="KEYWORD" length="255" type="string"/>
  1064. </loop>
  1065. <field name="ASSRPTREP" length="2" type="integer" minval="0" maxval="99"/>
  1066. <loop counter="ASSRPTREP" md_prefix="ASSRPT_%02d" name="ASSRPT">
  1067. <field name="" longname="ASSRPT" length="20" type="string"/>
  1068. </loop>
  1069. <field name="ATEXTREP" length="2" type="integer" minval="0" maxval="99"/>
  1070. <loop counter="ATEXTREP" md_prefix="ATEXT_%02d" name="ATEXT">
  1071. <field name="" longname="ATEXT" length="255" type="string"/>
  1072. </loop>
  1073. </tre>
  1074. <!-- STDI-0002-1-v5.0 Appendix C, Section C.3, Tables C-7,C-8,C-9 -->
  1075. <tre name="PIATGB" md_prefix="NITF_PIATGB_" length="117" location="image">
  1076. <field name="TGTUTM" length="15" type="string"/>
  1077. <field name="PIATGAID" length="15" type="string"/>
  1078. <field name="PIACTRY" length="2" type="string"/>
  1079. <field name="PIACAT" length="5" type="string"/>
  1080. <field name="TGTGEO" length="15" type="string"/>
  1081. <field name="DATUM" length="3" type="string"/>
  1082. <field name="TGTNAME" length="38" type="string"/>
  1083. <field name="PERCOVER" length="3" type="integer" minval="0" maxval="100"/>
  1084. <field name="TGTLAT" length="10" type="string"/>
  1085. <field name="TGTLON" length="11" type="string"/>
  1086. </tre>
  1087. <!-- STDI-0002-1-v5.0 Appendix AJ, Section AJ.6.3, Table AJ.6-8 -->
  1088. <tre name="PIXMTA" md_prefix="NITF_PIXMTA_" minlength="152" maxlength="99985" location="image">
  1089. <field name="NUMAIS" length="3" type="integer"/>
  1090. <if cond="NUMAIS!=ALL">
  1091. <if cond="NUMAIS!=000">
  1092. <loop counter="NUMAIS" md_prefix = "AIS_%03d_">
  1093. <field name="AISDLVL" length="3" type="integer"/>
  1094. </loop>
  1095. </if>
  1096. </if>
  1097. <field name="ORIGIN_X" length="14" type="real"/>
  1098. <field name="ORIGIN_Y" length="14" type="real"/>
  1099. <field name="SCALE_X" length="14" type="real"/>
  1100. <field name="SCALE_Y" length="14" type="real"/>
  1101. <field name="SAMPLE_MODE" length="1" type="string"/>
  1102. <field name="NUMMETRICS" length="5" type="integer"/>
  1103. <field name="PERBAND" length="1" type="string"/>
  1104. <loop counter="NUMMETRICS" md_prefix="METRIC_%05d_">
  1105. <field name="DESCRIPTION" length="40" type="string"/>
  1106. <field name="UNIT" length="40" type="string"/>
  1107. <field name="FITTYPE" length="1" type="string"/>
  1108. <if cond="FITTYPE=P">
  1109. <field name="NUMCOEF" length="1" type="integer"/>
  1110. <loop counter="NUMCOEF" md_prefix="COEF_%01d_">
  1111. <field name="COEF" length="15" type="real"/>
  1112. </loop>
  1113. </if>
  1114. </loop>
  1115. <field name="RESERVED_LEN" length="5" type="integer"/>
  1116. <if cond="RESERVED_LEN!=00000">
  1117. <field name="RESERVED" length_var="RESERVED_LEN"/>
  1118. </if>
  1119. </tre>
  1120. <!-- STDI-0002-1-v5.0 Appendix AA, Section AA.4.1, Table AA-1 -->
  1121. <tre name="PIXQLA" md_prefix="NITF_PIXQLA_" location="image">
  1122. <field name="NUMAIS" length="3" type="integer"/>
  1123. <if cond="NUMAIS!=ALL">
  1124. <if cond="NUMAIS!=000">
  1125. <loop counter="NUMAIS" md_prefix = "AIS_%03d_">
  1126. <field name="AISDLVL" length="3" type="integer"/>
  1127. </loop>
  1128. </if>
  1129. </if>
  1130. <field name="NPIXQUAL" length="4" type="integer"/>
  1131. <field name="PQ_BIT_VALUE" length="1" type="integer" fixed_value="1" />
  1132. <loop counter="NPIXQUAL" md_prefix="PIXQUAL_%04d_">
  1133. <field name="PQ_CONDITION" length="40" type="string"/>
  1134. </loop>
  1135. </tre>
  1136. <tre name="PRJPSB" minlength="113" maxlength="248" location="file">
  1137. <field name="PRN" length="80" type="string"/>
  1138. <field name="PCO" length="2" type="string"/>
  1139. <field name="NUM_PRJ" length="1" type="integer" minval="0" maxval="9"/>
  1140. <loop counter="NUM_PRJ" md_prefix="PRJ%d" name="PRJ">
  1141. <field name="" longname="PRJ" length="15" type="string"/>
  1142. </loop>
  1143. <field name="XOR" length="15" type="integer" minval="0"/>
  1144. <field name="YOR" length="15" type="integer" minval="0"/>
  1145. </tre>
  1146. <!-- RPC00A and RPC00B differ by the order of coefficients. See NITFReadRPC00B() -->
  1147. <tre name="RPC00A" length="1041" location="image">
  1148. <field name="SUCCESS" length="1" type="string" fixed_value="1"/>
  1149. <field name="ERR_BIAS" length="7" unit="meters" type="real" minval="0000.00" maxval="9999.99"/>
  1150. <field name="ERR_RAND" length="7" unit="meters" type="real" minval="0000.00" maxval="9999.99"/>
  1151. <field name="LINE_OFF" length="6" unit="pixels" type="integer"/>
  1152. <field name="SAMP_OFF" length="5" unit="pixels" type="integer"/>
  1153. <field name="LAT_OFF" length="8" unit="degrees" type="real" minval="-90.0" maxval="90.0"/>
  1154. <field name="LONG_OFF" length="9" unit="degrees" type="real" minval="-180.0" maxval="180.0"/>
  1155. <field name="HEIGHT_OFF" length="5" unit="meters" type="integer" minval="-9999" maxval="9999"/>
  1156. <field name="LINE_SCALE" length="6" unit="pixels" type="integer" minval="1" maxval="999999"/>
  1157. <field name="SAMP_SCALE" length="5" unit="pixels" type="integer" minval="1" maxval="99999"/>
  1158. <field name="LAT_SCALE" length="8" unit="degrees" type="real" minval="-90.0" maxval="90.0"/>
  1159. <field name="LONG_SCALE" length="9" unit="degrees" type="real" minval="-180.0" maxval="180.0"/>
  1160. <field name="HEIGHT_SCALE" length="5" unit="meters" type="integer" minval="-9999" maxval="9999"/>
  1161. <loop iterations="20" md_prefix="LINE_NUM_COEFF_%02d" name="LINE_NUM_COEFF">
  1162. <field name="" longname="LINE_NUM_COEFF" length="12" type="real"/>
  1163. </loop>
  1164. <loop iterations="20" md_prefix="LINE_DEN_COEFF_%02d" name="LINE_DEN_COEFF">
  1165. <field name="" longname="LINE_DEN_COEFF" length="12" type="real"/>
  1166. </loop>
  1167. <loop iterations="20" md_prefix="SAMP_NUM_COEFF_%02d" name="SAMP_NUM_COEFF">
  1168. <field name="" longname="SAMP_NUM_COEFF" length="12" type="real"/>
  1169. </loop>
  1170. <loop iterations="20" md_prefix="SAMP_DEN_COEFF_%02d" name="SAMP_DEN_COEFF">
  1171. <field name="" longname="SAMP_DEN_COEFF" length="12" type="real"/>
  1172. </loop>
  1173. </tre>
  1174. <tre name="RPC00B" length="1041" location="image">
  1175. <field name="SUCCESS" length="1" type="string" fixed_value="1"/>
  1176. <field name="ERR_BIAS" length="7" unit="meters" type="real" minval="0000.00" maxval="9999.99"/>
  1177. <field name="ERR_RAND" length="7" unit="meters" type="real" minval="0000.00" maxval="9999.99"/>
  1178. <field name="LINE_OFF" length="6" unit="pixels" type="integer"/>
  1179. <field name="SAMP_OFF" length="5" unit="pixels" type="integer"/>
  1180. <field name="LAT_OFF" length="8" unit="degrees" type="real" minval="-90.0" maxval="90.0"/>
  1181. <field name="LONG_OFF" length="9" unit="degrees" type="real" minval="-180.0" maxval="180.0"/>
  1182. <field name="HEIGHT_OFF" length="5" unit="meters" type="integer" minval="-9999" maxval="9999"/>
  1183. <field name="LINE_SCALE" length="6" unit="pixels" type="integer" minval="1" maxval="999999"/>
  1184. <field name="SAMP_SCALE" length="5" unit="pixels" type="integer" minval="1" maxval="99999"/>
  1185. <field name="LAT_SCALE" length="8" unit="degrees" type="real" minval="-90.0" maxval="90.0"/>
  1186. <field name="LONG_SCALE" length="9" unit="degrees" type="real" minval="-180.0" maxval="180.0"/>
  1187. <field name="HEIGHT_SCALE" length="5" unit="meters" type="integer" minval="-9999" maxval="9999"/>
  1188. <loop iterations="20" md_prefix="LINE_NUM_COEFF_%02d" name="LINE_NUM_COEFF">
  1189. <field name="" longname="LINE_NUM_COEFF" length="12" type="real"/>
  1190. </loop>
  1191. <loop iterations="20" md_prefix="LINE_DEN_COEFF_%02d" name="LINE_DEN_COEFF">
  1192. <field name="" longname="LINE_DEN_COEFF" length="12" type="real"/>
  1193. </loop>
  1194. <loop iterations="20" md_prefix="SAMP_NUM_COEFF_%02d" name="SAMP_NUM_COEFF">
  1195. <field name="" longname="SAMP_NUM_COEFF" length="12" type="real"/>
  1196. </loop>
  1197. <loop iterations="20" md_prefix="SAMP_DEN_COEFF_%02d" name="SAMP_DEN_COEFF">
  1198. <field name="" longname="SAMP_DEN_COEFF" length="12" type="real"/>
  1199. </loop>
  1200. </tre>
  1201. <!-- Table 68 of http://earth-info.nga.mil/publications/specs/printed/89034/89034DPPDB.pdf -->
  1202. <tre name="IMASDA" length="242" location="image">
  1203. <field name="LONTR" length="22" type="real" unit="degrees" minval="-180.0" maxval="180.0"/>
  1204. <field name="LATTR" length="22" type="real" unit="degrees" minval="-90.0" maxval="90.0"/>
  1205. <field name="ELVTR" length="22" type="real" unit="meters" minval="-1000.0" maxval="10000.0"/>
  1206. <field name="LONSC" length="22" type="real" minval="0.0" maxval="100.0"/>
  1207. <field name="LATSC" length="22" type="real" minval="0.0" maxval="100.0"/>
  1208. <field name="ELVSC" length="22" type="real" minval="0.0" maxval="100.0"/>
  1209. <field name="XITR" length="22" type="real" unit="pixels" minval="-10000.0" maxval="10000.0"/>
  1210. <field name="YITR" length="22" type="real" unit="pixels" minval="-10000.0" maxval="10000.0"/>
  1211. <field name="XISC" length="22" type="real" minval="0.0" maxval="100.0"/>
  1212. <field name="YISC" length="22" type="real" minval="0.0" maxval="100.0"/>
  1213. <field name="DELEV" length="22" type="real" unit="meters" minval="-1000.0" maxval="10000.0"/>
  1214. </tre>
  1215. <!-- Table 69 of http://earth-info.nga.mil/publications/specs/printed/89034/89034DPPDB.pdf -->
  1216. <tre name="IMRFCA" length="1760" location="image">
  1217. <loop iterations="20" name="XINC">
  1218. <field name="" longname="XINC" length="22" type="real"/>
  1219. </loop>
  1220. <loop iterations="20" name="XIDC">
  1221. <field name="" longname="XIDC" length="22" type="real"/>
  1222. </loop>
  1223. <loop iterations="20" name="YINC">
  1224. <field name="" longname="YINC" length="22" type="real"/>
  1225. </loop>
  1226. <loop iterations="20" name="YIDC">
  1227. <field name="" longname="YIDC" length="22" type="real"/>
  1228. </loop>
  1229. </tre>
  1230. <tre name="RSMAPA" minlength="507" maxlength="1243" location="image">
  1231. <field name="IID" length="80" type="string"/>
  1232. <field name="EDITION" length="40" type="string"/>
  1233. <field name="TID" length="40" type="string"/>
  1234. <field name="NPAR" length="2" type="integer" minval="1" maxval="36"/>
  1235. <field name="XUOL" length="21" type="real" unit="meters"/>
  1236. <field name="YUOL" length="21" type="real" unit="meters"/>
  1237. <field name="ZUOL" length="21" type="real" unit="meters"/>
  1238. <field name="XUXL" length="21" type="real"/>
  1239. <field name="XUYL" length="21" type="real"/>
  1240. <field name="XUZL" length="21" type="real"/>
  1241. <field name="YUXL" length="21" type="real"/>
  1242. <field name="YUYL" length="21" type="real"/>
  1243. <field name="YUZL" length="21" type="real"/>
  1244. <field name="ZUXL" length="21" type="real"/>
  1245. <field name="ZUYL" length="21" type="real"/>
  1246. <field name="ZUZL" length="21" type="real"/>
  1247. <field name="IRO" length="2" type="integer" minval="1" maxval="36"/>
  1248. <field name="IRX" length="2" type="integer" minval="1" maxval="36"/>
  1249. <field name="IRY" length="2" type="integer" minval="1" maxval="36"/>
  1250. <field name="IRZ" length="2" type="integer" minval="1" maxval="36"/>
  1251. <field name="IRXX" length="2" type="integer" minval="1" maxval="36"/>
  1252. <field name="IRXY" length="2" type="integer" minval="1" maxval="36"/>
  1253. <field name="IRXZ" length="2" type="integer" minval="1" maxval="36"/>
  1254. <field name="IRYY" length="2" type="integer" minval="1" maxval="36"/>
  1255. <field name="IRYZ" length="2" type="integer" minval="1" maxval="36"/>
  1256. <field name="IRZZ" length="2" type="integer" minval="1" maxval="36"/>
  1257. <field name="IC0" length="2" type="integer" minval="1" maxval="36"/>
  1258. <field name="ICX" length="2" type="integer" minval="1" maxval="36"/>
  1259. <field name="ICY" length="2" type="integer" minval="1" maxval="36"/>
  1260. <field name="ICZ" length="2" type="integer" minval="1" maxval="36"/>
  1261. <field name="ICXX" length="2" type="integer" minval="1" maxval="36"/>
  1262. <field name="ICXY" length="2" type="integer" minval="1" maxval="36"/>
  1263. <field name="ICXZ" length="2" type="integer" minval="1" maxval="36"/>
  1264. <field name="ICYY" length="2" type="integer" minval="1" maxval="36"/>
  1265. <field name="ICYZ" length="2" type="integer" minval="1" maxval="36"/>
  1266. <field name="ICZZ" length="2" type="integer" minval="1" maxval="36"/>
  1267. <field name="GXO" length="2" type="integer" minval="1" maxval="36"/>
  1268. <field name="GYO" length="2" type="integer" minval="1" maxval="36"/>
  1269. <field name="GZO" length="2" type="integer" minval="1" maxval="36"/>
  1270. <field name="GXR" length="2" type="integer" minval="1" maxval="36"/>
  1271. <field name="GYR" length="2" type="integer" minval="1" maxval="36"/>
  1272. <field name="GZR" length="2" type="integer" minval="1" maxval="36"/>
  1273. <field name="GS" length="2" type="integer" minval="1" maxval="36"/>
  1274. <field name="GXX" length="2" type="integer" minval="1" maxval="36"/>
  1275. <field name="GXY" length="2" type="integer" minval="1" maxval="36"/>
  1276. <field name="GXZ" length="2" type="integer" minval="1" maxval="36"/>
  1277. <field name="GYX" length="2" type="integer" minval="1" maxval="36"/>
  1278. <field name="GYY" length="2" type="integer" minval="1" maxval="36"/>
  1279. <field name="GYZ" length="2" type="integer" minval="1" maxval="36"/>
  1280. <field name="GZX" length="2" type="integer" minval="1" maxval="36"/>
  1281. <field name="GZY" length="2" type="integer" minval="1" maxval="36"/>
  1282. <field name="GZZ" length="2" type="integer" minval="1" maxval="36"/>
  1283. <loop counter="NPAR" md_prefix="PAR_%02d_" name="PAR">
  1284. <field name="PARVAL" length="21" type="real"/>
  1285. </loop>
  1286. </tre>
  1287. <tre name="RSMDCA" minlength="597" maxlength="99988" location="image">
  1288. <field name="IID" length="80" type="string"/>
  1289. <field name="EDITION" length="40" type="string"/>
  1290. <field name="TID" length="40" type="string"/>
  1291. <field name="NPAR" length="2" type="integer" minval="1" maxval="36"/>
  1292. <field name="NIMGE" length="3" type="integer" minval="1" maxval="999"/>
  1293. <field name="NPART" length="5" type="integer" minval="1" maxval="99999"/>
  1294. <loop counter="NIMGE" md_prefix="IMAGEF_%03d_" name="IMAGE">
  1295. <field name="IID" length="80" type="string"/>
  1296. <field name="NPARI" length="2" type="integer" minval="1" maxval="36"/>
  1297. </loop>
  1298. <field name="XUOL" length="21" type="real" unit="meters"/>
  1299. <field name="YUOL" length="21" type="real" unit="meters"/>
  1300. <field name="ZUOL" length="21" type="real" unit="meters"/>
  1301. <field name="XUXL" length="21" type="real"/>
  1302. <field name="XUYL" length="21" type="real"/>
  1303. <field name="XUZL" length="21" type="real"/>
  1304. <field name="YUXL" length="21" type="real"/>
  1305. <field name="YUYL" length="21" type="real"/>
  1306. <field name="YUZL" length="21" type="real"/>
  1307. <field name="ZUXL" length="21" type="real"/>
  1308. <field name="ZUYL" length="21" type="real"/>
  1309. <field name="ZUZL" length="21" type="real"/>
  1310. <field name="IRO" length="2" type="integer" minval="1" maxval="36"/>
  1311. <field name="IRX" length="2" type="integer" minval="1" maxval="36"/>
  1312. <field name="IRY" length="2" type="integer" minval="1" maxval="36"/>
  1313. <field name="IRZ" length="2" type="integer" minval="1" maxval="36"/>
  1314. <field name="IRXX" length="2" type="integer" minval="1" maxval="36"/>
  1315. <field name="IRXY" length="2" type="integer" minval="1" maxval="36"/>
  1316. <field name="IRXZ" length="2" type="integer" minval="1" maxval="36"/>
  1317. <field name="IRYY" length="2" type="integer" minval="1" maxval="36"/>
  1318. <field name="IRYZ" length="2" type="integer" minval="1" maxval="36"/>
  1319. <field name="IRZZ" length="2" type="integer" minval="1" maxval="36"/>
  1320. <field name="IC0" length="2" type="integer" minval="1" maxval="36"/>
  1321. <field name="ICX" length="2" type="integer" minval="1" maxval="36"/>
  1322. <field name="ICY" length="2" type="integer" minval="1" maxval="36"/>
  1323. <field name="ICZ" length="2" type="integer" minval="1" maxval="36"/>
  1324. <field name="ICXX" length="2" type="integer" minval="1" maxval="36"/>
  1325. <field name="ICXY" length="2" type="integer" minval="1" maxval="36"/>
  1326. <field name="ICXZ" length="2" type="integer" minval="1" maxval="36"/>
  1327. <field name="ICYY" length="2" type="integer" minval="1" maxval="36"/>
  1328. <field name="ICYZ" length="2" type="integer" minval="1" maxval="36"/>
  1329. <field name="ICZZ" length="2" type="integer" minval="1" maxval="36"/>
  1330. <field name="GXO" length="2" type="integer" minval="1" maxval="36"/>
  1331. <field name="GYO" length="2" type="integer" minval="1" maxval="36"/>
  1332. <field name="GZO" length="2" type="integer" minval="1" maxval="36"/>
  1333. <field name="GXR" length="2" type="integer" minval="1" maxval="36"/>
  1334. <field name="GYR" length="2" type="integer" minval="1" maxval="36"/>
  1335. <field name="GZR" length="2" type="integer" minval="1" maxval="36"/>
  1336. <field name="GS" length="2" type="integer" minval="1" maxval="36"/>
  1337. <field name="GXX" length="2" type="integer" minval="1" maxval="36"/>
  1338. <field name="GXY" length="2" type="integer" minval="1" maxval="36"/>
  1339. <field name="GXZ" length="2" type="integer" minval="1" maxval="36"/>
  1340. <field name="GYX" length="2" type="integer" minval="1" maxval="36"/>
  1341. <field name="GYY" length="2" type="integer" minval="1" maxval="36"/>
  1342. <field name="GYZ" length="2" type="integer" minval="1" maxval="36"/>
  1343. <field name="GZX" length="2" type="integer" minval="1" maxval="36"/>
  1344. <field name="GZY" length="2" type="integer" minval="1" maxval="36"/>
  1345. <field name="GZZ" length="2" type="integer" minval="1" maxval="36"/>
  1346. <loop formula="(NPART+1)*(NPART)/2" name="DERCOV" md_prefix="DERCOV_%05d"> <!--Warning: this condition is currently hardcoded in the interpreter -->
  1347. <field name="" longname="DERCOV" length="21" type="real"/>
  1348. </loop>
  1349. </tre>
  1350. <tre name="RSMECA" minlength="354" maxlength="42864" location="image">
  1351. <field name="IID" length="80" type="string"/>
  1352. <field name="EDITION" length="40" type="string"/>
  1353. <field name="TID" length="40" type="string"/>
  1354. <field name="INCLIC" length="1" type="string"/>
  1355. <field name="INCLUC" length="1" type="string"/>
  1356. <if cond="INCLIC=Y">
  1357. <field name="NPAR" length="2" type="integer" minval="1" maxval="36"/>
  1358. <field name="NPARO" length="2" type="integer" minval="1" maxval="36"/>
  1359. <field name="IGN" length="2" type="integer" minval="1" maxval="36"/>
  1360. <field name="CVDATE" length="8" type="string"/>
  1361. <field name="XUOL" length="21" type="real" unit="meters"/>
  1362. <field name="YUOL" length="21" type="real" unit="meters"/>
  1363. <field name="ZUOL" length="21" type="real" unit="meters"/>
  1364. <field name="XUXL" length="21" type="real"/>
  1365. <field name="XUYL" length="21" type="real"/>
  1366. <field name="XUZL" length="21" type="real"/>
  1367. <field name="YUXL" length="21" type="real"/>
  1368. <field name="YUYL" length="21" type="real"/>
  1369. <field name="YUZL" length="21" type="real"/>
  1370. <field name="ZUXL" length="21" type="real"/>
  1371. <field name="ZUYL" length="21" type="real"/>
  1372. <field name="ZUZL" length="21" type="real"/>
  1373. <field name="IRO" length="2" type="integer" minval="1" maxval="36"/>
  1374. <field name="IRX" length="2" type="integer" minval="1" maxval="36"/>
  1375. <field name="IRY" length="2" type="integer" minval="1" maxval="36"/>
  1376. <field name="IRZ" length="2" type="integer" minval="1" maxval="36"/>
  1377. <field name="IRXX" length="2" type="integer" minval="1" maxval="36"/>
  1378. <field name="IRXY" length="2" type="integer" minval="1" maxval="36"/>
  1379. <field name="IRXZ" length="2" type="integer" minval="1" maxval="36"/>
  1380. <field name="IRYY" length="2" type="integer" minval="1" maxval="36"/>
  1381. <field name="IRYZ" length="2" type="integer" minval="1" maxval="36"/>
  1382. <field name="IRZZ" length="2" type="integer" minval="1" maxval="36"/>
  1383. <field name="IC0" length="2" type="integer" minval="1" maxval="36"/>
  1384. <field name="ICX" length="2" type="integer" minval="1" maxval="36"/>
  1385. <field name="ICY" length="2" type="integer" minval="1" maxval="36"/>
  1386. <field name="ICZ" length="2" type="integer" minval="1" maxval="36"/>
  1387. <field name="ICXX" length="2" type="integer" minval="1" maxval="36"/>
  1388. <field name="ICXY" length="2" type="integer" minval="1" maxval="36"/>
  1389. <field name="ICXZ" length="2" type="integer" minval="1" maxval="36"/>
  1390. <field name="ICYY" length="2" type="integer" minval="1" maxval="36"/>
  1391. <field name="ICYZ" length="2" type="integer" minval="1" maxval="36"/>
  1392. <field name="ICZZ" length="2" type="integer" minval="1" maxval="36"/>
  1393. <field name="GXO" length="2" type="integer" minval="1" maxval="36"/>
  1394. <field name="GYO" length="2" type="integer" minval="1" maxval="36"/>
  1395. <field name="GZO" length="2" type="integer" minval="1" maxval="36"/>
  1396. <field name="GXR" length="2" type="integer" minval="1" maxval="36"/>
  1397. <field name="GYR" length="2" type="integer" minval="1" maxval="36"/>
  1398. <field name="GZR" length="2" type="integer" minval="1" maxval="36"/>
  1399. <field name="GS" length="2" type="integer" minval="1" maxval="36"/>
  1400. <field name="GXX" length="2" type="integer" minval="1" maxval="36"/>
  1401. <field name="GXY" length="2" type="integer" minval="1" maxval="36"/>
  1402. <field name="GXZ" length="2" type="integer" minval="1" maxval="36"/>
  1403. <field name="GYX" length="2" type="integer" minval="1" maxval="36"/>
  1404. <field name="GYY" length="2" type="integer" minval="1" maxval="36"/>
  1405. <field name="GYZ" length="2" type="integer" minval="1" maxval="36"/>
  1406. <field name="GZX" length="2" type="integer" minval="1" maxval="36"/>
  1407. <field name="GZY" length="2" type="integer" minval="1" maxval="36"/>
  1408. <field name="GZZ" length="2" type="integer" minval="1" maxval="36"/>
  1409. <loop counter="IGN" name="IG" md_prefix="IG_%02d_">
  1410. <field name="NUMOPG" length="2" type="integer" minval="1" maxval="36"/>
  1411. <loop formula="(NUMOPG+1)*(NUMOPG)/2" name="EG" md_prefix="EG_%02d"> <!--Warning: this condition is currently hardcoded in the interpreter -->
  1412. <field name="" longname="ERRCVG" length="21" type="real"/>
  1413. </loop>
  1414. <field name="TCDF" length="1" type="integer" minval="0" maxval="2"/>
  1415. <field name="NCSEG" length="1" type="integer" minval="2" maxval="9"/>
  1416. <loop counter="NCSEG" name="CORSEG" md_prefix="CORSEG_%d_">
  1417. <field name="CORSEG" length="21" type="real"/>
  1418. <field name="TAUSEG" length="21" type="real" unit="seconds"/>
  1419. </loop>
  1420. </loop>
  1421. <loop formula="NPAR*NPARO" name="MAP" md_prefix="MAP_%04d"> <!--Warning: this condition is currently hardcoded in the interpreter -->
  1422. <field name="" longname="MAP" length="21" type="real"/>
  1423. </loop>
  1424. </if>
  1425. <if cond="INCLUC=Y">
  1426. <field name="URR" length="21" type="real" unit="pixel^2"/>
  1427. <field name="URC" length="21" type="real" unit="pixel^2"/>
  1428. <field name="UCC" length="21" type="real" unit="pixel^2"/>
  1429. <field name="UNCSR" length="1" type="integer" minval="2" maxval="9"/>
  1430. <loop counter="UNCSR" name="CORSR" md_prefix="CORSR_%d_">
  1431. <field name="UCORSR" length="21" type="real"/>
  1432. <field name="UTAUSR" length="21" type="real" unit="pixels"/>
  1433. </loop>
  1434. <field name="UNCSC" length="1" type="integer" minval="2" maxval="9"/>
  1435. <loop counter="UNCSC" name="CORSC" md_prefix="CORSC_%d_">
  1436. <field name="UCORSC" length="21" type="real"/>
  1437. <field name="UTAUSC" length="21" type="real" unit="pixels"/>
  1438. </loop>
  1439. </if>
  1440. </tre>
  1441. <tre name="RSMGGA" minlength="390" maxlength="99988" location="image">
  1442. <field name="IID" length="80" type="string"/>
  1443. <field name="EDITION" length="40" type="string"/>
  1444. <field name="GGRSN" length="3" type="integer" minval="1" maxval="256"/>
  1445. <field name="GGCSN" length="3" type="integer" minval="1" maxval="256"/>
  1446. <field name="GGRFEP" length="21" type="real"/>
  1447. <field name="GGCFEP" length="21" type="real"/>
  1448. <field name="INTORD" length="1" type="integer" minval="0" maxval="3"/>
  1449. <field name="NPLN" length="3" type="integer" minval="2" maxval="999"/>
  1450. <field name="DELTAZ" length="21" type="real"/>
  1451. <field name="DELTAX" length="21" type="real"/>
  1452. <field name="DELTAY" length="21" type="real"/>
  1453. <field name="ZPLN1" length="21" type="real"/>
  1454. <field name="XIPLN1" length="21" type="real"/>
  1455. <field name="YIPLN1" length="21" type="real"/>
  1456. <field name="REFROW" length="9" type="integer"/>
  1457. <field name="REFCOL" length="9" type="integer"/>
  1458. <field name="TNUMRD" length="2" type="integer" minval="3" maxval="31"/>
  1459. <field name="TNUMCD" length="2" type="integer" minval="3" maxval="31"/>
  1460. <field name="FNUMRD" length="1" type="integer" minval="1" maxval="3"/>
  1461. <field name="FNUMCD" length="1" type="integer" minval="1" maxval="3"/>
  1462. <loop formula="NPLN-1" name="IG" md_prefix="IG_%03d_"> <!--Warning: this condition is currently hardcoded in the interpreter -->
  1463. <field name="IXO" length="4" type="integer"/>
  1464. <field name="IYO" length="4" type="integer"/>
  1465. </loop>
  1466. <loop counter="NPLN" name="GP" md_prefix="GP_%03d_">
  1467. <field name="NXPTS" length="3" type="integer" minval="2"/>
  1468. <field name="NYPTS" length="3" type="integer" minval="2"/>
  1469. <loop formula="NXPTS*NYPTS" name="GPCOORD" md_prefix="GPCOORD_%06d_"> <!--Warning: this condition is currently hardcoded in the interpreter -->
  1470. <field name="RCOORD" length_var="TNUMRD" type="integer"/>
  1471. <field name="CCOORD" length_var="TNUMCD" type="integer"/>
  1472. </loop>
  1473. </loop>
  1474. </tre>
  1475. <tre name="RSMGIA" length="591" location="image">
  1476. <field name="IID" length="80" type="string"/>
  1477. <field name="EDITION" length="40" type="string"/>
  1478. <field name="GR0" length="21" type="real"/>
  1479. <field name="GRX" length="21" type="real"/>
  1480. <field name="GRY" length="21" type="real"/>
  1481. <field name="GRZ" length="21" type="real"/>
  1482. <field name="GRXX" length="21" type="real"/>
  1483. <field name="GRXY" length="21" type="real"/>
  1484. <field name="GRXZ" length="21" type="real"/>
  1485. <field name="GRYY" length="21" type="real"/>
  1486. <field name="GRYZ" length="21" type="real"/>
  1487. <field name="GRZZ" length="21" type="real"/>
  1488. <field name="GC0" length="21" type="real"/>
  1489. <field name="GCX" length="21" type="real"/>
  1490. <field name="GCY" length="21" type="real"/>
  1491. <field name="GCZ" length="21" type="real"/>
  1492. <field name="GCXX" length="21" type="real"/>
  1493. <field name="GCXY" length="21" type="real"/>
  1494. <field name="GCXZ" length="21" type="real"/>
  1495. <field name="GCYY" length="21" type="real"/>
  1496. <field name="GCYZ" length="21" type="real"/>
  1497. <field name="GCZZ" length="21" type="real"/>
  1498. <field name="GRNIS" length="3" type="integer"/>
  1499. <field name="GCNIS" length="3" type="integer"/>
  1500. <field name="GTNIS" length="3" type="integer"/>
  1501. <field name="GRSSIZ" length="21" type="real"/>
  1502. <field name="GCSSIZ" length="21" type="real"/>
  1503. </tre>
  1504. <tre name="RSMIDA" length="1628" location="image">
  1505. <field name="IID" length="80" type="string"/>
  1506. <field name="EDITION" length="40" type="string"/>
  1507. <field name="ISID" length="40" type="string"/>
  1508. <field name="SID" length="40" type="string"/>
  1509. <field name="STID" length="40" type="string"/>
  1510. <field name="YEAR" length="4" type="integer"/>
  1511. <field name="MONTH" length="2" type="integer"/>
  1512. <field name="DAY" length="2" type="integer"/>
  1513. <field name="HOUR" length="2" type="integer"/>
  1514. <field name="MINUTE" length="2" type="integer"/>
  1515. <field name="SECOND" length="9" type="real"/>
  1516. <field name="NRG" length="8" type="integer" unit="pixels" minval="1" maxval="99999999"/>
  1517. <field name="NCG" length="8" type="integer" unit="pixels" minval="1" maxval="99999999"/>
  1518. <field name="TRG" length="21" type="real" unit="seconds"/>
  1519. <field name="TCG" length="21" type="real" unit="seconds"/>
  1520. <field name="GRNDD" length="1" type="string"/>
  1521. <field name="XUOR" length="21" type="real" unit="meters"/>
  1522. <field name="YUOR" length="21" type="real" unit="meters"/>
  1523. <field name="ZUOR" length="21" type="real" unit="meters"/>
  1524. <field name="XUXR" length="21" type="real"/>
  1525. <field name="XUYR" length="21" type="real"/>
  1526. <field name="XUZR" length="21" type="real"/>
  1527. <field name="YUXR" length="21" type="real"/>
  1528. <field name="YUYR" length="21" type="real"/>
  1529. <field name="YUZR" length="21" type="real"/>
  1530. <field name="ZUXR" length="21" type="real"/>
  1531. <field name="ZUYR" length="21" type="real"/>
  1532. <field name="ZUZR" length="21" type="real"/>
  1533. <field name="V1X" length="21" type="real"/>
  1534. <field name="V1Y" length="21" type="real"/>
  1535. <field name="V1Z" length="21" type="real"/>
  1536. <field name="V2X" length="21" type="real"/>
  1537. <field name="V2Y" length="21" type="real"/>
  1538. <field name="V2Z" length="21" type="real"/>
  1539. <field name="V3X" length="21" type="real"/>
  1540. <field name="V3Y" length="21" type="real"/>
  1541. <field name="V3Z" length="21" type="real"/>
  1542. <field name="V4X" length="21" type="real"/>
  1543. <field name="V4Y" length="21" type="real"/>
  1544. <field name="V4Z" length="21" type="real"/>
  1545. <field name="V5X" length="21" type="real"/>
  1546. <field name="V5Y" length="21" type="real"/>
  1547. <field name="V5Z" length="21" type="real"/>
  1548. <field name="V6X" length="21" type="real"/>
  1549. <field name="V6Y" length="21" type="real"/>
  1550. <field name="V6Z" length="21" type="real"/>
  1551. <field name="V7X" length="21" type="real"/>
  1552. <field name="V7Y" length="21" type="real"/>
  1553. <field name="V7Z" length="21" type="real"/>
  1554. <field name="V8X" length="21" type="real"/>
  1555. <field name="V8Y" length="21" type="real"/>
  1556. <field name="V8Z" length="21" type="real"/>
  1557. <field name="GRPX" length="21" type="real"/>
  1558. <field name="GRPY" length="21" type="real"/>
  1559. <field name="GRPZ" length="21" type="real"/>
  1560. <field name="FULLR" length="8" type="integer" unit="pixels" minval="1" maxval="99999999"/>
  1561. <field name="FULLC" length="8" type="integer" unit="pixels" minval="1" maxval="99999999"/>
  1562. <field name="MINR" length="8" type="integer" unit="pixels" minval="0" maxval="99999999"/>
  1563. <field name="MAXR" length="8" type="integer" unit="pixels" minval="0" maxval="99999999"/>
  1564. <field name="MINC" length="8" type="integer" unit="pixels" minval="0" maxval="99999999"/>
  1565. <field name="MAXC" length="8" type="integer" unit="pixels" minval="0" maxval="99999999"/>
  1566. <field name="IE0" length="21" type="real" unit="radians"/>
  1567. <field name="IER" length="21" type="real"/>
  1568. <field name="IEC" length="21" type="real"/>
  1569. <field name="IERR" length="21" type="real"/>
  1570. <field name="IERC" length="21" type="real"/>
  1571. <field name="IECC" length="21" type="real"/>
  1572. <field name="IA0" length="21" type="real" unit="radians"/>
  1573. <field name="IAR" length="21" type="real"/>
  1574. <field name="IAC" length="21" type="real"/>
  1575. <field name="IARR" length="21" type="real"/>
  1576. <field name="IARC" length="21" type="real"/>
  1577. <field name="IACC" length="21" type="real"/>
  1578. <field name="SPX" length="21" type="real"/>
  1579. <field name="SVX" length="21" type="real"/>
  1580. <field name="SAX" length="21" type="real"/>
  1581. <field name="SPY" length="21" type="real"/>
  1582. <field name="SVY" length="21" type="real"/>
  1583. <field name="SAY" length="21" type="real"/>
  1584. <field name="SPZ" length="21" type="real"/>
  1585. <field name="SVZ" length="21" type="real"/>
  1586. <field name="SAZ" length="21" type="real"/>
  1587. </tre>
  1588. <tre name="RSMPCA" minlength="486" maxlength="18546" location="image">
  1589. <field name="IID" length="80" type="string"/>
  1590. <field name="EDITION" length="40" type="string"/>
  1591. <field name="RSN" length="3" type="integer" minval="1" maxval="256"/>
  1592. <field name="CSN" length="3" type="integer" minval="1" maxval="256"/>
  1593. <field name="RFEP" length="21" type="real"/>
  1594. <field name="CFEP" length="21" type="real"/>
  1595. <field name="RNRMO" length="21" type="real"/>
  1596. <field name="CNRMO" length="21" type="real"/>
  1597. <field name="XNRMO" length="21" type="real"/>
  1598. <field name="YNRMO" length="21" type="real"/>
  1599. <field name="ZNRMO" length="21" type="real"/>
  1600. <field name="RNRMSF" length="21" type="real"/>
  1601. <field name="CNRMSF" length="21" type="real"/>
  1602. <field name="XNRMSF" length="21" type="real"/>
  1603. <field name="YNRMSF" length="21" type="real"/>
  1604. <field name="ZNRMSF" length="21" type="real"/>
  1605. <field name="RNPWRX" length="1" type="integer" minval="0" maxval="5"/>
  1606. <field name="RNPWRY" length="1" type="integer" minval="0" maxval="5"/>
  1607. <field name="RNPWRZ" length="1" type="integer" minval="0" maxval="5"/>
  1608. <field name="RNTRMS" length="3" type="integer" minval="1" maxval="216"/>
  1609. <loop counter="RNTRMS" name="RNPCF" md_prefix="RNPCF_%03d">
  1610. <field name="" longname="RNPCF" length="21" type="real"/>
  1611. </loop>
  1612. <field name="RDPWRX" length="1" type="integer" minval="0" maxval="5"/>
  1613. <field name="RDPWRY" length="1" type="integer" minval="0" maxval="5"/>
  1614. <field name="RDPWRZ" length="1" type="integer" minval="0" maxval="5"/>
  1615. <field name="RDTRMS" length="3" type="integer" minval="1" maxval="216"/>
  1616. <loop counter="RDTRMS" name="RDPCF" md_prefix="RDPCF_%03d">
  1617. <field name="" longname="RDPCF" length="21" type="real"/>
  1618. </loop>
  1619. <field name="CNPWRX" length="1" type="integer" minval="0" maxval="5"/>
  1620. <field name="CNPWRY" length="1" type="integer" minval="0" maxval="5"/>
  1621. <field name="CNPWRZ" length="1" type="integer" minval="0" maxval="5"/>
  1622. <field name="CNTRMS" length="3" type="integer" minval="1" maxval="216"/>
  1623. <loop counter="CNTRMS" name="CNPCF" md_prefix="CNPCF_%03d">
  1624. <field name="" longname="CNPCF" length="21" type="real"/>
  1625. </loop>
  1626. <field name="CDPWRX" length="1" type="integer" minval="0" maxval="5"/>
  1627. <field name="CDPWRY" length="1" type="integer" minval="0" maxval="5"/>
  1628. <field name="CDPWRZ" length="1" type="integer" minval="0" maxval="5"/>
  1629. <field name="CDTRMS" length="3" type="integer" minval="1" maxval="216"/>
  1630. <loop counter="CDTRMS" name="CDPCF" md_prefix="CDPCF_%03d">
  1631. <field name="" longname="CDPCF" length="21" type="real"/>
  1632. </loop>
  1633. </tre>
  1634. <tre name="RSMPIA" length="591" location="image">
  1635. <field name="IID" length="80" type="string"/>
  1636. <field name="EDITION" length="40" type="string"/>
  1637. <field name="R0" length="21" type="real"/>
  1638. <field name="RX" length="21" type="real"/>
  1639. <field name="RY" length="21" type="real"/>
  1640. <field name="RZ" length="21" type="real"/>
  1641. <field name="RXX" length="21" type="real"/>
  1642. <field name="RXY" length="21" type="real"/>
  1643. <field name="RXZ" length="21" type="real"/>
  1644. <field name="RYY" length="21" type="real"/>
  1645. <field name="RYZ" length="21" type="real"/>
  1646. <field name="RZZ" length="21" type="real"/>
  1647. <field name="C0" length="21" type="real"/>
  1648. <field name="CX" length="21" type="real"/>
  1649. <field name="CY" length="21" type="real"/>
  1650. <field name="CZ" length="21" type="real"/>
  1651. <field name="CXX" length="21" type="real"/>
  1652. <field name="CXY" length="21" type="real"/>
  1653. <field name="CXZ" length="21" type="real"/>
  1654. <field name="CYY" length="21" type="real"/>
  1655. <field name="CYZ" length="21" type="real"/>
  1656. <field name="CZZ" length="21" type="real"/>
  1657. <field name="RNIS" length="3" type="integer"/>
  1658. <field name="CNIS" length="3" type="integer"/>
  1659. <field name="TNIS" length="3" type="integer"/>
  1660. <field name="RSSIZ" length="21" type="real"/>
  1661. <field name="CSSIZ" length="21" type="real"/>
  1662. </tre>
  1663. <tre name="SENSRB" location="image">
  1664. <field name="GENERAL_DATA" length="1" type="string"/>
  1665. <if cond="GENERAL_DATA=Y">
  1666. <field name="SENSOR" length="25" type="string"/>
  1667. <field name="SENSOR_URI" length="32" type="string"/>
  1668. <field name="PLATFORM" length="25" type="string"/>
  1669. <field name="PLATFORM_URI" length="32" type="string"/>
  1670. <field name="OPERATION_DOMAIN" length="10" type="string"/>
  1671. <field name="CONTENT_LEVEL" length="1" type="integer" minval="0" maxval="9"/>
  1672. <field name="GEODETIC_SYSTEM" length="5" type="string"/>
  1673. <field name="GEODETIC_TYPE" length="1" type="string"/>
  1674. <field name="ELEVATION_DATUM" length="3" type="string"/>
  1675. <field name="LENGTH_UNIT" length="2" type="string"/>
  1676. <field name="ANGULAR_UNIT" length="3" type="string"/>
  1677. <field name="START_DATE" length="8" type="string"/>
  1678. <field name="START_TIME" length="14" type="real" minval="0.0" maxval="86399.99999999"/>
  1679. <field name="END_DATE" length="8" type="string"/>
  1680. <field name="END_TIME" length="14" type="real" minval="0.0" maxval="86399.99999999"/>
  1681. <field name="GENERATION_COUNT" length="2" type="integer" minval="0" maxval="99"/>
  1682. <field name="GENERATION_DATE" length="8" type="string"/>
  1683. <field name="GENERATION_TIME" length="10" type="string"/>
  1684. </if>
  1685. <field name="SENSOR_ARRAY_DATA" length="1" type="string"/>
  1686. <if cond="SENSOR_ARRAY_DATA=Y">
  1687. <field name="DETECTION" length="20" type="string"/>
  1688. <field name="ROW_DETECTORS" length="8" type="integer"/>
  1689. <field name="COLUMN_DETECTORS" length="8" type="integer"/>
  1690. <field name="ROW_METRIC" length="8" type="string"/>
  1691. <field name="COLUMN_METRIC" length="8" type="string"/>
  1692. <field name="FOCAL_LENGTH" length="8" type="string"/>
  1693. <field name="ROW_FOV" length="8" type="string"/>
  1694. <field name="COLUMN_FOV" length="8" type="string"/>
  1695. <field name="CALIBRATED" length="1" type="string"/>
  1696. </if>
  1697. <field name="SENSOR_CALIBRATION_DATA" length="1" type="string"/>
  1698. <if cond="SENSOR_CALIBRATION_DATA=Y">
  1699. <field name="CALIBRATION_UNIT" length="2" type="string"/>
  1700. <field name="PRINCIPAL_POINT_OFFSET_X" length="9" type="string"/>
  1701. <field name="PRINCIPAL_POINT_OFFSET_Y" length="9" type="string"/>
  1702. <field name="RADIAL_DISTORT_1" length="12" type="string"/>
  1703. <field name="RADIAL_DISTORT_2" length="12" type="string"/>
  1704. <field name="RADIAL_DISTORT_3" length="12" type="string"/>
  1705. <field name="RADIAL_DISTORT_LIMIT" length="9" type="string"/>
  1706. <field name="DECENT_DISTORT_1" length="12" type="string"/>
  1707. <field name="DECENT_DISTORT_2" length="12" type="string"/>
  1708. <field name="AFFINITY_DISTORT_1" length="12" type="string"/>
  1709. <field name="AFFINITY_DISTORT_2" length="12" type="string"/>
  1710. <field name="CALIBRATION_DATE" length="8" type="string"/>
  1711. </if>
  1712. <field name="IMAGE_FORMATION_DATA" length="1" type="string"/>
  1713. <if cond="IMAGE_FORMATION_DATA=Y">
  1714. <field name="METHOD" length="15" type="string"/>
  1715. <field name="MODE" length="3" type="string"/>
  1716. <field name="ROW_COUNT" length="8" type="integer" minval="1" maxval="99999999"/>
  1717. <field name="COLUMN_COUNT" length="8" type="integer" minval="1" maxval="99999999"/>
  1718. <field name="ROW_SET" length="8" type="integer"/>
  1719. <field name="COLUMN_SET" length="8" type="integer"/>
  1720. <field name="ROW_RATE" length="10" type="real"/>
  1721. <field name="COLUMN_RATE" length="10" type="real"/>
  1722. <field name="FIRST_PIXEL_ROW" length="8" type="integer" minval="0" maxval="99999999"/>
  1723. <field name="FIRST_PIXEL_COLUMN" length="8" type="integer" minval="0" maxval="99999999"/>
  1724. <field name="TRANSFORM_PARAMS" length="1" type="integer" minval="0" maxval="8"/>
  1725. <loop counter="TRANSFORM_PARAMS" name="TRANSFORM_PARAM" md_prefix="TRANSFORM_PARAM_%d_">
  1726. <field name="" longname="TRANSFORM_PARAM" length="12" type="string"/>
  1727. </loop>
  1728. </if>
  1729. <field name="REFERENCE_TIME" length="12" type="string"/>
  1730. <field name="REFERENCE_ROW" length="8" type="string"/>
  1731. <field name="REFERENCE_COLUMN" length="8" type="string"/>
  1732. <field name="LATITUDE_OR_X" length="11" type="string"/>
  1733. <field name="LONGITUDE_OR_Y" length="12" type="string"/>
  1734. <field name="ALTITUDE_OR_Z" length="11" type="string"/>
  1735. <field name="SENSOR_X_OFFSET" length="8" type="integer"/>
  1736. <field name="SENSOR_Y_OFFSET" length="8" type="integer"/>
  1737. <field name="SENSOR_Z_OFFSET" length="8" type="integer"/>
  1738. <field name="ATTITUDE_EULER_ANGLES" length="1" type="string"/>
  1739. <if cond="ATTITUDE_EULER_ANGLES=Y">
  1740. <field name="SENSOR_ANGLE_MODEL" length="1" type="integer"/>
  1741. <field name="SENSOR_ANGLE_1" length="10" type="string"/>
  1742. <field name="SENSOR_ANGLE_2" length="9" type="string"/>
  1743. <field name="SENSOR_ANGLE_3" length="10" type="string"/>
  1744. <field name="PLATFORM_RELATIVE" length="1" type="string"/>
  1745. <field name="PLATFORM_HEADING" length="9" type="string"/>
  1746. <field name="PLATFORM_PITCH" length="9" type="string"/>
  1747. <field name="PLATFORM_ROLL" length="10" type="string"/>
  1748. </if>
  1749. <field name="ATTITUDE_UNIT_VECTORS" length="1" type="string"/>
  1750. <if cond="ATTITUDE_UNIT_VECTORS=Y">
  1751. <field name="ICX_NORTH_OR_X" length="10" type="real"/>
  1752. <field name="ICX_EAST_OR_Y" length="10" type="real"/>
  1753. <field name="ICX_DOWN_OR_Z" length="10" type="real"/>
  1754. <field name="ICY_NORTH_OR_X" length="10" type="real"/>
  1755. <field name="ICY_EAST_OR_Y" length="10" type="real"/>
  1756. <field name="ICY_DOWN_OR_Z" length="10" type="real"/>
  1757. <field name="ICZ_NORTH_OR_X" length="10" type="real"/>
  1758. <field name="ICZ_EAST_OR_Y" length="10" type="real"/>
  1759. <field name="ICZ_DOWN_OR_Z" length="10" type="real"/>
  1760. </if>
  1761. <field name="ATTITUDE_QUATERNION" length="1" type="string"/>
  1762. <if cond="ATTITUDE_QUATERNION=Y">
  1763. <field name="ATTITUDE_Q1" length="10" type="real"/>
  1764. <field name="ATTITUDE_Q2" length="10" type="real"/>
  1765. <field name="ATTITUDE_Q3" length="10" type="real"/>
  1766. <field name="ATTITUDE_Q4" length="10" type="real"/>
  1767. </if>
  1768. <field name="SENSOR_VELOCITY_DATA" length="1" type="string"/>
  1769. <if cond="SENSOR_VELOCITY_DATA=Y">
  1770. <field name="VELOCITY_NORTH_OR_X" length="9" type="real"/>
  1771. <field name="VELOCITY_EAST_OR_Y" length="9" type="real"/>
  1772. <field name="VELOCITY_DOWN_OR_Z" length="9" type="real"/>
  1773. </if>
  1774. <field name="POINT_SET_DATA" length="2" type="integer"/>
  1775. <loop counter="POINT_SET_DATA" name="POINT_SETS" md_prefix="POINT_SET_%02d_">
  1776. <field name="POINT_SET_TYPE_MM" length="25" type="string"/>
  1777. <field name="POINT_COUNT_MM" length="3" type="integer"/>
  1778. <loop counter="POINT_COUNT_MM" name="POINT" md_prefix="POINT_%03d_">
  1779. <field name="P_ROW_NNN" length="8" type="integer"/>
  1780. <field name="P_COLUMN_NNN" length="8" type="integer"/>
  1781. <field name="P_LATITUDE_NNN" length="10" type="string"/>
  1782. <field name="P_LONGITUDE_NNN" length="11" type="string"/>
  1783. <field name="P_ELEVATION_NNN" length="6" type="string"/>
  1784. <field name="P_RANGE_NNN" length="8" type="string"/>
  1785. </loop>
  1786. </loop>
  1787. <field name="TIME_STAMPED_DATA_SETS" length="2" type="integer"/>
  1788. <loop counter="TIME_STAMPED_DATA_SETS" name="TIME_STAMPED_SET" md_prefix="TIME_STAMPED_SET_%02d_">
  1789. <field name="TIME_STAMP_TYPE_MM" length="3" type="string"/>
  1790. <field name="TIME_STAMP_COUNT_MM" length="4" type="integer"/>
  1791. <loop counter="TIME_STAMP_COUNT_MM" name="TIME_STAMP_COUNTS" md_prefix="TIME_STAMP_COUNT_%04d_">
  1792. <field name="TIME_STAMP_TIME_NNNN" length="12" type="real"/>
  1793. <if cond="TIME_STAMP_TYPE_MM=05a">
  1794. <field name="TIME_STAMP_VALUE_NNNN" length="12" type="real"/>
  1795. </if>
  1796. <if cond="TIME_STAMP_TYPE_MM=05b">
  1797. <field name="TIME_STAMP_VALUE_NNNN" length="8" type="integer"/>
  1798. </if>
  1799. <if cond="TIME_STAMP_TYPE_MM=05c">
  1800. <field name="TIME_STAMP_VALUE_NNNN" length="8" type="integer"/>
  1801. </if>
  1802. <if cond="TIME_STAMP_TYPE_MM=06a">
  1803. <field name="TIME_STAMP_VALUE_NNNN" length="11" type="real"/>
  1804. </if>
  1805. <if cond="TIME_STAMP_TYPE_MM=06b">
  1806. <field name="TIME_STAMP_VALUE_NNNN" length="12" type="real"/>
  1807. </if>
  1808. <if cond="TIME_STAMP_TYPE_MM=06c">
  1809. <field name="TIME_STAMP_VALUE_NNNN" length="11" type="real"/>
  1810. </if>
  1811. <if cond="TIME_STAMP_TYPE_MM=06d">
  1812. <field name="TIME_STAMP_VALUE_NNNN" length="8" type="real"/>
  1813. </if>
  1814. <if cond="TIME_STAMP_TYPE_MM=06e">
  1815. <field name="TIME_STAMP_VALUE_NNNN" length="8" type="real"/>
  1816. </if>
  1817. <if cond="TIME_STAMP_TYPE_MM=06f">
  1818. <field name="TIME_STAMP_VALUE_NNNN" length="8" type="real"/>
  1819. </if>
  1820. <if cond="TIME_STAMP_TYPE_MM=07a">
  1821. <field name="TIME_STAMP_VALUE_NNNN" length="1" type="integer"/>
  1822. </if>
  1823. <if cond="TIME_STAMP_TYPE_MM=07b">
  1824. <field name="TIME_STAMP_VALUE_NNNN" length="10" type="real"/>
  1825. </if>
  1826. <if cond="TIME_STAMP_TYPE_MM=07c">
  1827. <field name="TIME_STAMP_VALUE_NNNN" length="9" type="real"/>
  1828. </if>
  1829. <if cond="TIME_STAMP_TYPE_MM=07d">
  1830. <field name="TIME_STAMP_VALUE_NNNN" length="10" type="real"/>
  1831. </if>
  1832. <if cond="TIME_STAMP_TYPE_MM=07e">
  1833. <field name="TIME_STAMP_VALUE_NNNN" length="1" type="string"/>
  1834. </if>
  1835. <if cond="TIME_STAMP_TYPE_MM=07f">
  1836. <field name="TIME_STAMP_VALUE_NNNN" length="9" type="real"/>
  1837. </if>
  1838. <if cond="TIME_STAMP_TYPE_MM=07g">
  1839. <field name="TIME_STAMP_VALUE_NNNN" length="9" type="real"/>
  1840. </if>
  1841. <if cond="TIME_STAMP_TYPE_MM=07h">
  1842. <field name="TIME_STAMP_VALUE_NNNN" length="10" type="real"/>
  1843. </if>
  1844. <if cond="TIME_STAMP_TYPE_MM=08a">
  1845. <field name="TIME_STAMP_VALUE_NNNN" length="10" type="real"/>
  1846. </if>
  1847. <if cond="TIME_STAMP_TYPE_MM=08b">
  1848. <field name="TIME_STAMP_VALUE_NNNN" length="10" type="real"/>
  1849. </if>
  1850. <if cond="TIME_STAMP_TYPE_MM=08c">
  1851. <field name="TIME_STAMP_VALUE_NNNN" length="10" type="real"/>
  1852. </if>
  1853. <if cond="TIME_STAMP_TYPE_MM=08d">
  1854. <field name="TIME_STAMP_VALUE_NNNN" length="10" type="real"/>
  1855. </if>
  1856. <if cond="TIME_STAMP_TYPE_MM=08e">
  1857. <field name="TIME_STAMP_VALUE_NNNN" length="10" type="real"/>
  1858. </if>
  1859. <if cond="TIME_STAMP_TYPE_MM=08f">
  1860. <field name="TIME_STAMP_VALUE_NNNN" length="10" type="real"/>
  1861. </if>
  1862. <if cond="TIME_STAMP_TYPE_MM=08g">
  1863. <field name="TIME_STAMP_VALUE_NNNN" length="10" type="real"/>
  1864. </if>
  1865. <if cond="TIME_STAMP_TYPE_MM=08h">
  1866. <field name="TIME_STAMP_VALUE_NNNN" length="10" type="real"/>
  1867. </if>
  1868. <if cond="TIME_STAMP_TYPE_MM=08i">
  1869. <field name="TIME_STAMP_VALUE_NNNN" length="10" type="real"/>
  1870. </if>
  1871. <if cond="TIME_STAMP_TYPE_MM=09a">
  1872. <field name="TIME_STAMP_VALUE_NNNN" length="10" type="real"/>
  1873. </if>
  1874. <if cond="TIME_STAMP_TYPE_MM=09b">
  1875. <field name="TIME_STAMP_VALUE_NNNN" length="10" type="real"/>
  1876. </if>
  1877. <if cond="TIME_STAMP_TYPE_MM=09c">
  1878. <field name="TIME_STAMP_VALUE_NNNN" length="10" type="real"/>
  1879. </if>
  1880. <if cond="TIME_STAMP_TYPE_MM=09d">
  1881. <field name="TIME_STAMP_VALUE_NNNN" length="10" type="real"/>
  1882. </if>
  1883. <if cond="TIME_STAMP_TYPE_MM=10a">
  1884. <field name="TIME_STAMP_VALUE_NNNN" length="9" type="real"/>
  1885. </if>
  1886. <if cond="TIME_STAMP_TYPE_MM=10b">
  1887. <field name="TIME_STAMP_VALUE_NNNN" length="9" type="real"/>
  1888. </if>
  1889. <if cond="TIME_STAMP_TYPE_MM=10c">
  1890. <field name="TIME_STAMP_VALUE_NNNN" length="9" type="real"/>
  1891. </if>
  1892. </loop>
  1893. </loop>
  1894. <field name="PIXEL_REFERENCED_DATA_SETS" length="2" type="integer"/>
  1895. <loop counter="PIXEL_REFERENCED_DATA_SETS" name="PIXEL_REFERENCE_DATA_SET" md_prefix="PIXEL_REFERENCE_DATA_SET_%02d_">
  1896. <field name="PIXEL_REFERENCE_TYPE_MM" length="3" type="string"/>
  1897. <field name="PIXEL_REFERENCE_COUNT_MM" length="4" type="integer"/>
  1898. <loop counter="PIXEL_REFERENCE_COUNT_MM" name="PIXEL_REFERENCE_COUNTS" md_prefix="PIXEL_REFERENCE_COUNT_%04d_">
  1899. <field name="PIXEL_REFERENCE_ROW_NNNN" length="8" type="integer"/>
  1900. <field name="PIXEL_REFERENCE_COLUMN_NNNN" length="8" type="integer"/>
  1901. <if cond="PIXEL_REFERENCE_TYPE_MM=05a">
  1902. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="12" type="real"/>
  1903. </if>
  1904. <if cond="PIXEL_REFERENCE_TYPE_MM=05b">
  1905. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="8" type="integer"/>
  1906. </if>
  1907. <if cond="PIXEL_REFERENCE_TYPE_MM=05c">
  1908. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="8" type="integer"/>
  1909. </if>
  1910. <if cond="PIXEL_REFERENCE_TYPE_MM=06a">
  1911. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="11" type="real"/>
  1912. </if>
  1913. <if cond="PIXEL_REFERENCE_TYPE_MM=06b">
  1914. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="12" type="real"/>
  1915. </if>
  1916. <if cond="PIXEL_REFERENCE_TYPE_MM=06c">
  1917. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="11" type="real"/>
  1918. </if>
  1919. <if cond="PIXEL_REFERENCE_TYPE_MM=06d">
  1920. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="8" type="real"/>
  1921. </if>
  1922. <if cond="PIXEL_REFERENCE_TYPE_MM=06e">
  1923. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="8" type="real"/>
  1924. </if>
  1925. <if cond="PIXEL_REFERENCE_TYPE_MM=06f">
  1926. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="8" type="real"/>
  1927. </if>
  1928. <if cond="PIXEL_REFERENCE_TYPE_MM=07a">
  1929. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="1" type="integer"/>
  1930. </if>
  1931. <if cond="PIXEL_REFERENCE_TYPE_MM=07b">
  1932. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="10" type="real"/>
  1933. </if>
  1934. <if cond="PIXEL_REFERENCE_TYPE_MM=07c">
  1935. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="9" type="real"/>
  1936. </if>
  1937. <if cond="PIXEL_REFERENCE_TYPE_MM=07d">
  1938. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="10" type="real"/>
  1939. </if>
  1940. <if cond="PIXEL_REFERENCE_TYPE_MM=07e">
  1941. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="1" type="string"/>
  1942. </if>
  1943. <if cond="PIXEL_REFERENCE_TYPE_MM=07f">
  1944. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="9" type="real"/>
  1945. </if>
  1946. <if cond="PIXEL_REFERENCE_TYPE_MM=07g">
  1947. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="9" type="real"/>
  1948. </if>
  1949. <if cond="PIXEL_REFERENCE_TYPE_MM=07h">
  1950. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="10" type="real"/>
  1951. </if>
  1952. <if cond="PIXEL_REFERENCE_TYPE_MM=08a">
  1953. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="10" type="real"/>
  1954. </if>
  1955. <if cond="PIXEL_REFERENCE_TYPE_MM=08b">
  1956. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="10" type="real"/>
  1957. </if>
  1958. <if cond="PIXEL_REFERENCE_TYPE_MM=08c">
  1959. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="10" type="real"/>
  1960. </if>
  1961. <if cond="PIXEL_REFERENCE_TYPE_MM=08d">
  1962. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="10" type="real"/>
  1963. </if>
  1964. <if cond="PIXEL_REFERENCE_TYPE_MM=08e">
  1965. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="10" type="real"/>
  1966. </if>
  1967. <if cond="PIXEL_REFERENCE_TYPE_MM=08f">
  1968. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="10" type="real"/>
  1969. </if>
  1970. <if cond="PIXEL_REFERENCE_TYPE_MM=08g">
  1971. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="10" type="real"/>
  1972. </if>
  1973. <if cond="PIXEL_REFERENCE_TYPE_MM=08h">
  1974. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="10" type="real"/>
  1975. </if>
  1976. <if cond="PIXEL_REFERENCE_TYPE_MM=08i">
  1977. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="10" type="real"/>
  1978. </if>
  1979. <if cond="PIXEL_REFERENCE_TYPE_MM=09a">
  1980. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="10" type="real"/>
  1981. </if>
  1982. <if cond="PIXEL_REFERENCE_TYPE_MM=09b">
  1983. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="10" type="real"/>
  1984. </if>
  1985. <if cond="PIXEL_REFERENCE_TYPE_MM=09c">
  1986. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="10" type="real"/>
  1987. </if>
  1988. <if cond="PIXEL_REFERENCE_TYPE_MM=09d">
  1989. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="10" type="real"/>
  1990. </if>
  1991. <if cond="PIXEL_REFERENCE_TYPE_MM=10a">
  1992. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="9" type="real"/>
  1993. </if>
  1994. <if cond="PIXEL_REFERENCE_TYPE_MM=10b">
  1995. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="9" type="real"/>
  1996. </if>
  1997. <if cond="PIXEL_REFERENCE_TYPE_MM=10c">
  1998. <field name="PIXEL_REFERENCE_VALUE_NNNN" length="9" type="real"/>
  1999. </if>
  2000. </loop>
  2001. </loop>
  2002. <field name="UNCERTAINTY_DATA" length="3" type="integer"/>
  2003. <loop counter="UNCERTAINTY_DATA" name="UNCERTAINTY_DATA_SETS" md_prefix="UNCERTAINTY_DATA_%03d_">
  2004. <field name="UNCERTAINTY_FIRST_TYPE_NNN" length="11" type="string"/>
  2005. <field name="UNCERTAINTY_SECOND_TYPE_NNN" length="11" type="string"/>
  2006. <field name="UNCERTAINTY_VALUE_NNN" length="10" type="string"/>
  2007. </loop>
  2008. <field name="ADDITIONAL_PARAMETER_DATA" length="3" type="integer"/>
  2009. <loop counter="ADDITIONAL_PARAMETER_DATA" name="ADDITIONAL_PARAMETER_DATA_SETS" md_prefix="ADDITIONAL_PARAMETER_DATA_%03d_">
  2010. <field name="PARAMETER_NAME_MMM" length="25" type="string"/>
  2011. <field name="PARAMETER_SIZE_MMM" length="3" type="integer"/>
  2012. <field name="PARAMETER_COUNT_MMM" length="4" type="integer"/>
  2013. <loop counter="PARAMETER_COUNT_MMM" name="ADDITIONAL_PARAMETER_VALUES" md_prefix="PARAMETER_VALUE_%04d">
  2014. <field name="PARAMETER_VALUE_NNNN" length_var="PARAMETER_SIZE_MMM" type="string"/>
  2015. </loop>
  2016. </loop>
  2017. </tre>
  2018. <tre name="SOURCB" minlength="906" maxlength="99985" location="image">
  2019. <field name="IS_SCA" length="9" type="integer"/>
  2020. <field name="CPATCH" length="10" type="string"/>
  2021. <field name="NUM_SOUR" length="2" type="integer" minval="1"/>
  2022. <loop counter="NUM_SOUR" name="SOURCE" md_prefix="SOURCE_%02d_">
  2023. <field name="NUM_BP" length="2" type="integer"/>
  2024. <loop counter="NUM_BP" name="BP" md_prefix="BP_%02d_">
  2025. <field name="NUM_PTS" length="3" type="integer"/>
  2026. <loop counter="NUM_PTS" md_prefix="POINT_%03d_" name="POINT">
  2027. <field name="LON" length="15" type="real"/>
  2028. <field name="LAT" length="15" type="real"/>
  2029. </loop>
  2030. </loop>
  2031. <field name="PRT" length="10" type="string"/>
  2032. <field name="URF" length="20" type="string"/>
  2033. <field name="EDN" length="7" type="string"/>
  2034. <field name="NAM" length="20" type="string"/>
  2035. <field name="CDP" length="3" type="integer"/>
  2036. <field name="CDV" length="8" type="string"/>
  2037. <field name="CDV27" length="8" type="string"/>
  2038. <field name="SRN" length="80" type="string"/>
  2039. <field name="SCA" length="9" type="integer"/>
  2040. <field name="UNISQU" length="3" type="string"/>
  2041. <if cond="UNISQU!=">
  2042. <field name="SQU" length="10" type="integer"/>
  2043. </if>
  2044. <field name="UNIPCI" length="3" type="string"/>
  2045. <if cond="UNIPCI!=">
  2046. <field name="PCI" length="4" type="integer"/>
  2047. </if>
  2048. <field name="WPC" length="3" type="integer"/>
  2049. <field name="NST" length="3" type="integer"/>
  2050. <field name="UNIHKE" length="3" type="string"/>
  2051. <if cond="UNIHKE!=">
  2052. <field name="HKE" length="6" type="integer"/>
  2053. <field name="LONHKE" length="15" type="real"/>
  2054. <field name="LATHKE" length="15" type="real"/>
  2055. </if>
  2056. <field name="QSS" length="1" type="string"/>
  2057. <field name="QOD" length="1" type="string"/>
  2058. <if cond="QSS!=U AND QOD!=Y"> <!--Warning: this condition is currently hardcoded in the interpreter -->
  2059. <field name="CDV10" length="8" type="string"/>
  2060. </if>
  2061. <field name="QLE" length="80" type="string"/>
  2062. <field name="CPY" length="80" type="string"/>
  2063. <field name="NMI" length="2" type="integer"/>
  2064. <loop counter="NMI" name="MI" md_prefix="MI_%02d_">
  2065. <field name="CDV30" length="8" type="string"/>
  2066. <field name="UNIRAT" length="3" type="string"/>
  2067. <field name="RAT" length="8" type="real"/>
  2068. <field name="UNIGMA" length="3" type="string"/>
  2069. <field name="GMA" length="8" type="real"/>
  2070. <field name="LONGMA" length="15" type="real"/>
  2071. <field name="LATGMA" length="15" type="real"/>
  2072. <field name="UNIGCA" length="3" type="string"/>
  2073. <if cond="UNIGCA!=">
  2074. <field name="GCA" length="8" type="real"/>
  2075. </if>
  2076. </loop>
  2077. <field name="NLI" length="2" type="integer"/>
  2078. <loop counter="NLI" name="LI" md_prefix="LI_%02d_">
  2079. <field name="BAD" length="10" type="string"/>
  2080. </loop>
  2081. <field name="DAG" length="80" type="string"/>
  2082. <field name="DCD" length="4" type="string"/>
  2083. <field name="ELL" length="80" type="string"/>
  2084. <field name="ELC" length="3" type="string"/>
  2085. <field name="DVR" length="80" type="string"/>
  2086. <field name="VDCDVR" length="4" type="string"/>
  2087. <field name="SDA" length="80" type="string"/>
  2088. <field name="VDCSDA" length="4" type="string"/>
  2089. <field name="PRN" length="80" type="string"/>
  2090. <field name="PCO" length="2" type="string"/>
  2091. <field name="NUM_PRJ" length="1" type="integer"/>
  2092. <loop counter="NUM_PRJ" name="PRJ" md_prefix="PRJ_%d">
  2093. <field name="" longname="PRJ" length="15" type="real"/>
  2094. </loop>
  2095. <field name="XOR" length="15" type="integer" minval="0"/>
  2096. <field name="YOR" length="15" type="integer" minval="0"/>
  2097. <field name="GRD" length="3" type="string"/>
  2098. <field name="GRN" length="80" type="string"/>
  2099. <field name="ZNA" length="4" type="integer" minval="0"/>
  2100. <field name="NIN" length="2" type="integer"/>
  2101. <loop counter="NIN" name="IN" md_prefix="IN_%02d_">
  2102. <field name="INT" length="10" type="string"/>
  2103. <field name="INS_SCA" length="9" type="integer"/>
  2104. <field name="NTL" length="15" type="real"/>
  2105. <field name="TTL" length="15" type="real"/>
  2106. <field name="NVL" length="15" type="real"/>
  2107. <field name="TVL" length="15" type="real"/>
  2108. <field name="NTR" length="15" type="real"/>
  2109. <field name="TTR" length="15" type="real"/>
  2110. <field name="NVR" length="15" type="real"/>
  2111. <field name="TVR" length="15" type="real"/>
  2112. <field name="NRL" length="15" type="real"/>
  2113. <field name="TRL" length="15" type="real"/>
  2114. <field name="NSL" length="15" type="real"/>
  2115. <field name="TSL" length="15" type="real"/>
  2116. <field name="NRR" length="15" type="real"/>
  2117. <field name="TRR" length="15" type="real"/>
  2118. <field name="NSR" length="15" type="real"/>
  2119. <field name="TSR" length="15" type="real"/>
  2120. </loop>
  2121. </loop>
  2122. </tre>
  2123. <tre name="STDIDC" md_prefix="NITF_STDIDC_" length="89" location="image">
  2124. <field name="ACQUISITION_DATE" length="14"/>
  2125. <field name="MISSION" length="14"/>
  2126. <field name="PASS" length="2"/>
  2127. <field name="OP_NUM" length="3"/>
  2128. <field name="START_SEGMENT" length="2"/>
  2129. <field name="REPRO_NUM" length="2"/>
  2130. <field name="REPLAY_REGEN" length="3"/>
  2131. <field length="1"/>
  2132. <field name="START_COLUMN" length="3"/>
  2133. <field name="START_ROW" length="5"/>
  2134. <field name="END_SEGMENT" length="2"/>
  2135. <field name="END_COLUMN" length="3"/>
  2136. <field name="END_ROW" length="5"/>
  2137. <field name="COUNTRY" length="2"/>
  2138. <field name="WAC" length="4"/>
  2139. <field name="LOCATION" length="11"/>
  2140. <field length="5"/>
  2141. <field length="8"/>
  2142. </tre>
  2143. <tre name="STREOB" length="94" location="image">
  2144. <field name="ST_ID" length="60" type="string"/>
  2145. <field name="N_MATES" length="1" type="integer"/>
  2146. <field name="MATE_INSTANCE" length="1" type="integer"/>
  2147. <field name="B_CONV" length="5" type="real"/>
  2148. <field name="E_CONV" length="5" type="real"/>
  2149. <field name="B_ASYM" length="5" type="real"/>
  2150. <field name="E_ASYM" length="5" type="real"/>
  2151. <field name="B_BIE" length="6" type="real"/>
  2152. <field name="E_BIE" length="6" type="real"/>
  2153. </tre>
  2154. <tre name="USE00A" md_prefix="NITF_USE00A_" length="107" location="image">
  2155. <field name="ANGLE_TO_NORTH" length="3"/>
  2156. <field name="MEAN_GSD" length="5"/>
  2157. <field length="1"/>
  2158. <field name="DYNAMIC_RANGE" length="5"/>
  2159. <field length="3"/>
  2160. <field length="1"/>
  2161. <field length="3"/>
  2162. <field name="OBL_ANG" length="5"/>
  2163. <field name="ROLL_ANG" length="6"/>
  2164. <field length="12"/>
  2165. <field length="15"/>
  2166. <field length="4"/>
  2167. <field length="1"/>
  2168. <field length="3"/>
  2169. <field length="1"/>
  2170. <field length="1"/>
  2171. <field name="N_REF" length="2"/>
  2172. <field name="REV_NUM" length="5"/>
  2173. <field name="N_SEG" length="3"/>
  2174. <field name="MAX_LP_SEG" length="6"/>
  2175. <field length="6"/>
  2176. <field length="6"/>
  2177. <field name="SUN_EL" length="5"/>
  2178. <field name="SUN_AZ" length="5"/>
  2179. </tre>
  2180. </tres>