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?


Regards,

Phil.




_______________________________________________
poppler mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/poppler

Reply via email to