[gdal-dev] Re: NITF driver reads GEOLOB, but does not write it.

Even Rouault even.rouault at mines-paris.org
Sat Sep 25 13:59:56 EDT 2010

> If I don't create the GEOLOB, then IGEOLO is written as follows.
> IGEOLO  258041N0665839E250841N0665915E250807N0665915E250807N0665839E
> If I create a GEOLOB, then IGEOLO is written as follows.
> IGEOLO	+25.145+066.977+25.145+066.987+25.135+066.987+25.135+066.977

Currently when reading the GEOLOB TRE, the driver forces the ICORDS field to be 
D (decimal) (and when writing a file, you begin to write a skeleton, and read 
it back to update it afterwards, which explains why your IGEOLO ends up being 
written as D). I'm not 100% sure why ICORDS was forces to D. I guess it is to 
ensure that the SRS will be geographic. I think this also could have been set 
equivalently to G.

So you can try to comment the line psImage->chICORDS = 'D' of NITFReadGEOLOB() 
in frmts/nitf/nitfimage.c, or change the D to G.

> This causes problems for viewers that I have tested (ERDAS and Global
> Mapper).
> If I write manually GEOLOB, am I required to manually provide other TREs?

According to the docs I quoted in my previous email, yes, you likely need 
writing the GEOPSB TRE in addition to GEOLOB.

More information about the gdal-dev mailing list