[gdal-dev] NITF DESDATA

matt.nottingham at zen.co.uk matt.nottingham at zen.co.uk
Sun Oct 7 03:59:08 PDT 2012


Thanks for your quick & insightful reply.

I'll have a (re)look at getmetadata("tre") - but I seem to remember
that it didn't return anything, but I'll check again. I'll also look
into NITFDESAccess() / NITFDESDeaccess().

Thanks again,

Matt

Even Rouault writes:
 > Le dimanche 07 octobre 2012 10:57:05, matt.nottingham at zen.co.uk a écrit :
 > > Hi,
 > > 
 > > I'm trying to access the DESDATA segment of a nitf file. Nothing
 > > appears to happen in the default build - i.e. getmetadata("DES") (or
 > > getmetadata("NITF_DES")) doesn't return anything. Looking at the NITF
 > > driver I can see it has all of the code necessary to read the DES part
 > > of nitf files, but its all protected by a #ifdef ESRI_BUILD. If I
 > > bodge the fmts/nitf/gnumakefile (I'm on FC16) to have a -DESRI_BUILD
 > > in the CFLAG variable then it all works as expected. So my questions
 > > are:
 > > 
 > > 1) Have I missed something stupid and desdata can be read by a default
 > > build? (I'm using gdal 1.9.0)
 > 
 > Reading DES with GDAL API is certainly an advanced capability, so nothing 
 > "stupid" missed here.
 > 
 > > 
 > > 2) Why doesn't the default build of gdal read desdata? (It seems odd
 > > to have all the code then not use it - there must be a good reason for
 > > that).
 > 
 > In fact, you can read the TREs that are in a DE segment by using the 
 > GetMetadata("TRE") or GetMetadata("xml:TRE"). But if you are interested in the 
 > raw segment information, you'll have to use the NITF C API, which is semi 
 > public (isn't guaranteed to be as stable as the GDAL C API). See 
 > NITFDESAccess() / NITFDESDeaccess()  in frmts/nitf/nitflib.h
 > 
 > > 
 > > 3) What is the ESRI_BUILD flag? I can't find any docs on it - its not
 > > clear which option(s) set it.
 > 
 > ESRI_BUILD protects code paths that are specific (or deemed as specific) to ESRI 
 > needs. They have their own branch of GDAL with some tweaks that haven't been 
 > vetted as general purpose (or whose rationale has not been clearly understood 
 > to enable them by default).
 > 
 > In the case of NITF, there are sometimes overlaps between what they have done 
 > and what exists in standard GDAL. They have also selected Base64 escaping 
 > whereas the rest of the NITF driver traditionnaly used a "backslash quoting" 
 > escaping. So the merging isn't easy, and in that case of DESDATA, we haven't 
 > yet figured out how to do it (see NITF_DES_XML_DATA_CONTENT_DESDATA )
 > 
 > > 
 > > Sadly Google has failed me on the above - I can see people *are*
 > > reading it (http://trac.osgeo.org/gdal/ticket/4803), so why can't I!
 > 
 > The reporter of the ticket uses NITFDESAccess() directly in its application.
 > 
 > > 
 > > 
 > > Thanks very much,
 > > 
 > > Matt
 > > 
 > > _______________________________________________
 > > gdal-dev mailing list
 > > gdal-dev at lists.osgeo.org
 > > http://lists.osgeo.org/mailman/listinfo/gdal-dev


More information about the gdal-dev mailing list