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

Even Rouault even.rouault at mines-paris.org
Tue Sep 28 15:01:25 EDT 2010


Cool, thanks for your feedback. I could also test it successfully with 
GeoGenesis LITE that visibly takes into account the GEOLOB & GEOPSB TRE when 
available.

I've commited the changes in trunk in r20708 with minor variations (comments, 
and so on). The only change that you'd notice is that I renamed the creation 
option to be SDE_TRE, so that in the future it can be also used to write 
MAPLOB & PRJPSB TRE in case of projected SRS.

Le mardi 28 septembre 2010 17:41:35, Frank Evans a écrit :
> Even, I downloaded and compiled the GDAL trunk, then added your changes. It
> worked perfectly. See the attached screenshot.
> 
> gdal_translate -of NITF -co WRITE_GEOLOB=YES -co \
> BLOCKXSIZE=1024 -co BLOCKYSIZE=1024 \
> foo.tif foo.ntf
> 
> I'm actually working against an older release (1.7), so I'll need to do a
> little merging, but things are looking very good.
> 
> I'm very grateful for your help. Is there any other information I can
> provide?
> 
> 
> --- On Sun, 9/26/10, Frank Evans <frankhevans at yahoo.com> wrote:
> 
> From: Frank Evans <frankhevans at yahoo.com>
> Subject: Re: [gdal-dev] Re: NITF driver reads GEOLOB, but does not write
> it. To: "Even Rouault" <even.rouault at mines-paris.org>
> Date: Sunday, September 26, 2010, 2:18 PM
> 
> In the case of Global Mapper I might not have been clear.
> 
> Global Mapper Summary
> Even though GlobalMapper does not use GEOLOB, specifying the GEOLOB "broke"
> the NITF for GlobalMapper because it changed the IGEOLO to Decimal
> Degrees, GlobalMapper didn't complain. But it registered the image in the
> wrong location (way wrong).
> 
> After I applied the change you suggested, GlobalMapper was able to read the
> IGEOLO. But you are right, it probably ignores the GEOLOB.
> 
> ERDAS Summary (version 10)
> Like GlobalMapper, ERDAS also chokes unless ICORDS='G'If you add the GEOLOB
> and set ICORDS='G', ERDAS will read the NITF but you don't get the
> accuracy.If you add the GEOLOB, and add the GEOPSB, and also specify
> ICORDS='G', then you get submeter accuracy which lines up with the
> original image.
> 
> I wrote the GEOPSB as a TRE, not as a FILE_TRE. I will try FILE_TRE, and
> let you know. I will definitely test the patch. Thanks very much....
> 
> 
> 
> 
> 
> --- On Sun, 9/26/10, Even Rouault <even.rouault at mines-paris.org> wrote:
> 
> From: Even Rouault <even.rouault at mines-paris.org>
> Subject: Re: [gdal-dev] Re: NITF driver reads GEOLOB, but does not write
> it. To: "turtlewax" <frankhevans at yahoo.com>
> Date: Sunday, September 26, 2010, 1:34 PM
> 
> Hi,
> 
> Which Global Mapper version did you try ? I tried with v11 and v12
> (evaluation) versions and they don't appear to read GEOPSB and/or GEOLOB at
> all (for the sake of testing, I applied a big shift in the longitudes of
> the IGEOLO field to be sure to
>  distinguish if GEOLOB was used (1)), so I'm
> surprised by your report. Are you really sure that GEOLOB was used ?
> 
> I have not access to ERDAS software to test neither.
> 
> By the way, when reading the  specs, to be valid, the GEOPSB TRE must be
> written as a file header TRE (FILE_TRE=xxxx creation option in GDAL), and
> not as a image header TRE (TRE=xxxx creation option in GDAL). Which one
> did you use ?
> 
> I've attached a patch against latest SVN trunk (and the archive of the
> frmts/nitf directory) with all the that writes the GEOLOB and GEOPSB TRE
> from the georeferencing info, provided that you specify the
> WRITE_GEOLOB=YES creation option. Would you mind testing it and reporting
> if it works with the other software ?
> 
> Best regards,
> 
> Even
> 
> (1) You can do that for example by adding the following lines at the
> beginning of NITFWriteIGEOLO() in nitfimage.c
> 
>     dfULX +=
>  100;
>     dfURX += 100;
>     dfLRX += 100;
>     dfLLX += 100;
> 
> Le samedi 25 septembre 2010 23:41:22, turtlewax a écrit :
> > Thanks, you were right on both counts.
> > 1. Code change in nitfimage.c fixed the ERDAS/Global Mapper error.
> > 2. To get the improved accuracy I did have to specify the GEOPSB TRE as
> > well.
> > 
> > To make this work in mapserver I'll need to do something like the
> > following, but that means the OUTPUTFORMAT will be specific to each
> > raster/layer, so a mapfile can only contain a single layer.
> >
> >   OUTPUTFORMAT
> >     NAME NITF
> >     DRIVER "GDAL/NITF"
> >     IMAGEMODE RGB
> >     MIMETYPE "image/nitf"
> >     EXTENSION "ntf"
> >     #The following option needs to be
> 
>  specific to each layer
> 
> >     FORMATOPTION
> >
> > "TRE=GEOLOB=073932800080076800-136.9774560321+045.1446198929"
> >
> >   END


More information about the gdal-dev mailing list