| 249 | | md = ds.GetMetadata( 'TRE' ) |
|---|
| 250 | | |
|---|
| 251 | | ds = None |
|---|
| 252 | | |
|---|
| 253 | | if md['BLOCKA'] != '010000001000000000 +41.319331+020.078400+41.317083+020.126072+41.281634+020.122570+41.283881+020.074924 ': |
|---|
| 254 | | gdaltest.post_reason( 'did not find expected BLOCKA metadata.' ) |
|---|
| | 249 | mdTRE = ds.GetMetadata( 'TRE' ) |
|---|
| | 250 | |
|---|
| | 251 | blockA = ds.GetMetadataItem( 'BLOCKA', 'TRE' ) |
|---|
| | 252 | |
|---|
| | 253 | mdCGM = ds.GetMetadata( 'CGM' ) |
|---|
| | 254 | |
|---|
| | 255 | segmentCount = ds.GetMetadataItem( 'SEGMENT_COUNT', 'CGM' ) |
|---|
| | 256 | |
|---|
| | 257 | ds = None |
|---|
| | 258 | |
|---|
| | 259 | expectedBlockA = '010000001000000000 +41.319331+020.078400+41.317083+020.126072+41.281634+020.122570+41.283881+020.074924 ' |
|---|
| | 260 | |
|---|
| | 261 | if mdTRE['BLOCKA'] != expectedBlockA: |
|---|
| | 262 | gdaltest.post_reason( 'did not find expected BLOCKA from metadata.' ) |
|---|
| | 263 | return 'fail' |
|---|
| | 264 | |
|---|
| | 265 | if blockA != expectedBlockA: |
|---|
| | 266 | gdaltest.post_reason( 'did not find expected BLOCKA from metadata item.' ) |
|---|
| | 267 | return 'fail' |
|---|
| | 268 | |
|---|
| | 269 | if mdCGM['SEGMENT_COUNT'] != '0': |
|---|
| | 270 | gdaltest.post_reason( 'did not find expected SEGMENT_COUNT from metadata.' ) |
|---|
| | 271 | return 'fail' |
|---|
| | 272 | |
|---|
| | 273 | if segmentCount != '0': |
|---|
| | 274 | gdaltest.post_reason( 'did not find expected SEGMENT_COUNT from metadata item.' ) |
|---|
| | 408 | |
|---|
| | 409 | ############################################################################### |
|---|
| | 410 | # Verify that TEXT access via the metadata domain works. |
|---|
| | 411 | |
|---|
| | 412 | def nitf_21(): |
|---|
| | 413 | |
|---|
| | 414 | # Shut up the warning about missing image segment |
|---|
| | 415 | gdal.PushErrorHandler( 'CPLQuietErrorHandler' ) |
|---|
| | 416 | ds = gdal.Open( 'data/ns3114a.nsf' ) |
|---|
| | 417 | gdal.PopErrorHandler() |
|---|
| | 418 | |
|---|
| | 419 | mdTEXT = ds.GetMetadata( 'TEXT' ) |
|---|
| | 420 | |
|---|
| | 421 | data0 = ds.GetMetadataItem( 'DATA_0', 'TEXT' ) |
|---|
| | 422 | |
|---|
| | 423 | ds = None |
|---|
| | 424 | |
|---|
| | 425 | if mdTEXT['DATA_0'] != 'A': |
|---|
| | 426 | gdaltest.post_reason( 'did not find expected DATA_0 from metadata.' ) |
|---|
| | 427 | return 'fail' |
|---|
| | 428 | |
|---|
| | 429 | if data0 != 'A': |
|---|
| | 430 | gdaltest.post_reason( 'did not find expected DATA_0 from metadata item.' ) |
|---|
| | 431 | return 'fail' |
|---|
| | 432 | |
|---|
| | 433 | return 'success' |
|---|
| | 434 | |
|---|
| | 435 | |
|---|
| | 571 | |
|---|
| | 572 | ############################################################################### |
|---|
| | 573 | # Verify that CGM access on a file with 8 CGM segments |
|---|
| | 574 | |
|---|
| | 575 | def nitf_online_10(): |
|---|
| | 576 | |
|---|
| | 577 | |
|---|
| | 578 | if not gdaltest.download_file('http://www.gwg.nga.mil/ntb/baseline/software/testfile/Nitfv2_1/ns3119b.nsf', 'ns3119b.nsf'): |
|---|
| | 579 | return 'skip' |
|---|
| | 580 | |
|---|
| | 581 | # Shut up the warning about missing image segment |
|---|
| | 582 | gdal.PushErrorHandler( 'CPLQuietErrorHandler' ) |
|---|
| | 583 | ds = gdal.Open( 'tmp/cache/ns3119b.nsf' ) |
|---|
| | 584 | gdal.PopErrorHandler() |
|---|
| | 585 | |
|---|
| | 586 | mdCGM = ds.GetMetadata( 'CGM' ) |
|---|
| | 587 | |
|---|
| | 588 | ds = None |
|---|
| | 589 | |
|---|
| | 590 | if mdCGM['SEGMENT_COUNT'] != '8': |
|---|
| | 591 | gdaltest.post_reason( 'wrong SEGMENT_COUNT.' ) |
|---|
| | 592 | return 'fail' |
|---|
| | 593 | |
|---|
| | 594 | tab = [ |
|---|
| | 595 | ('SEGMENT_0_SLOC_ROW', '00000'), |
|---|
| | 596 | ('SEGMENT_0_SLOC_COL', '00000'), |
|---|
| | 597 | ('SEGMENT_1_SLOC_ROW', '00000'), |
|---|
| | 598 | ('SEGMENT_1_SLOC_COL', '00684'), |
|---|
| | 599 | ('SEGMENT_2_SLOC_ROW', '00000'), |
|---|
| | 600 | ('SEGMENT_2_SLOC_COL', '01364'), |
|---|
| | 601 | ('SEGMENT_3_SLOC_ROW', '00270'), |
|---|
| | 602 | ('SEGMENT_3_SLOC_COL', '00000'), |
|---|
| | 603 | ('SEGMENT_4_SLOC_ROW', '00270'), |
|---|
| | 604 | ('SEGMENT_4_SLOC_COL', '00684'), |
|---|
| | 605 | ('SEGMENT_5_SLOC_ROW', '00270'), |
|---|
| | 606 | ('SEGMENT_5_SLOC_COL', '01364'), |
|---|
| | 607 | ('SEGMENT_6_SLOC_ROW', '00540'), |
|---|
| | 608 | ('SEGMENT_6_SLOC_COL', '00000'), |
|---|
| | 609 | ('SEGMENT_7_SLOC_ROW', '00540'), |
|---|
| | 610 | ('SEGMENT_7_SLOC_COL', '01364') |
|---|
| | 611 | ] |
|---|
| | 612 | |
|---|
| | 613 | for item in tab: |
|---|
| | 614 | if mdCGM[item[0]] != item[1]: |
|---|
| | 615 | gdaltest.post_reason( 'wrong value for %s.' % item[0] ) |
|---|
| | 616 | return 'fail' |
|---|
| | 617 | |
|---|
| | 618 | return 'success' |
|---|