[poppler] Extracting geolocation metadata from a GeoPDF file

Albert Astals Cid aacid at kde.org
Sat Mar 27 13:08:38 PDT 2010


A Dissabte, 27 de març de 2010, Phil Endecott va escriure:
> Phil Endecott wrote:
> > I need to extract the geolocation metadata from a GeoPDF file.
> > 
> > If you're not familiar with this format, it's something that was
> > developed by a company called TerraGo Technologies and was adopted as a
> > "best practice" by the Open Geospatial Consortium.  There is a document
> > describing it via http://www.opengeospatial.org/standards/bp (look for
> > "GeoPDF"; click-through but free-looking license required).  Basically
> > it provides a method to associate positions in the document with
> > latitude-longitude positions on the ground.
> > 
> > The method used is to define "map frames" that are added to the parent
> > PDF page object.  As I understand it, there is a new key 'LGIDict' in
> > the page object, which is an array of dictionaries one per map frame,
> > each of which contains a set of entries like containing matrices,
> > bounding boxes etc. that define the geolocation for that frame.
> 
> Well I have cobbled together something that gets the page objects and I
> can see the 'LGIDict' that I was looking for.  I had to hack Page.h to
> make the pageObj public; is there some better way that I should have
> been doing that?
> 
> I was confused for a while because the example GeoPDF that I linked to 
before:
> > Here's an example of a GeoPDF file:
> > ftp://ftp2.cits.rncan.gc.ca/pub/cantopo/50k_pdf/092/g/cantopo_092g06_pdf.
> > zip
> 
> seems to not have the LGIDict, nor anything else additional in the page
> object.  Of course I assumed by code was wrong for a long time before
> suspecting the file.  A test with another file got the LGIDict immediately.
> 
> To help with debugging, I was wondering if there is any easy way to
> decode the PDF to a point where I can see its unencoded text (or
> however one describes this first level of encoding).  Specifically the
> GeoPDF document describes stuff at this level:
> 
> 105 0 obj
> <<
>      /Type /Page
>      /LGIDict 104 0 R
> ......
> 
> endobj
> 104 0 obj
> <<
>      /Type /LGIDict
>      /Version (2.1)
>      /CTM
> .......
> 
> 
> What do I have to do to see that?


You can try podofobrowser (not part of poppler)

Albert

> 
> 
> Regards,
> 
> Phil.
> 
> 
> 
> 
> _______________________________________________
> poppler mailing list
> poppler at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/poppler


More information about the poppler mailing list