~ubuntu-branches/debian/sid/gdal/sid

« back to all changes in this revision

Viewing changes to data/nitf_spec.xml

  • Committer: Package Import Robot
  • Author(s): Francesco Paolo Lovergine
  • Date: 2012-05-07 15:04:42 UTC
  • mfrom: (5.5.16 experimental)
  • Revision ID: package-import@ubuntu.com-20120507150442-2eks97loeh6rq005
Tags: 1.9.0-1
* Ready for sid, starting transition.
* All symfiles updated to latest builds.
* Added dh_numpy call in debian/rules to depend on numpy ABI.
* Policy bumped to 3.9.3, no changes required.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0"?>
 
2
<!--
 
3
/******************************************************************************
 
4
 * $Id: nitf_spec.xml 22869 2011-08-06 14:17:54Z rouault $
 
5
 *
 
6
 * Project:  NITF Library
 
7
 * Purpose:  Description of NITF TREs
 
8
 * Author:   Even Rouault, <even dot rouault at mines dash paris dot org>
 
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
 
 
33
<!-- This file should validate against nitf_spec.xsd -->
 
34
 
 
35
<tres>
 
36
 
 
37
    <tre name="ACCPOB" minlength="17" maxlength="99985" location="image">
 
38
        <field name="NUM_ACPO" length="2" type="integer" minval="1" maxval="99"/>
 
39
        <loop counter="NUM_ACPO" md_prefix="ACCPO_%02d_" name="ACCPO">
 
40
            <field name="UNIAAH" length="3" type="string"/>
 
41
            <if cond="UNIAAH!=">
 
42
                <field name="AAH" length="5" type="integer"/>
 
43
            </if>
 
44
            <field name="UNIAAV" length="3" type="string"/>
 
45
            <if cond="UNIAAV!=">
 
46
                <field name="AAV" length="5" type="integer"/>
 
47
            </if>
 
48
            <field name="UNIAPH" length="3" type="string"/>
 
49
            <if cond="UNIAPH!=">
 
50
                <field name="APH" length="5" type="integer"/>
 
51
            </if>
 
52
            <field name="UNIAPV" length="3" type="string"/>
 
53
            <if cond="UNIAPV!=">
 
54
                <field name="APV" length="5" type="integer"/>
 
55
            </if>
 
56
            <field name="NUM_PTS" length="3" type="integer"/>
 
57
            <loop counter="NUM_PTS" md_prefix="POINT_%03d_" name="POINT">
 
58
                <field name="LON" length="15" type="real"/>
 
59
                <field name="LAT" length="15" type="real"/>
 
60
            </loop>
 
61
        </loop>
 
62
    </tre>
 
63
 
 
64
    <tre name="BLOCKA" length="123" location="image">
 
65
        <field name="BLOCK_INSTANCE" length="2" type="integer" minval="1" maxval="99"/>
 
66
        <field name="N_GRAY" length="5" type="integer" minval="0" maxval="99999"/>
 
67
        <field name="L_LINES" length="5" type="integer" minval="1" maxval="99999"/>
 
68
        <field name="LAYOVER_ANGLE" length="3" type="integer" minval="0" maxval="359" unit="degrees"/>
 
69
        <field name="SHADOW_ANGLE" length="3" type="integer" minval="0" maxval="359" unit="degrees"/>
 
70
        <field length="16"/>
 
71
        <field name="FRLC_LOC" length="21"/>
 
72
        <field name="LRLC_LOC" length="21"/>
 
73
        <field name="LRFC_LOC" length="21"/>
 
74
        <field name="FRFC_LOC" length="21"/>
 
75
        <field length="5"/>
 
76
    </tre>
 
77
 
 
78
    <tre name="BNDPLB" minlength="124" maxlength="99964" location="image">
 
79
        <field name="NUM_PTS" length="4" type="integer" minval="4" maxval="3332"/>
 
80
        <loop counter="NUM_PTS" md_prefix="POINT_%04d_" name="POINT">
 
81
            <field name="LON" length="15" type="real"/>
 
82
            <field name="LAT" length="15" type="real"/>
 
83
        </loop>
 
84
    </tre>
 
85
 
 
86
    <tre name="CSDIDA" md_prefix="NITF_CSDIDA_" length="70" location="file">
 
87
        <field name="DAY" length="2"/>
 
88
        <field name="MONTH" length="3"/>
 
89
        <field name="YEAR" length="4"/>
 
90
        <field name="PLATFORM_CODE" length="2"/>
 
91
        <field name="VEHICLE_ID" length="2"/>
 
92
        <field name="PASS" length="2"/>
 
93
        <field name="OPERATION" length="3"/>
 
94
        <field name="SENSOR_ID" length="2"/>
 
95
        <field name="PRODUCT_ID" length="2"/>
 
96
        <field name="RESERVED_0" length="4"/>
 
97
        <field name="TIME" length="14"/>
 
98
        <field name="PROCESS_TIME" length="14"/>
 
99
        <field name="RESERVED_1" length="2"/>
 
100
        <field name="RESERVED_2" length="2"/>
 
101
        <field name="RESERVED_3" length="1"/>
 
102
        <field name="RESERVED_4" length="1"/>
 
103
        <field name="SOFTWARE_VERSION_NUMBER" length="10"/>
 
104
    </tre>
 
105
 
 
106
    <tre name="CSEPHA" minlength="257" maxlength="36005" location="des">
 
107
        <field name="EPHEM_FLAG" length="12"/>
 
108
        <field name="DT_EPHEM" length="5"/>
 
109
        <field name="DATE_EPHEM" length="8"/>
 
110
        <field name="T0_EPHEM" length="13"/>
 
111
        <field name="NUM_EPHEM" length="3"/>
 
112
        <loop counter="NUM_EPHEM" md_prefix="EPHEM_%03d_" name="EPHEM">
 
113
            <field name="X" longname="EPHEM_X" length="12"/>
 
114
            <field name="Y" longname="EPHEM_Y" length="12"/>
 
115
            <field name="Z" longname="EPHEM_Z" length="12"/>
 
116
        </loop>
 
117
    </tre>
 
118
 
 
119
    <tre name="CSCRNA" length="109" location="image">
 
120
        <field name="PREDICT_CORNERS" length="1"/>
 
121
        <field name="ULCNR_LAT" length="9"/>
 
122
        <field name="ULCNR_LONG" length="10"/>
 
123
        <field name="ULCNR_HT" length="8"/>
 
124
        <field name="URCNR_LAT" length="9"/>
 
125
        <field name="URCNR_LONG" length="10"/>
 
126
        <field name="URCNR_HT" length="8"/>
 
127
        <field name="LRCNR_LAT" length="9"/>
 
128
        <field name="LRCNR_LONG" length="10"/>
 
129
        <field name="LRCNR_HT" length="8"/>
 
130
        <field name="LLCNR_LAT" length="9"/>
 
131
        <field name="LLCNR_LONG" length="10"/>
 
132
        <field name="LLCNR_HT" length="8"/>
 
133
    </tre>
 
134
 
 
135
    <tre name="CSEXRA" md_prefix="NITF_CSEXRA_" length="132" location="image">
 
136
        <field name="SENSOR" length="6"/>
 
137
        <field name="TIME_FIRST_LINE_IMAGE" length="12"/>
 
138
        <field name="TIME_IMAGE_DURATION" length="12"/>
 
139
        <field name="MAX_GSD" length="5"/>
 
140
        <field name="ALONG_SCAN_GSD" length="5"/>
 
141
        <field name="CROSS_SCAN_GSD" length="5"/>
 
142
        <field name="GEO_MEAN_GSD" length="5"/>
 
143
        <field name="A_S_VERT_GSD" length="5"/>
 
144
        <field name="C_S_VERT_GSD" length="5"/>
 
145
        <field name="GEO_MEAN_VERT_GSD" length="5"/>
 
146
        <field name="GSD_BETA_ANGLE" length="5"/>
 
147
        <field name="DYNAMIC_RANGE" length="5"/>
 
148
        <field name="NUM_LINES" length="7"/>
 
149
        <field name="NUM_SAMPLES" length="5"/>
 
150
        <field name="ANGLE_TO_NORTH" length="7"/>
 
151
        <field name="OBLIQUITY_ANGLE" length="6"/>
 
152
        <field name="AZ_OF_OBLIQUITY" length="7"/>
 
153
        <field name="GRD_COVER" length="1"/>
 
154
        <field name="SNOW_DEPTH_CAT" length="1"/>
 
155
        <field name="SUN_AZIMUTH" length="7"/>
 
156
        <field name="SUN_ELEVATION" length="7"/>
 
157
        <field name="PREDICTED_NIIRS" length="3"/>
 
158
        <field name="CIRCL_ERR" length="3"/>
 
159
        <field name="LINEAR_ERR" length="3"/>
 
160
    </tre>
 
161
 
 
162
    <tre name="CSPROA" length="120" location="image">
 
163
        <field length="12"/>
 
164
        <field length="12"/>
 
165
        <field length="12"/>
 
166
        <field length="12"/>
 
167
        <field length="12"/>
 
168
        <field length="12"/>
 
169
        <field length="12"/>
 
170
        <field length="12"/>
 
171
        <field length="12"/>
 
172
        <field name="BWC" length="12"/>
 
173
    </tre>
 
174
 
 
175
    <tre name="CSSFAA" minlength="107" maxlength="425" location="image">
 
176
        <field name="NUM_BANDS" length="1"/>
 
177
        <loop counter="NUM_BANDS" md_prefix="BAND_%d_" name="BAND">
 
178
            <field name="BAND_TYPE" length="1"/>
 
179
            <field name="BAND_ID" length="6"/>
 
180
            <field name="FOC_LENGTH" length="11"/>
 
181
            <field name="NUM_DAP" length="8"/>
 
182
            <field name="NUM_FIR" length="8"/>
 
183
            <field name="DELTA" length="7"/>
 
184
            <field name="OPPOFF_X" length="7"/>
 
185
            <field name="OPPOFF_Y" length="7"/>
 
186
            <field name="OPPOFF_Z" length="7"/>
 
187
            <field name="START_X" length="11"/>
 
188
            <field name="START_Y" length="11"/>
 
189
            <field name="FINISH_X" length="11"/>
 
190
            <field name="FINISH_Y" length="11"/>
 
191
        </loop>
 
192
    </tre>
 
193
 
 
194
    <tre name="GEOLOB" length="48" location="image">
 
195
        <field name="ARV" length="9" type="real"/>
 
196
        <field name="BRV" length="9" type="real"/>
 
197
        <field name="LSO" length="15" type="real"/>
 
198
        <field name="PSO" length="15" type="real"/>
 
199
    </tre>
 
200
 
 
201
    <tre name="GEOPSB" length="443" location="file">
 
202
        <field name="TYP" length="3" type="string"/>
 
203
        <field name="UNI" length="3" type="string"/>
 
204
        <field name="DAG" length="80" type="string"/>
 
205
        <field name="DCD" length="4" type="string"/>
 
206
        <field name="ELL" length="80" type="string"/>
 
207
        <field name="ELC" length="3" type="string"/>
 
208
        <field name="DVR" length="80" type="string"/>
 
209
        <field name="VDCDVR" length="4" type="string"/>
 
210
        <field name="SDA" length="80" type="string"/>
 
211
        <field name="VDCSDA" length="4" type="string"/>
 
212
        <field name="ZOR" length="15" type="integer" minval="0"/>
 
213
        <field name="GRD" length="3" type="string"/>
 
214
        <field name="GRN" length="80" type="string"/>
 
215
        <field name="ZNA" length="4" type="integer" minval="0"/>
 
216
    </tre>
 
217
 
 
218
    <tre name="HISTOA" minlength="115" maxlength="83512" location="image">
 
219
        <field name="SYSTYPE" length="20"/>
 
220
        <field name="PC" length="12"/>
 
221
        <field name="PE" length="4"/>
 
222
        <field name="REMAP_FLAG" length="1"/>
 
223
        <field name="LUTID" length="2"/>
 
224
        <field name="NEVENTS" length="2"/>
 
225
        <loop counter="NEVENTS" md_prefix="EVENT_%02d_" name="EVENT">
 
226
            <field name="PDATE" length="14"/>
 
227
            <field name="PSITE" length="10"/>
 
228
            <field name="PAS" length="10"/>
 
229
            <field name="NIPCOM" length="1"/>
 
230
            <loop counter="NIPCOM" md_prefix="IPCOM_%d" name="IPCOM">
 
231
                <field name="" longname="IPCOM" length="80"/>
 
232
            </loop>
 
233
            <field name="IBPP" length="2"/>
 
234
            <field name="IPVTYPE" length="3"/>
 
235
            <field name="INBWC" length="10"/>
 
236
            <field name="DISP_FLAG" length="1"/>
 
237
            <field name="ROT_FLAG" length="1"/>
 
238
            <if cond="ROT_FLAG=1">
 
239
                <field name="ROT_ANGLE" length="8"/>
 
240
            </if>
 
241
            <field name="PROJ_FLAG" length="1"/>
 
242
            <field name="ASYM_FLAG" length="1"/>
 
243
            <if cond="ASYM_FLAG=1">
 
244
                <field name="ZOOMROW" length="7"/>
 
245
                <field name="ZOOMCOL" length="7"/>
 
246
            </if>
 
247
            <field name="SHARP_FLAG" length="1"/>
 
248
            <if cond="SHARP_FLAG=1">
 
249
                <field name="SHARPFAM" length="2"/>
 
250
                <field name="SHARPMEM" length="2"/>
 
251
            </if>
 
252
            <field name="MAG_FLAG" length="1"/>
 
253
            <if cond="MAG_FLAG=1">
 
254
                <field name="MAG_LEVEL" length="7"/>
 
255
            </if>
 
256
            <field name="DRA_FLAG" length="1"/>
 
257
            <if cond="DRA_FLAG=1">
 
258
                <field name="DRA_MULT" length="7"/>
 
259
                <field name="DRA_SUB" length="5"/>
 
260
            </if>
 
261
            <field name="TTC_FLAG" length="1"/>
 
262
            <if cond="TTC_FLAG=1">
 
263
                <field name="TTCFAM" length="2"/>
 
264
                <field name="TTCMEM" length="2"/>
 
265
            </if>
 
266
            <field name="DEVLUT_FLAG" length="1"/>
 
267
            <field name="OBPP" length="2"/>
 
268
            <field name="OPVTYPE" length="3"/>
 
269
            <field name="OUTBWC" length="10"/>
 
270
        </loop>
 
271
    </tre>
 
272
 
 
273
    <tre name="ICHIPB" length="224" location="image">
 
274
        <field name="XFRM_FLAG" length="2" type="integer"/>
 
275
        <field name="SCALE_FACTOR" length="10" type="real"/>
 
276
        <field name="ANAMRPH_CORR" length="2" type="integer"/>
 
277
        <field name="SCANBLK_NUM" length="2" type="integer"/>
 
278
        <field name="OP_ROW_11" length="12" type="real"/>
 
279
        <field name="OP_COL_11" length="12" type="real"/>
 
280
        <field name="OP_ROW_12" length="12" type="real"/>
 
281
        <field name="OP_COL_12" length="12" type="real"/>
 
282
        <field name="OP_ROW_21" length="12" type="real"/>
 
283
        <field name="OP_COL_21" length="12" type="real"/>
 
284
        <field name="OP_ROW_22" length="12" type="real"/>
 
285
        <field name="OP_COL_22" length="12" type="real"/>
 
286
        <field name="FI_ROW_11" length="12" type="real"/>
 
287
        <field name="FI_COL_11" length="12" type="real"/>
 
288
        <field name="FI_ROW_12" length="12" type="real"/>
 
289
        <field name="FI_COL_12" length="12" type="real"/>
 
290
        <field name="FI_ROW_21" length="12" type="real"/>
 
291
        <field name="FI_COL_21" length="12" type="real"/>
 
292
        <field name="FI_ROW_22" length="12" type="real"/>
 
293
        <field name="FI_COL_22" length="12" type="real"/>
 
294
        <field name="FI_ROW" length="8" type="integer"/>
 
295
        <field name="FI_COL" length="8" type="integer"/>
 
296
    </tre>
 
297
 
 
298
    <tre name="J2KLRA" location="image">
 
299
        <field name="ORIG" length="1"/>
 
300
        <field name="NLEVELS_O" length="2"/>
 
301
        <field name="NBANDS_O" length="5"/>
 
302
        <field name="NLAYERS_O" length="3"/>
 
303
        <loop counter="NLAYERS_O" md_prefix="LAYER_%03d_" name="LAYER">
 
304
            <field name="LAYER_ID" length="3"/>
 
305
            <field name="BITRATE" length="9"/>
 
306
        </loop>
 
307
        <if_remaining_bytes>
 
308
            <field name="NLEVELS_I" length="2"/>
 
309
            <field name="NBANDS_I" length="5"/>
 
310
            <field name="NLAYERS_I" length="3"/>
 
311
        </if_remaining_bytes>
 
312
    </tre>
 
313
 
 
314
    <tre name="MAPLOB" length="43" location="image">
 
315
        <field name="UNILOA" length="3" type="string"/>
 
316
        <field name="LOD" length="5" type="integer" minval="1" maxval="99999"/>
 
317
        <field name="LAD" length="5" type="integer" minval="1" maxval="99999"/>
 
318
        <field name="LSO" length="15" type="real"/>
 
319
        <field name="PSO" length="15" type="real"/>
 
320
    </tre>
 
321
 
 
322
    <tre name="PIAIMB" md_prefix="NITF_PIAIMB_" length="337" location="image">
 
323
        <field name="CLOUDCVR" length="3"/>
 
324
        <field name="SRP" length="1"/>
 
325
        <field name="SENSMODE" length="12"/>
 
326
        <field name="SENSNAME" length="18"/>
 
327
        <field name="SOURCE" length="255"/>
 
328
        <field name="COMGEN" length="2"/>
 
329
        <field name="SUBQUAL" length="1"/>
 
330
        <field name="PIAMSNNUM" length="7"/>
 
331
        <field name="CAMSPECS" length="32"/>
 
332
        <field name="PROJID" length="2"/>
 
333
        <field name="GENERATION" length="1"/>
 
334
        <field name="ESD" length="1"/>
 
335
        <field name="OTHERCOND" length="2"/>
 
336
    </tre>
 
337
 
 
338
    <tre name="PIAIMC" md_prefix="NITF_PIAIMC_" length="362" location="image">
 
339
        <field name="CLOUDCVR" length="3"/>
 
340
        <field name="SRP" length="1"/>
 
341
        <field name="SENSMODE" length="12"/>
 
342
        <field name="SENSNAME" length="18"/>
 
343
        <field name="SOURCE" length="255"/>
 
344
        <field name="COMGEN" length="2"/>
 
345
        <field name="SUBQUAL" length="1"/>
 
346
        <field name="PIAMSNNUM" length="7"/>
 
347
        <field name="CAMSPECS" length="32"/>
 
348
        <field name="PROJID" length="2"/>
 
349
        <field name="GENERATION" length="1"/>
 
350
        <field name="ESD" length="1"/>
 
351
        <field name="OTHERCOND" length="2"/>
 
352
        <field name="MEANGSD" length="7"/>
 
353
        <field name="IDATUM" length="3"/>
 
354
        <field name="IELLIP" length="3"/>
 
355
        <field name="PREPROC" length="2"/>
 
356
        <field name="IPROJ" length="2"/>
 
357
        <field name="SATTRACK" length="8"/>
 
358
    </tre>
 
359
 
 
360
    <tre name="PIAPEA" length="92" location="image">
 
361
        <field name="LASTNME" length="28" type="string"/>
 
362
        <field name="FIRSTNME" length="28" type="string"/>
 
363
        <field name="MIDNME" length="28" type="string"/>
 
364
        <field name="DOB" length="6" type="string"/>
 
365
        <field name="ASSOCTRY" length="2" type="string"/>
 
366
    </tre>
 
367
 
 
368
    <tre name="PIAPRC" minlength="201" maxlength="63759" location="file"> <!-- same as PIAPRD apparently ? -->
 
369
        <field name="ACCESSID" length="64" type="string"/>
 
370
        <field name="FMCONTROL" length="32" type="string"/>
 
371
        <field name="SUBDET" length="1" type="string"/>
 
372
        <field name="PRODCODE" length="2" type="string"/>
 
373
        <field name="PRODUCERSE" length="6" type="string"/>
 
374
        <field name="PRODIDNO" length="20" type="string"/>
 
375
        <field name="PRODSNME" length="10" type="string"/>
 
376
        <field name="PRODUCERCD" length="2" type="string"/>
 
377
        <field name="PRODCRTIME" length="14" type="string"/>
 
378
        <field name="MAPID" length="40" type="string"/>
 
379
        <field name="SECTITLEREP" length="2" type="integer" minval="0" maxval="99"/>
 
380
        <loop counter="SECTITLEREP" md_prefix="SECTITLE_%02d_" name="SECTITLE">
 
381
            <field name="SECTITLE" length="40" type="string"/>
 
382
            <field name="PPNUM" length="5" type="string"/>
 
383
            <field name="TPP" length="3" type="integer" minval="1" maxval="999"/>
 
384
        </loop>
 
385
        <field name="REQORGREP" length="2" type="integer" minval="0" maxval="99"/>
 
386
        <loop counter="REQORGREP" md_prefix="REQORG_%02d" name="REQORG">
 
387
            <field name="" longname="REQORG" length="64" type="string"/>
 
388
        </loop>
 
389
        <field name="KEYWORDREP" length="2" type="integer" minval="0" maxval="99"/>
 
390
        <loop counter="KEYWORDREP" md_prefix="KEYWORD_%02d" name="KEYWORD">
 
391
            <field name="" longname="KEYWORD" length="255" type="string"/>
 
392
        </loop>
 
393
        <field name="ASSRPTREP" length="2" type="integer" minval="0" maxval="99"/>
 
394
        <loop counter="ASSRPTREP" md_prefix="ASSRPT_%02d" name="ASSRPT">
 
395
            <field name="" longname="ASSRPT" length="20" type="string"/>
 
396
        </loop>
 
397
        <field name="ATEXTREP" length="2" type="integer" minval="0" maxval="99"/>
 
398
        <loop counter="ATEXTREP" md_prefix="ATEXT_%02d" name="ATEXT">
 
399
            <field name="" longname="ATEXT" length="255" type="string"/>
 
400
        </loop>
 
401
    </tre>
 
402
 
 
403
    <tre name="PIAPRD" minlength="201" maxlength="63759" location="image">
 
404
        <field name="ACCESSID" length="64" type="string"/>
 
405
        <field name="FMCONTROL" length="32" type="string"/>
 
406
        <field name="SUBDET" length="1" type="string"/>
 
407
        <field name="PRODCODE" length="2" type="string"/>
 
408
        <field name="PRODUCERSE" length="6" type="string"/>
 
409
        <field name="PRODIDNO" length="20" type="string"/>
 
410
        <field name="PRODSNME" length="10" type="string"/>
 
411
        <field name="PRODUCERCD" length="2" type="string"/>
 
412
        <field name="PRODCRTIME" length="14" type="string"/>
 
413
        <field name="MAPID" length="40" type="string"/>
 
414
        <field name="SECTITLEREP" length="2" type="integer" minval="0" maxval="99"/>
 
415
        <loop counter="SECTITLEREP" md_prefix="SECTITLE_%02d_" name="SECTITLE">
 
416
            <field name="SECTITLE" length="40" type="string"/>
 
417
            <field name="PPNUM" length="5" type="string"/>
 
418
            <field name="TPP" length="3" type="integer" minval="1" maxval="999"/>
 
419
        </loop>
 
420
        <field name="REQORGREP" length="2" type="integer" minval="0" maxval="99"/>
 
421
        <loop counter="REQORGREP" md_prefix="REQORG_%02d" name="REQORG">
 
422
            <field name="" longname="REQORG" length="64" type="string"/>
 
423
        </loop>
 
424
        <field name="KEYWORDREP" length="2" type="integer" minval="0" maxval="99"/>
 
425
        <loop counter="KEYWORDREP" md_prefix="KEYWORD_%02d" name="KEYWORD">
 
426
            <field name="" longname="KEYWORD" length="255" type="string"/>
 
427
        </loop>
 
428
        <field name="ASSRPTREP" length="2" type="integer" minval="0" maxval="99"/>
 
429
        <loop counter="ASSRPTREP" md_prefix="ASSRPT_%02d" name="ASSRPT">
 
430
            <field name="" longname="ASSRPT" length="20" type="string"/>
 
431
        </loop>
 
432
        <field name="ATEXTREP" length="2" type="integer" minval="0" maxval="99"/>
 
433
        <loop counter="ATEXTREP" md_prefix="ATEXT_%02d" name="ATEXT">
 
434
            <field name="" longname="ATEXT" length="255" type="string"/>
 
435
        </loop>
 
436
    </tre>
 
437
 
 
438
    <tre name="PRJPSB" minlength="113" maxlength="248" location="file">
 
439
        <field name="PRN" length="80" type="string"/>
 
440
        <field name="PCO" length="2" type="string"/>
 
441
        <field name="NUM_PRJ" length="1" type="integer" minval="0" maxval="9"/>
 
442
        <loop counter="NUM_PRJ" md_prefix="PRJ%d" name="PRJ">
 
443
            <field name="" longname="PRJ" length="15" type="string"/>
 
444
        </loop>
 
445
        <field name="XOR" length="15" type="integer" minval="0"/>
 
446
        <field name="YOR" length="15" type="integer" minval="0"/>
 
447
    </tre>
 
448
 
 
449
    <!-- RPC00A and RPC00B differ by the order of coefficients. See NITFReadRPC00B() -->
 
450
    <tre name="RPC00A" length="1041" location="image">
 
451
        <field name="SUCCESS" length="1" type="string" fixed_value="1"/>
 
452
        <field name="ERR_BIAS" length="7" unit="meters" type="real" minval="0000.00" maxval="9999.99"/>
 
453
        <field name="ERR_RAND" length="7" unit="meters" type="real" minval="0000.00" maxval="9999.99"/>
 
454
        <field name="LINE_OFF" length="6" unit="pixels" type="integer"/>
 
455
        <field name="SAMP_OFF" length="5" unit="pixels" type="integer"/>
 
456
        <field name="LAT_OFF" length="8" unit="degrees" type="real" minval="-90.0" maxval="90.0"/>
 
457
        <field name="LONG_OFF" length="9" unit="degrees" type="real" minval="-180.0" maxval="180.0"/>
 
458
        <field name="HEIGHT_OFF" length="5" unit="meters" type="integer" minval="-9999" maxval="9999"/>
 
459
        <field name="LINE_SCALE" length="6" unit="pixels" type="integer" minval="1" maxval="999999"/>
 
460
        <field name="SAMP_SCALE" length="5" unit="pixels" type="integer" minval="1" maxval="99999"/>
 
461
        <field name="LAT_SCALE" length="8" unit="degrees" type="real" minval="-90.0" maxval="90.0"/>
 
462
        <field name="LONG_SCALE" length="9" unit="degrees" type="real" minval="-180.0" maxval="180.0"/>
 
463
        <field name="HEIGHT_SCALE" length="5" unit="meters" type="integer" minval="-9999" maxval="9999"/>
 
464
        <loop iterations="20" md_prefix="LINE_NUM_COEFF_%02d" name="LINE_NUM_COEFF">
 
465
            <field name="" longname="LINE_NUM_COEFF" length="12" type="real"/>
 
466
        </loop>
 
467
        <loop iterations="20" md_prefix="LINE_DEN_COEFF_%02d" name="LINE_DEN_COEFF">
 
468
            <field name="" longname="LINE_DEN_COEFF" length="12" type="real"/>
 
469
        </loop>
 
470
        <loop iterations="20" md_prefix="SAMP_NUM_COEFF_%02d" name="SAMP_NUM_COEFF">
 
471
            <field name="" longname="SAMP_NUM_COEFF" length="12" type="real"/>
 
472
        </loop>
 
473
        <loop iterations="20" md_prefix="SAMP_DEN_COEFF_%02d" name="SAMP_DEN_COEFF">
 
474
            <field name="" longname="SAMP_DEN_COEFF" length="12" type="real"/>
 
475
        </loop>
 
476
    </tre>
 
477
 
 
478
    <tre name="RPC00B" length="1041" location="image">
 
479
        <field name="SUCCESS" length="1" type="string" fixed_value="1"/>
 
480
        <field name="ERR_BIAS" length="7" unit="meters" type="real" minval="0000.00" maxval="9999.99"/>
 
481
        <field name="ERR_RAND" length="7" unit="meters" type="real" minval="0000.00" maxval="9999.99"/>
 
482
        <field name="LINE_OFF" length="6" unit="pixels" type="integer"/>
 
483
        <field name="SAMP_OFF" length="5" unit="pixels" type="integer"/>
 
484
        <field name="LAT_OFF" length="8" unit="degrees" type="real" minval="-90.0" maxval="90.0"/>
 
485
        <field name="LONG_OFF" length="9" unit="degrees" type="real" minval="-180.0" maxval="180.0"/>
 
486
        <field name="HEIGHT_OFF" length="5" unit="meters" type="integer" minval="-9999" maxval="9999"/>
 
487
        <field name="LINE_SCALE" length="6" unit="pixels" type="integer" minval="1" maxval="999999"/>
 
488
        <field name="SAMP_SCALE" length="5" unit="pixels" type="integer" minval="1" maxval="99999"/>
 
489
        <field name="LAT_SCALE" length="8" unit="degrees" type="real" minval="-90.0" maxval="90.0"/>
 
490
        <field name="LONG_SCALE" length="9" unit="degrees" type="real" minval="-180.0" maxval="180.0"/>
 
491
        <field name="HEIGHT_SCALE" length="5" unit="meters" type="integer" minval="-9999" maxval="9999"/>
 
492
        <loop iterations="20" md_prefix="LINE_NUM_COEFF_%02d" name="LINE_NUM_COEFF">
 
493
            <field name="" longname="LINE_NUM_COEFF" length="12" type="real"/>
 
494
        </loop>
 
495
        <loop iterations="20" md_prefix="LINE_DEN_COEFF_%02d" name="LINE_DEN_COEFF">
 
496
            <field name="" longname="LINE_DEN_COEFF" length="12" type="real"/>
 
497
        </loop>
 
498
        <loop iterations="20" md_prefix="SAMP_NUM_COEFF_%02d" name="SAMP_NUM_COEFF">
 
499
            <field name="" longname="SAMP_NUM_COEFF" length="12" type="real"/>
 
500
        </loop>
 
501
        <loop iterations="20" md_prefix="SAMP_DEN_COEFF_%02d" name="SAMP_DEN_COEFF">
 
502
            <field name="" longname="SAMP_DEN_COEFF" length="12" type="real"/>
 
503
        </loop>
 
504
    </tre>
 
505
 
 
506
    <tre name="RSMAPA" minlength="507" maxlength="1243" location="image">
 
507
        <field name="IID" length="80" type="string"/>
 
508
        <field name="EDITION" length="40" type="string"/>
 
509
        <field name="TID" length="40" type="string"/>
 
510
        <field name="NPAR" length="2" type="integer" minval="1" maxval="36"/>
 
511
        <field name="XUOL" length="21" type="real" unit="meters"/>
 
512
        <field name="YUOL" length="21" type="real" unit="meters"/>
 
513
        <field name="ZUOL" length="21" type="real" unit="meters"/>
 
514
        <field name="XUXL" length="21" type="real"/>
 
515
        <field name="XUYL" length="21" type="real"/>
 
516
        <field name="XUZL" length="21" type="real"/>
 
517
        <field name="YUXL" length="21" type="real"/>
 
518
        <field name="YUYL" length="21" type="real"/>
 
519
        <field name="YUZL" length="21" type="real"/>
 
520
        <field name="ZUXL" length="21" type="real"/>
 
521
        <field name="ZUYL" length="21" type="real"/>
 
522
        <field name="ZUZL" length="21" type="real"/>
 
523
        <field name="IRO" length="2" type="integer" minval="1" maxval="36"/>
 
524
        <field name="IRX" length="2" type="integer" minval="1" maxval="36"/>
 
525
        <field name="IRY" length="2" type="integer" minval="1" maxval="36"/>
 
526
        <field name="IRZ" length="2" type="integer" minval="1" maxval="36"/>
 
527
        <field name="IRXX" length="2" type="integer" minval="1" maxval="36"/>
 
528
        <field name="IRXY" length="2" type="integer" minval="1" maxval="36"/>
 
529
        <field name="IRXZ" length="2" type="integer" minval="1" maxval="36"/>
 
530
        <field name="IRYY" length="2" type="integer" minval="1" maxval="36"/>
 
531
        <field name="IRYZ" length="2" type="integer" minval="1" maxval="36"/>
 
532
        <field name="IRZZ" length="2" type="integer" minval="1" maxval="36"/>
 
533
        <field name="IC0" length="2" type="integer" minval="1" maxval="36"/>
 
534
        <field name="ICX" length="2" type="integer" minval="1" maxval="36"/>
 
535
        <field name="ICY" length="2" type="integer" minval="1" maxval="36"/>
 
536
        <field name="ICZ" length="2" type="integer" minval="1" maxval="36"/>
 
537
        <field name="ICXX" length="2" type="integer" minval="1" maxval="36"/>
 
538
        <field name="ICXY" length="2" type="integer" minval="1" maxval="36"/>
 
539
        <field name="ICXZ" length="2" type="integer" minval="1" maxval="36"/>
 
540
        <field name="ICYY" length="2" type="integer" minval="1" maxval="36"/>
 
541
        <field name="ICYZ" length="2" type="integer" minval="1" maxval="36"/>
 
542
        <field name="ICZZ" length="2" type="integer" minval="1" maxval="36"/>
 
543
        <field name="GXO" length="2" type="integer" minval="1" maxval="36"/>
 
544
        <field name="GYO" length="2" type="integer" minval="1" maxval="36"/>
 
545
        <field name="GZO" length="2" type="integer" minval="1" maxval="36"/>
 
546
        <field name="GXR" length="2" type="integer" minval="1" maxval="36"/>
 
547
        <field name="GYR" length="2" type="integer" minval="1" maxval="36"/>
 
548
        <field name="GZR" length="2" type="integer" minval="1" maxval="36"/>
 
549
        <field name="GS" length="2" type="integer" minval="1" maxval="36"/>
 
550
        <field name="GXX" length="2" type="integer" minval="1" maxval="36"/>
 
551
        <field name="GXY" length="2" type="integer" minval="1" maxval="36"/>
 
552
        <field name="GXZ" length="2" type="integer" minval="1" maxval="36"/>
 
553
        <field name="GYX" length="2" type="integer" minval="1" maxval="36"/>
 
554
        <field name="GYY" length="2" type="integer" minval="1" maxval="36"/>
 
555
        <field name="GYZ" length="2" type="integer" minval="1" maxval="36"/>
 
556
        <field name="GZX" length="2" type="integer" minval="1" maxval="36"/>
 
557
        <field name="GZY" length="2" type="integer" minval="1" maxval="36"/>
 
558
        <field name="GZZ" length="2" type="integer" minval="1" maxval="36"/>
 
559
        <loop counter="NPAR" md_prefix="PAR_%02d_" name="PAR">
 
560
            <field name="PARVAL" length="21" type="real"/>
 
561
        </loop>
 
562
    </tre>
 
563
 
 
564
    <tre name="RSMDCA" minlength="597" maxlength="99988" location="image">
 
565
        <field name="IID" length="80" type="string"/>
 
566
        <field name="EDITION" length="40" type="string"/>
 
567
        <field name="TID" length="40" type="string"/>
 
568
        <field name="NPAR" length="2" type="integer" minval="1" maxval="36"/>
 
569
        <field name="NIMGE" length="3" type="integer" minval="1" maxval="999"/>
 
570
        <field name="NPART" length="5" type="integer" minval="1" maxval="99999"/>
 
571
        <loop counter="NIMGE" md_prefix="IMAGEF_%03d_" name="IMAGE">
 
572
            <field name="IID" length="80" type="string"/>
 
573
            <field name="NPARI" length="2" type="integer" minval="1" maxval="36"/>
 
574
        </loop>
 
575
        <field name="XUOL" length="21" type="real" unit="meters"/>
 
576
        <field name="YUOL" length="21" type="real" unit="meters"/>
 
577
        <field name="ZUOL" length="21" type="real" unit="meters"/>
 
578
        <field name="XUXL" length="21" type="real"/>
 
579
        <field name="XUYL" length="21" type="real"/>
 
580
        <field name="XUZL" length="21" type="real"/>
 
581
        <field name="YUXL" length="21" type="real"/>
 
582
        <field name="YUYL" length="21" type="real"/>
 
583
        <field name="YUZL" length="21" type="real"/>
 
584
        <field name="ZUXL" length="21" type="real"/>
 
585
        <field name="ZUYL" length="21" type="real"/>
 
586
        <field name="ZUZL" length="21" type="real"/>
 
587
        <field name="IRO" length="2" type="integer" minval="1" maxval="36"/>
 
588
        <field name="IRX" length="2" type="integer" minval="1" maxval="36"/>
 
589
        <field name="IRY" length="2" type="integer" minval="1" maxval="36"/>
 
590
        <field name="IRZ" length="2" type="integer" minval="1" maxval="36"/>
 
591
        <field name="IRXX" length="2" type="integer" minval="1" maxval="36"/>
 
592
        <field name="IRXY" length="2" type="integer" minval="1" maxval="36"/>
 
593
        <field name="IRXZ" length="2" type="integer" minval="1" maxval="36"/>
 
594
        <field name="IRYY" length="2" type="integer" minval="1" maxval="36"/>
 
595
        <field name="IRYZ" length="2" type="integer" minval="1" maxval="36"/>
 
596
        <field name="IRZZ" length="2" type="integer" minval="1" maxval="36"/>
 
597
        <field name="IC0" length="2" type="integer" minval="1" maxval="36"/>
 
598
        <field name="ICX" length="2" type="integer" minval="1" maxval="36"/>
 
599
        <field name="ICY" length="2" type="integer" minval="1" maxval="36"/>
 
600
        <field name="ICZ" length="2" type="integer" minval="1" maxval="36"/>
 
601
        <field name="ICXX" length="2" type="integer" minval="1" maxval="36"/>
 
602
        <field name="ICXY" length="2" type="integer" minval="1" maxval="36"/>
 
603
        <field name="ICXZ" length="2" type="integer" minval="1" maxval="36"/>
 
604
        <field name="ICYY" length="2" type="integer" minval="1" maxval="36"/>
 
605
        <field name="ICYZ" length="2" type="integer" minval="1" maxval="36"/>
 
606
        <field name="ICZZ" length="2" type="integer" minval="1" maxval="36"/>
 
607
        <field name="GXO" length="2" type="integer" minval="1" maxval="36"/>
 
608
        <field name="GYO" length="2" type="integer" minval="1" maxval="36"/>
 
609
        <field name="GZO" length="2" type="integer" minval="1" maxval="36"/>
 
610
        <field name="GXR" length="2" type="integer" minval="1" maxval="36"/>
 
611
        <field name="GYR" length="2" type="integer" minval="1" maxval="36"/>
 
612
        <field name="GZR" length="2" type="integer" minval="1" maxval="36"/>
 
613
        <field name="GS" length="2" type="integer" minval="1" maxval="36"/>
 
614
        <field name="GXX" length="2" type="integer" minval="1" maxval="36"/>
 
615
        <field name="GXY" length="2" type="integer" minval="1" maxval="36"/>
 
616
        <field name="GXZ" length="2" type="integer" minval="1" maxval="36"/>
 
617
        <field name="GYX" length="2" type="integer" minval="1" maxval="36"/>
 
618
        <field name="GYY" length="2" type="integer" minval="1" maxval="36"/>
 
619
        <field name="GYZ" length="2" type="integer" minval="1" maxval="36"/>
 
620
        <field name="GZX" length="2" type="integer" minval="1" maxval="36"/>
 
621
        <field name="GZY" length="2" type="integer" minval="1" maxval="36"/>
 
622
        <field name="GZZ" length="2" type="integer" minval="1" maxval="36"/>
 
623
        <loop formula="(NPART+1)*(NPART)/2" name="DERCOV" md_prefix="DERCOV_%05d"> <!--Warning: this condition is currently hardcoded in the interpreter -->
 
624
            <field name="" longname="DERCOV" length="21" type="real"/>
 
625
        </loop>
 
626
    </tre>
 
627
 
 
628
    <tre name="RSMECA" minlength="354" maxlength="42864" location="image">
 
629
        <field name="IID" length="80" type="string"/>
 
630
        <field name="EDITION" length="40" type="string"/>
 
631
        <field name="TID" length="40" type="string"/>
 
632
        <field name="INCLIC" length="1" type="string"/>
 
633
        <field name="INCLUC" length="1" type="string"/>
 
634
        <if cond="INCLIC=Y">
 
635
            <field name="NPAR" length="2" type="integer" minval="1" maxval="36"/>
 
636
            <field name="NPARO" length="2" type="integer" minval="1" maxval="36"/>
 
637
            <field name="IGN" length="2" type="integer" minval="1" maxval="36"/>
 
638
            <field name="CVDATE" length="8" type="string"/>
 
639
            <field name="XUOL" length="21" type="real" unit="meters"/>
 
640
            <field name="YUOL" length="21" type="real" unit="meters"/>
 
641
            <field name="ZUOL" length="21" type="real" unit="meters"/>
 
642
            <field name="XUXL" length="21" type="real"/>
 
643
            <field name="XUYL" length="21" type="real"/>
 
644
            <field name="XUZL" length="21" type="real"/>
 
645
            <field name="YUXL" length="21" type="real"/>
 
646
            <field name="YUYL" length="21" type="real"/>
 
647
            <field name="YUZL" length="21" type="real"/>
 
648
            <field name="ZUXL" length="21" type="real"/>
 
649
            <field name="ZUYL" length="21" type="real"/>
 
650
            <field name="ZUZL" length="21" type="real"/>
 
651
            <field name="IRO" length="2" type="integer" minval="1" maxval="36"/>
 
652
            <field name="IRX" length="2" type="integer" minval="1" maxval="36"/>
 
653
            <field name="IRY" length="2" type="integer" minval="1" maxval="36"/>
 
654
            <field name="IRZ" length="2" type="integer" minval="1" maxval="36"/>
 
655
            <field name="IRXX" length="2" type="integer" minval="1" maxval="36"/>
 
656
            <field name="IRXY" length="2" type="integer" minval="1" maxval="36"/>
 
657
            <field name="IRXZ" length="2" type="integer" minval="1" maxval="36"/>
 
658
            <field name="IRYY" length="2" type="integer" minval="1" maxval="36"/>
 
659
            <field name="IRYZ" length="2" type="integer" minval="1" maxval="36"/>
 
660
            <field name="IRZZ" length="2" type="integer" minval="1" maxval="36"/>
 
661
            <field name="IC0" length="2" type="integer" minval="1" maxval="36"/>
 
662
            <field name="ICX" length="2" type="integer" minval="1" maxval="36"/>
 
663
            <field name="ICY" length="2" type="integer" minval="1" maxval="36"/>
 
664
            <field name="ICZ" length="2" type="integer" minval="1" maxval="36"/>
 
665
            <field name="ICXX" length="2" type="integer" minval="1" maxval="36"/>
 
666
            <field name="ICXY" length="2" type="integer" minval="1" maxval="36"/>
 
667
            <field name="ICXZ" length="2" type="integer" minval="1" maxval="36"/>
 
668
            <field name="ICYY" length="2" type="integer" minval="1" maxval="36"/>
 
669
            <field name="ICYZ" length="2" type="integer" minval="1" maxval="36"/>
 
670
            <field name="ICZZ" length="2" type="integer" minval="1" maxval="36"/>
 
671
            <field name="GXO" length="2" type="integer" minval="1" maxval="36"/>
 
672
            <field name="GYO" length="2" type="integer" minval="1" maxval="36"/>
 
673
            <field name="GZO" length="2" type="integer" minval="1" maxval="36"/>
 
674
            <field name="GXR" length="2" type="integer" minval="1" maxval="36"/>
 
675
            <field name="GYR" length="2" type="integer" minval="1" maxval="36"/>
 
676
            <field name="GZR" length="2" type="integer" minval="1" maxval="36"/>
 
677
            <field name="GS" length="2" type="integer" minval="1" maxval="36"/>
 
678
            <field name="GXX" length="2" type="integer" minval="1" maxval="36"/>
 
679
            <field name="GXY" length="2" type="integer" minval="1" maxval="36"/>
 
680
            <field name="GXZ" length="2" type="integer" minval="1" maxval="36"/>
 
681
            <field name="GYX" length="2" type="integer" minval="1" maxval="36"/>
 
682
            <field name="GYY" length="2" type="integer" minval="1" maxval="36"/>
 
683
            <field name="GYZ" length="2" type="integer" minval="1" maxval="36"/>
 
684
            <field name="GZX" length="2" type="integer" minval="1" maxval="36"/>
 
685
            <field name="GZY" length="2" type="integer" minval="1" maxval="36"/>
 
686
            <field name="GZZ" length="2" type="integer" minval="1" maxval="36"/>
 
687
            <loop counter="IGN" name="IG" md_prefix="IG_%02d_">
 
688
                <field name="NUMOPG" length="2" type="integer" minval="1" maxval="36"/>
 
689
                <loop formula="(NUMOPG+1)*(NUMOPG)/2" name="EG" md_prefix="EG_%02d"> <!--Warning: this condition is currently hardcoded in the interpreter -->
 
690
                    <field name="" longname="ERRCVG" length="21" type="real"/>
 
691
                </loop>
 
692
                <field name="TCDF" length="1" type="integer" minval="0" maxval="2"/>
 
693
                <field name="NCSEG" length="1" type="integer" minval="2" maxval="9"/>
 
694
                <loop counter="NCSEG" name="CORSEG" md_prefix="CORSEG_%d_">
 
695
                    <field name="CORSEG" length="21" type="real"/>
 
696
                    <field name="TAUSEG" length="21" type="real" unit="seconds"/>
 
697
                </loop>
 
698
            </loop>
 
699
            <loop formula="NPAR*NPARO" name="MAP" md_prefix="MAP_%04d"> <!--Warning: this condition is currently hardcoded in the interpreter -->
 
700
                <field name="" longname="MAP" length="21" type="real"/>
 
701
            </loop>
 
702
        </if>
 
703
        <if cond="INCLUC=Y">
 
704
            <field name="URR" length="21" type="real" unit="pixel^2"/>
 
705
            <field name="URC" length="21" type="real" unit="pixel^2"/>
 
706
            <field name="UCC" length="21" type="real" unit="pixel^2"/>
 
707
            <field name="UNCSR" length="1" type="integer" minval="2" maxval="9"/>
 
708
            <loop counter="UNCSR" name="CORSR" md_prefix="CORSR_%d_">
 
709
                <field name="UCORSR" length="21" type="real"/>
 
710
                <field name="UTAUSR" length="21" type="real" unit="pixels"/>
 
711
            </loop>
 
712
            <field name="UNCSC" length="1" type="integer" minval="2" maxval="9"/>
 
713
            <loop counter="UNCSC" name="CORSC" md_prefix="CORSC_%d_">
 
714
                <field name="UCORSC" length="21" type="real"/>
 
715
                <field name="UTAUSC" length="21" type="real" unit="pixels"/>
 
716
            </loop>
 
717
        </if>
 
718
    </tre>
 
719
 
 
720
    <tre name="RSMGGA" minlength="390" maxlength="99988" location="image">
 
721
        <field name="IID" length="80" type="string"/>
 
722
        <field name="EDITION" length="40" type="string"/>
 
723
        <field name="GGRSN" length="3" type="integer" minval="1" maxval="256"/>
 
724
        <field name="GGCSN" length="3" type="integer" minval="1" maxval="256"/>
 
725
        <field name="GGRFEP" length="21" type="real"/>
 
726
        <field name="GGCFEP" length="21" type="real"/>
 
727
        <field name="INTORD" length="1" type="integer" minval="0" maxval="3"/>
 
728
        <field name="NPLN" length="3" type="integer" minval="2" maxval="999"/>
 
729
        <field name="DELTAZ" length="21" type="real"/>
 
730
        <field name="DELTAX" length="21" type="real"/>
 
731
        <field name="DELTAY" length="21" type="real"/>
 
732
        <field name="ZPLN1" length="21" type="real"/>
 
733
        <field name="XIPLN1" length="21" type="real"/>
 
734
        <field name="YIPLN1" length="21" type="real"/>
 
735
        <field name="REFROW" length="9" type="integer"/>
 
736
        <field name="REFCOL" length="9" type="integer"/>
 
737
        <field name="TNUMRD" length="2" type="integer" minval="3" maxval="31"/>
 
738
        <field name="TNUMCD" length="2" type="integer" minval="3" maxval="31"/>
 
739
        <field name="FNUMRD" length="1" type="integer" minval="1" maxval="3"/>
 
740
        <field name="FNUMCD" length="1" type="integer" minval="1" maxval="3"/>
 
741
        <loop formula="NPLN-1" name="IG" md_prefix="IG_%03d_"> <!--Warning: this condition is currently hardcoded in the interpreter -->
 
742
            <field name="IXO" length="4" type="integer"/>
 
743
            <field name="IYO" length="4" type="integer"/>
 
744
        </loop>
 
745
        <loop counter="NPLN" name="GP" md_prefix="GP_%03d_">
 
746
            <field name="NXPTS" length="3" type="integer" minval="2"/>
 
747
            <field name="NYPTS" length="3" type="integer" minval="2"/>
 
748
            <loop formula="NXPTS*NYPTS" name="GPCOORD" md_prefix="GPCOORD_%06d_"> <!--Warning: this condition is currently hardcoded in the interpreter -->
 
749
                <field name="RCOORD" length_var="TNUMRD" type="integer"/>
 
750
                <field name="CCOORD" length_var="TNUMCD" type="integer"/>
 
751
            </loop>
 
752
        </loop>
 
753
    </tre>
 
754
 
 
755
    <tre name="RSMGIA" length="591" location="image">
 
756
        <field name="IID" length="80" type="string"/>
 
757
        <field name="EDITION" length="40" type="string"/>
 
758
        <field name="GR0" length="21" type="real"/>
 
759
        <field name="GRX" length="21" type="real"/>
 
760
        <field name="GRY" length="21" type="real"/>
 
761
        <field name="GRZ" length="21" type="real"/>
 
762
        <field name="GRXX" length="21" type="real"/>
 
763
        <field name="GRXY" length="21" type="real"/>
 
764
        <field name="GRXZ" length="21" type="real"/>
 
765
        <field name="GRYY" length="21" type="real"/>
 
766
        <field name="GRYZ" length="21" type="real"/>
 
767
        <field name="GRZZ" length="21" type="real"/>
 
768
        <field name="GC0" length="21" type="real"/>
 
769
        <field name="GCX" length="21" type="real"/>
 
770
        <field name="GCY" length="21" type="real"/>
 
771
        <field name="GCZ" length="21" type="real"/>
 
772
        <field name="GCXX" length="21" type="real"/>
 
773
        <field name="GCXY" length="21" type="real"/>
 
774
        <field name="GCXZ" length="21" type="real"/>
 
775
        <field name="GCYY" length="21" type="real"/>
 
776
        <field name="GCYZ" length="21" type="real"/>
 
777
        <field name="GCZZ" length="21" type="real"/>
 
778
        <field name="GRNIS" length="3" type="integer"/>
 
779
        <field name="GCNIS" length="3" type="integer"/>
 
780
        <field name="GTNIS" length="3" type="integer"/>
 
781
        <field name="GRSSIZ" length="21" type="real"/>
 
782
        <field name="GCSSIZ" length="21" type="real"/>
 
783
    </tre>
 
784
 
 
785
    <tre name="RSMIDA" length="1628" location="image">
 
786
        <field name="IID" length="80" type="string"/>
 
787
        <field name="EDITION" length="40" type="string"/>
 
788
        <field name="ISID" length="40" type="string"/>
 
789
        <field name="SID" length="40" type="string"/>
 
790
        <field name="STID" length="40" type="string"/>
 
791
        <field name="YEAR" length="4" type="integer"/>
 
792
        <field name="MONTH" length="2" type="integer"/>
 
793
        <field name="DAY" length="2" type="integer"/>
 
794
        <field name="HOUR" length="2" type="integer"/>
 
795
        <field name="MINUTE" length="2" type="integer"/>
 
796
        <field name="SECOND" length="9" type="real"/>
 
797
        <field name="NRG" length="8" type="integer" unit="pixels" minval="1" maxval="99999999"/>
 
798
        <field name="NCG" length="8" type="integer" unit="pixels" minval="1" maxval="99999999"/>
 
799
        <field name="TRG" length="21" type="real" unit="seconds"/>
 
800
        <field name="TCG" length="21" type="real" unit="seconds"/>
 
801
        <field name="GRNDD" length="1" type="string"/>
 
802
        <field name="XUOR" length="21" type="real" unit="meters"/>
 
803
        <field name="YUOR" length="21" type="real" unit="meters"/>
 
804
        <field name="ZUOR" length="21" type="real" unit="meters"/>
 
805
        <field name="XUXR" length="21" type="real"/>
 
806
        <field name="XUYR" length="21" type="real"/>
 
807
        <field name="XUZR" length="21" type="real"/>
 
808
        <field name="YUXR" length="21" type="real"/>
 
809
        <field name="YUYR" length="21" type="real"/>
 
810
        <field name="YUZR" length="21" type="real"/>
 
811
        <field name="ZUXR" length="21" type="real"/>
 
812
        <field name="ZUYR" length="21" type="real"/>
 
813
        <field name="ZUZR" length="21" type="real"/>
 
814
        <field name="V1X" length="21" type="real"/>
 
815
        <field name="V1Y" length="21" type="real"/>
 
816
        <field name="V1Z" length="21" type="real"/>
 
817
        <field name="V2X" length="21" type="real"/>
 
818
        <field name="V2Y" length="21" type="real"/>
 
819
        <field name="V2Z" length="21" type="real"/>
 
820
        <field name="V3X" length="21" type="real"/>
 
821
        <field name="V3Y" length="21" type="real"/>
 
822
        <field name="V3Z" length="21" type="real"/>
 
823
        <field name="V4X" length="21" type="real"/>
 
824
        <field name="V4Y" length="21" type="real"/>
 
825
        <field name="V4Z" length="21" type="real"/>
 
826
        <field name="V5X" length="21" type="real"/>
 
827
        <field name="V5Y" length="21" type="real"/>
 
828
        <field name="V5Z" length="21" type="real"/>
 
829
        <field name="V6X" length="21" type="real"/>
 
830
        <field name="V6Y" length="21" type="real"/>
 
831
        <field name="V6Z" length="21" type="real"/>
 
832
        <field name="V7X" length="21" type="real"/>
 
833
        <field name="V7Y" length="21" type="real"/>
 
834
        <field name="V7Z" length="21" type="real"/>
 
835
        <field name="V8X" length="21" type="real"/>
 
836
        <field name="V8Y" length="21" type="real"/>
 
837
        <field name="V8Z" length="21" type="real"/>
 
838
        <field name="GRPX" length="21" type="real"/>
 
839
        <field name="GRPY" length="21" type="real"/>
 
840
        <field name="GRPZ" length="21" type="real"/>
 
841
        <field name="FULLR" length="8" type="integer" unit="pixels" minval="1" maxval="99999999"/>
 
842
        <field name="FULLC" length="8" type="integer" unit="pixels" minval="1" maxval="99999999"/>
 
843
        <field name="MINR" length="8" type="integer" unit="pixels" minval="0" maxval="99999999"/>
 
844
        <field name="MAXR" length="8" type="integer" unit="pixels" minval="0" maxval="99999999"/>
 
845
        <field name="MINC" length="8" type="integer" unit="pixels" minval="0" maxval="99999999"/>
 
846
        <field name="MAXC" length="8" type="integer" unit="pixels" minval="0" maxval="99999999"/>
 
847
        <field name="IE0" length="21" type="real" unit="radians"/>
 
848
        <field name="IER" length="21" type="real"/>
 
849
        <field name="IEC" length="21" type="real"/>
 
850
        <field name="IERR" length="21" type="real"/>
 
851
        <field name="IERC" length="21" type="real"/>
 
852
        <field name="IECC" length="21" type="real"/>
 
853
        <field name="IA0" length="21" type="real" unit="radians"/>
 
854
        <field name="IAR" length="21" type="real"/>
 
855
        <field name="IAC" length="21" type="real"/>
 
856
        <field name="IARR" length="21" type="real"/>
 
857
        <field name="IARC" length="21" type="real"/>
 
858
        <field name="IACC" length="21" type="real"/>
 
859
        <field name="SPX" length="21" type="real"/>
 
860
        <field name="SVX" length="21" type="real"/>
 
861
        <field name="SAX" length="21" type="real"/>
 
862
        <field name="SPY" length="21" type="real"/>
 
863
        <field name="SVY" length="21" type="real"/>
 
864
        <field name="SAY" length="21" type="real"/>
 
865
        <field name="SPZ" length="21" type="real"/>
 
866
        <field name="SVZ" length="21" type="real"/>
 
867
        <field name="SAZ" length="21" type="real"/>
 
868
    </tre>
 
869
 
 
870
    <tre name="RSMPCA" minlength="486" maxlength="18546" location="image">
 
871
        <field name="IID" length="80" type="string"/>
 
872
        <field name="EDITION" length="40" type="string"/>
 
873
        <field name="RSN" length="3" type="integer" minval="1" maxval="256"/>
 
874
        <field name="CSN" length="3" type="integer" minval="1" maxval="256"/>
 
875
        <field name="RFEP" length="21" type="real"/>
 
876
        <field name="CFEP" length="21" type="real"/>
 
877
        <field name="RNRMO" length="21" type="real"/>
 
878
        <field name="CNRMO" length="21" type="real"/>
 
879
        <field name="XNRMO" length="21" type="real"/>
 
880
        <field name="YNRMO" length="21" type="real"/>
 
881
        <field name="ZNRMO" length="21" type="real"/>
 
882
        <field name="RNRMSF" length="21" type="real"/>
 
883
        <field name="CNRMSF" length="21" type="real"/>
 
884
        <field name="XNRMSF" length="21" type="real"/>
 
885
        <field name="YNRMSF" length="21" type="real"/>
 
886
        <field name="ZNRMSF" length="21" type="real"/>
 
887
        <field name="RNPWRX" length="1" type="integer" minval="0" maxval="5"/>
 
888
        <field name="RNPWRY" length="1" type="integer" minval="0" maxval="5"/>
 
889
        <field name="RNPWRZ" length="1" type="integer" minval="0" maxval="5"/>
 
890
        <field name="RNTRMS" length="3" type="integer" minval="1" maxval="216"/>
 
891
        <loop counter="RNTRMS" name="RNPCF" md_prefix="RNPCF_%03d">
 
892
            <field name="" longname="RNPCF" length="21" type="real"/>
 
893
        </loop>
 
894
        <field name="RDPWRX" length="1" type="integer" minval="0" maxval="5"/>
 
895
        <field name="RDPWRY" length="1" type="integer" minval="0" maxval="5"/>
 
896
        <field name="RDPWRZ" length="1" type="integer" minval="0" maxval="5"/>
 
897
        <field name="RDTRMS" length="3" type="integer" minval="1" maxval="216"/>
 
898
        <loop counter="RDTRMS" name="RDPCF" md_prefix="RDPCF_%03d">
 
899
            <field name="" longname="RDPCF" length="21" type="real"/>
 
900
        </loop>
 
901
        <field name="CNPWRX" length="1" type="integer" minval="0" maxval="5"/>
 
902
        <field name="CNPWRY" length="1" type="integer" minval="0" maxval="5"/>
 
903
        <field name="CNPWRZ" length="1" type="integer" minval="0" maxval="5"/>
 
904
        <field name="CNTRMS" length="3" type="integer" minval="1" maxval="216"/>
 
905
        <loop counter="CNTRMS" name="CNPCF" md_prefix="CNPCF_%03d">
 
906
            <field name="" longname="CNPCF" length="21" type="real"/>
 
907
        </loop>
 
908
        <field name="CDPWRX" length="1" type="integer" minval="0" maxval="5"/>
 
909
        <field name="CDPWRY" length="1" type="integer" minval="0" maxval="5"/>
 
910
        <field name="CDPWRZ" length="1" type="integer" minval="0" maxval="5"/>
 
911
        <field name="CDTRMS" length="3" type="integer" minval="1" maxval="216"/>
 
912
        <loop counter="CDTRMS" name="CDPCF" md_prefix="CDPCF_%03d">
 
913
            <field name="" longname="CDPCF" length="21" type="real"/>
 
914
        </loop>
 
915
    </tre>
 
916
 
 
917
    <tre name="RSMPIA" length="591" location="image">
 
918
        <field name="IID" length="80" type="string"/>
 
919
        <field name="EDITION" length="40" type="string"/>
 
920
        <field name="R0" length="21" type="real"/>
 
921
        <field name="RX" length="21" type="real"/>
 
922
        <field name="RY" length="21" type="real"/>
 
923
        <field name="RZ" length="21" type="real"/>
 
924
        <field name="RXX" length="21" type="real"/>
 
925
        <field name="RXY" length="21" type="real"/>
 
926
        <field name="RXZ" length="21" type="real"/>
 
927
        <field name="RYY" length="21" type="real"/>
 
928
        <field name="RYZ" length="21" type="real"/>
 
929
        <field name="RZZ" length="21" type="real"/>
 
930
        <field name="C0" length="21" type="real"/>
 
931
        <field name="CX" length="21" type="real"/>
 
932
        <field name="CY" length="21" type="real"/>
 
933
        <field name="CZ" length="21" type="real"/>
 
934
        <field name="CXX" length="21" type="real"/>
 
935
        <field name="CXY" length="21" type="real"/>
 
936
        <field name="CXZ" length="21" type="real"/>
 
937
        <field name="CYY" length="21" type="real"/>
 
938
        <field name="CYZ" length="21" type="real"/>
 
939
        <field name="CZZ" length="21" type="real"/>
 
940
        <field name="RNIS" length="3" type="integer"/>
 
941
        <field name="CNIS" length="3" type="integer"/>
 
942
        <field name="TNIS" length="3" type="integer"/>
 
943
        <field name="RSSIZ" length="21" type="real"/>
 
944
        <field name="CSSIZ" length="21" type="real"/>
 
945
    </tre>
 
946
 
 
947
    <tre name="SOURCB" minlength="906" maxlength="99985" location="image">
 
948
        <field name="IS_SCA" length="9" type="integer"/>
 
949
        <field name="CPATCH" length="10" type="string"/>
 
950
        <field name="NUM_SOUR" length="2" type="integer" minval="1"/>
 
951
        <loop counter="NUM_SOUR" name="SOURCE" md_prefix="SOURCE_%02d_">
 
952
            <field name="NUM_BP" length="2" type="integer"/>
 
953
            <loop counter="NUM_BP" name="BP" md_prefix="BP_%02d_">
 
954
                <field name="NUM_PTS" length="3" type="integer"/>
 
955
                <loop counter="NUM_PTS" md_prefix="POINT_%03d_" name="POINT">
 
956
                    <field name="LON" length="15" type="real"/>
 
957
                    <field name="LAT" length="15" type="real"/>
 
958
                </loop>
 
959
            </loop>
 
960
            <field name="PRT" length="10" type="string"/>
 
961
            <field name="URF" length="20" type="string"/>
 
962
            <field name="EDN" length="7" type="string"/>
 
963
            <field name="NAM" length="20" type="string"/>
 
964
            <field name="CDP" length="3" type="integer"/>
 
965
            <field name="CDV" length="8" type="string"/>
 
966
            <field name="CDV27" length="8" type="string"/>
 
967
            <field name="SRN" length="80" type="string"/>
 
968
            <field name="SCA" length="9" type="integer"/>
 
969
            <field name="UNISQU" length="3" type="string"/>
 
970
            <if cond="UNISQU!=">
 
971
                <field name="SQU" length="10" type="integer"/>
 
972
            </if>
 
973
            <field name="UNIPCI" length="3" type="string"/>
 
974
            <if cond="UNIPCI!=">
 
975
                <field name="PCI" length="4" type="integer"/>
 
976
            </if>
 
977
            <field name="WPC" length="3" type="integer"/>
 
978
            <field name="NST" length="3" type="integer"/>
 
979
            <field name="UNIHKE" length="3" type="string"/>
 
980
            <if cond="UNIHKE!=">
 
981
                <field name="HKE" length="6" type="integer"/>
 
982
                <field name="LONHKE" length="15" type="real"/>
 
983
                <field name="LATHKE" length="15" type="real"/>
 
984
            </if>
 
985
            <field name="QSS" length="1" type="string"/>
 
986
            <field name="QOD" length="1" type="string"/>
 
987
            <if cond="QSS!=U AND QOD!=Y">                           <!--Warning: this condition is currently hardcoded in the interpreter -->
 
988
                <field name="CDV10" length="8" type="string"/>
 
989
            </if>
 
990
            <field name="QLE" length="80" type="string"/>
 
991
            <field name="CPY" length="80" type="string"/>
 
992
            <field name="NMI" length="2" type="integer"/>
 
993
            <loop counter="NMI" name="MI" md_prefix="MI_%02d_">
 
994
                <field name="CDV30" length="8" type="string"/>
 
995
                <field name="UNIRAT" length="3" type="string"/>
 
996
                <field name="RAT" length="8" type="real"/>
 
997
                <field name="UNIGMA" length="3" type="string"/>
 
998
                <field name="GMA" length="8" type="real"/>
 
999
                <field name="LONGMA" length="15" type="real"/>
 
1000
                <field name="LATGMA" length="15" type="real"/>
 
1001
                <field name="UNIGCA" length="3" type="string"/>
 
1002
                <if cond="UNIGCA!=">
 
1003
                    <field name="GCA" length="8" type="real"/>
 
1004
                </if>
 
1005
            </loop>
 
1006
            <field name="NLI" length="2" type="integer"/>
 
1007
            <loop counter="NLI" name="LI" md_prefix="LI_%02d_">
 
1008
                <field name="BAD" length="10" type="string"/>
 
1009
            </loop>
 
1010
            <field name="DAG" length="80" type="string"/>
 
1011
            <field name="DCD" length="4" type="string"/>
 
1012
            <field name="ELL" length="80" type="string"/>
 
1013
            <field name="ELC" length="3" type="string"/>
 
1014
            <field name="DVR" length="80" type="string"/>
 
1015
            <field name="VDCDVR" length="4" type="string"/>
 
1016
            <field name="SDA" length="80" type="string"/>
 
1017
            <field name="VDCSDA" length="4" type="string"/>
 
1018
            <field name="PRN" length="80" type="string"/>
 
1019
            <field name="PCO" length="2" type="string"/>
 
1020
            <field name="NUM_PRJ" length="1" type="integer"/>
 
1021
            <loop counter="NUM_PRJ" name="PRJ" md_prefix="PRJ_%d">
 
1022
                <field name="" longname="PRJ" length="15" type="real"/>
 
1023
            </loop>
 
1024
            <field name="XOR" length="15" type="integer" minval="0"/>
 
1025
            <field name="YOR" length="15" type="integer" minval="0"/>
 
1026
            <field name="GRD" length="3" type="string"/>
 
1027
            <field name="GRN" length="80" type="string"/>
 
1028
            <field name="ZNA" length="4" type="integer" minval="0"/>
 
1029
            <field name="NIN" length="2" type="integer"/>
 
1030
            <loop counter="NIN" name="IN" md_prefix="IN_%02d_">
 
1031
                <field name="INT" length="10" type="string"/>
 
1032
                <field name="INS_SCA" length="9" type="integer"/>
 
1033
                <field name="NTL" length="15" type="real"/>
 
1034
                <field name="TTL" length="15" type="real"/>
 
1035
                <field name="NVL" length="15" type="real"/>
 
1036
                <field name="TVL" length="15" type="real"/>
 
1037
                <field name="NTR" length="15" type="real"/>
 
1038
                <field name="TTR" length="15" type="real"/>
 
1039
                <field name="NVR" length="15" type="real"/>
 
1040
                <field name="TVR" length="15" type="real"/>
 
1041
                <field name="NRL" length="15" type="real"/>
 
1042
                <field name="TRL" length="15" type="real"/>
 
1043
                <field name="NSL" length="15" type="real"/>
 
1044
                <field name="TSL" length="15" type="real"/>
 
1045
                <field name="NRR" length="15" type="real"/>
 
1046
                <field name="TRR" length="15" type="real"/>
 
1047
                <field name="NSR" length="15" type="real"/>
 
1048
                <field name="TSR" length="15" type="real"/>
 
1049
            </loop>
 
1050
        </loop>
 
1051
    </tre>
 
1052
 
 
1053
    <tre name="STDIDC" md_prefix="NITF_STDIDC_" length="89" location="image">
 
1054
        <field name="ACQUISITION_DATE" length="14"/>
 
1055
        <field name="MISSION" length="14"/>
 
1056
        <field name="PASS" length="2"/>
 
1057
        <field name="OP_NUM" length="3"/>
 
1058
        <field name="START_SEGMENT" length="2"/>
 
1059
        <field name="REPRO_NUM" length="2"/>
 
1060
        <field name="REPLAY_REGEN" length="3"/>
 
1061
        <field length="1"/>
 
1062
        <field name="START_COLUMN" length="3"/>
 
1063
        <field name="START_ROW" length="5"/>
 
1064
        <field name="END_SEGMENT" length="2"/>
 
1065
        <field name="END_COLUMN" length="3"/>
 
1066
        <field name="END_ROW" length="5"/>
 
1067
        <field name="COUNTRY" length="2"/>
 
1068
        <field name="WAC" length="4"/>
 
1069
        <field name="LOCATION" length="11"/>
 
1070
        <field length="5"/>
 
1071
        <field length="8"/>
 
1072
    </tre>
 
1073
 
 
1074
    <tre name="USE00A" md_prefix="NITF_USE00A_" length="107" location="image">
 
1075
        <field name="ANGLE_TO_NORTH" length="3"/>
 
1076
        <field name="MEAN_GSD" length="5"/>
 
1077
        <field length="1"/>
 
1078
        <field name="DYNAMIC_RANGE" length="5"/>
 
1079
        <field length="3"/>
 
1080
        <field length="1"/>
 
1081
        <field length="3"/>
 
1082
        <field name="OBL_ANG" length="5"/>
 
1083
        <field name="ROLL_ANG" length="6"/>
 
1084
        <field length="12"/>
 
1085
        <field length="15"/>
 
1086
        <field length="4"/>
 
1087
        <field length="1"/>
 
1088
        <field length="3"/>
 
1089
        <field length="1"/>
 
1090
        <field length="1"/>
 
1091
        <field name="N_REF" length="2"/>
 
1092
        <field name="REV_NUM" length="5"/>
 
1093
        <field name="N_SEG" length="3"/>
 
1094
        <field name="MAX_LP_SEG" length="6"/>
 
1095
        <field length="6"/>
 
1096
        <field length="6"/>
 
1097
        <field name="SUN_EL" length="5"/>
 
1098
        <field name="SUN_AZ" length="5"/>
 
1099
    </tre>
 
1100
</tres>