I have had several people send me follow-up emails about converting the USGS eTopos (you can download these from store.usgs.gov), so I thought it might make sense to just post this to the list as a HOW-TO.
Apologies for cross-post.
The challenge is to take the GeoPDF that you download from USGS and make it into a series of TIFFs you can mosaic together. This requires at least GDAL 1.8 and for full functionality you want 1.10.
First, the simplest syntax would be
gdal_translate topo.pdf topo.tif
That would give you a GeoTiff with all the layers turned on, rendered at 150 dpi. Easy enough.
However, depending on what you want, you may want to alter that. For example the GeoPDF renders differently as you zoom in; it has scale-dependent rendering. So you may want to change the dpi to a higher number. I did all mine at 300
dpi which seemed to fit a 24k rendering in ArcMap and looks nice on the screen.
gdal_translate --config GDAL_PDF_DPI 300 topo.pdf topo.tif
That still has all the layers turned on though. You may want some of them off. For example, you may want to turn off the NAIP data and the UTM grid (like I did). If so you can specify certain LAYERS to turn off, first you have to figure
out what they are with this (this requires GDAL 1.10):
gdal_info –mdd LAYERS topo.pdf
will return the metadata and a list of layers something like this:
So I’m looking to get rid of layer 7 and layer 30. The syntax for that uses the layer name like this:
gdal_translate --config GDAL_PDF_DPI 300 --config GDAL_PDF_LAYERS_OFF Map_Frame.Projection_and_Grids.Grid_Lines,Images.Orthoimage topo.pdf topo.tif
This only works for the new 2011/12/13 maps. The historic maps are scanned images, so they don’t have any real layers. They are just one raster image in a PDF. So you would just do
gdal_translate --config GDAL_PDF_DPI 300 topo.pdf topo.tif.
What you get in both cases is an output GeoTIFF of the topo map. The map will have all the collar info, so you will then have to crop the images, remove the collars, and mosaic the slivers to get a seamless mosaic, but that is just done
the same way as any other imagery collection. That process is to simply:
Crop the image to its minimum size with gdalwarp
Burn some null value to the remaining collar slivers with gdal_rasterize –i –burn <etc.>
Mosaic the neighboring tile data into the sliver with gdalwarp
One other cool thing about the GeoPDF with its scale-dependent rendering is that you could create topos at different dpis (scales) and thus make your overviews look like what a 100K or 250K topo would look like (well with the new ones anyway,
not the historic ones).
Don’t forget to RTF(riendly!)M
Michael Smith MS GISP
State GIS Manager, Maine Office of GIS
State of Maine, Office of Information Technology
michael.smith _at_ maine.gov 207-215-5530
Board Member, Maine GeoLibrary
Education Chair, Maine GIS Users Group
State Rep, National States Geographic Information Council
State House Station 145
51 Commerce Drive
Augusta, ME 04333-0145
69o 47' 58.9"W 44o 21' 54.8"N