19

I want to convert a GeoPDF that has vectors entity in it to a vector format and preserve the real coordinates of these vectors. The GeoPDF has been exported from ArcMap and has layers in it.

I have try GDAL, but it rasterize the PDF before exporting it. Which is not good for me. Also I don't want a solution that would convert this image back to vectors, too complicated for the data I have.

Is someone aware of any tool that can do that? The resulting format can be a CAD file or a shapefile or anything that is a vector format.

4
  • 2
    If at all possible, its probably best to get the data in another format: while GeoPDF does have actual coordinates embedded, its more useful as portable miniature GIS implementation than it is as an exchange format, especially because its relatively new and the tools haven't caught up.
    – scw
    Commented May 14, 2011 at 20:47
  • @scw I have the same opinion as you, but sometimes you have to work with what is available!!
    – jeb
    Commented May 16, 2011 at 14:37
  • 1
    Side note to this topic, I have found a product that display a GeoPDF as a georeferenced raster in ArcMap (behave like a raster). Can be useful for vector capture, but no vector conversion available. terragotech.com/products/terrago-publisher-arcgis
    – jeb
    Commented Oct 19, 2012 at 19:43
  • Please note the distinction between GeoPDF and geospatial pdf. The information here addresses both, but the question isn't clear on which you'd like to work with. See the tag Wikis for more detailed information on the distinction.
    – Chris W
    Commented May 24, 2015 at 1:02

6 Answers 6

5

The pay for program pdf2cad will convert to dxf or hpgl.
If the geopdf has layers in it there is an option to save the layers to dxf.
Sometimes (actually pretty often) when there is a layer in the geopdf that gts the "default" name you have to edit the dxf.
"defalut" is not a valid layer name in dxf files.
But the dxf files are editable in a text editor.

You also have to geo-reference the dxf afterwards. (I have put in an enhancement request for reading the coords from the geo-pdf.)

scale option
In distance select measure and measure a known distance (i.e. mile section), then use feet and put in 5280.
On tie point if you know a point on the ground ,determine it's pixel values then you can put both those coordinates in and hit select.
The only thing you don't get is rotation but this just gets it close so you can finish it up in cad.

I like the software and I am about to pay for the upgrade. v8 i think. It is not what I would call a high class software but worth the money and I can't really remember it ever crashing on me.
One other bug I have found is that when there is an image (see next section for more) and you open the dxf the image is referenced in upside down. ?? To reparir I use the mirror command and select the mid of one side and flip it over. But often the images aren't important to me just the vectors.

Image pdf:
if there is a background image in the geopdf it is converted to an image in the dxf.
Also if there are any layers in the arcmap document that are transparent or have other cartographic effects they may be added (merged) to the image layer in the geo-pdf.

If this image is important enough to use. What I do is use Irfanview it handles many many image formats and there is a pdf plugin. I open the pdf in irfanview and save to my favorite image format and then insert and geo-reference.
BTW: get the complete plugins. And ghostscript also to make the pdf plugin work.

2
  • Thanks for the info... too bad it doesn't retain the real coordinates. I also find another option axsware.com , but the demo doesn't permit me to see if it's retaining the real coordinates, but looks similar to pdf2cad functionality. Thanks.
    – jeb
    Commented May 24, 2011 at 14:47
  • @jeb - I did begin to use the scale options which allow me to define one known point and a scale. Which gets it close enough to geo-reference after that. See edit above.
    – Brad Nesom
    Commented Jun 22, 2012 at 14:17
4

With current GDAL 1.11.1, it is possible to read and write GeoPDF vector data with

ogr2ogr -f sqlite out.sqlite in.pdf

and backward

ogr2ogr -f PDF out.pdf in.sqlite

Styling a PDF output might still be handwork though. But Acrobat reader is able to display coordinates, and select layers individually.

2
  • 1
    This may be a very old post but it's still relevant.. OGR2OGR didn't work for a non-geo PDF but the product PSToEdit (calvina.de/pstoedit, open source, on SourceForge sourceforge.net/projects/pstoedit/files/pstoedit) mentioned by Carlo did, to an ungeoreferenced DXF which can be georeferenced and exported to shapefile... a little tedious but much faster than digitizing the lines again from a raster. Commented Mar 8, 2018 at 1:02
  • Great tip! Should this most basic command suffice for this conversion: pstoedit -f dxf input.pdf output.dxf@MichaelStimson? I am getting 'the interpretor seems to have failed' error
    – 15Step
    Commented Jun 25, 2019 at 10:28
2

I don't know any tool that can do this in one step. If you are prepared to georeferencing the vectors manually the following works:

  1. Convert GeoPDF to raster using GDAL.
  2. Convert PDF to DXF using graphics package such as illustrator, Try and eliminate any unnecessary data at this stage, and clean up the layers. Import into GIS and convert to native points, lines, polygons.
  3. Use the raster to georeference the vector. In ArcGIS this is called spatial adjustment. If the vectors have grid lines use these as a priority for georeferencing.
  4. Alternatively (if you lack ArcGIS) you could find a pair of tie points manually and calculate an appropriate transformation.

It may take a few attempts to get it right, but the results can be very precise.

1

Using pstoedit you could convert your pdf to dxf – beware you are going to lose georeferencing and layer distinction, but you will obtain true vectors and you can fiddle with several options to enhance the result. Opening the file with a vector editor (Illustrator™, Inkscape - free and others) you can create something similar to layers (group of features) that can be processed separately.

0

I created a script tool that calls pstoedit and converts to dxf you can reference spatially (manually) before exporting to a feature class. Don't need to open any separate software. My gdal/python bindings fell apart with my last ArcGIS update, but if you have a GeoPDF the ogr2ogr route will get you all the linework, sans attributes, but at least it will be spatially referenced already. Just to mention, you can also convert the raster GeoPDF with GDAL using gdal_translate.

http://www.gdal.org/gdal_translate.html

http://www.gdal.org/1.11/frmt_pdf.html

0

I was able to export the vectored contour lines in a GeoPDF (from Acrobat Pro) as an EPS file which I then opened in Adobe Illustrator.

I do not know if this retains the coordinate data, however.

If you choose to do this, set only the layers you want to export as visible (click the "eye" icon next to the others to turn them off). Then choose "Export" from the file menu and choose "PostScript" then choose "Encapsulated PostScript".

When I opened up the EPS file in Illustrator, all the vector lines were maintained.

(I just found this out today. Before, I had actually imported a screenshot of the topo file into Illustrator and manually traced every contour.)

You could probably geo-reference this vector file in another application, assuming the coordinate data didn't transfer.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.