<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">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. 
<i>Apologies for cross-post.</i><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">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.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">First, the simplest syntax would be<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">gdal_translate topo.pdf topo.tif<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">That would give you a GeoTiff with all the layers turned on, rendered at 150 dpi.  Easy enough.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">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.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">gdal_translate --config GDAL_PDF_DPI 300 topo.pdf topo.tif<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">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):<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">gdal_info –mdd LAYERS topo.pdf<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">will return the metadata and a list of layers something like this:<o:p></o:p></p>
<p class="MsoNormal"><snip><o:p></o:p></p>
<p class="MsoNormal">Metadata (LAYERS):<o:p></o:p></p>
<p class="MsoNormal">  LAYER_00_NAME=Map_Collar<o:p></o:p></p>
<p class="MsoNormal">  LAYER_01_NAME=Map_Collar.Map_Elements<o:p></o:p></p>
<p class="MsoNormal">  LAYER_02_NAME=Map_Frame<o:p></o:p></p>
<p class="MsoNormal">  LAYER_03_NAME=Map_Frame.Projection_and_Grids<o:p></o:p></p>
<p class="MsoNormal">  LAYER_04_NAME=Map_Frame.Projection_and_Grids.Projection_Coordinate_Values<o:p></o:p></p>
<p class="MsoNormal">  LAYER_05_NAME=Map_Frame.Projection_and_Grids.Geographic_and_Grid_Ticks<o:p></o:p></p>
<p class="MsoNormal">  LAYER_06_NAME=Map_Frame.Projection_and_Grids.Projection_Line_Mask<o:p></o:p></p>
<p class="MsoNormal">  LAYER_07_NAME=Map_Frame.Projection_and_Grids.Grid_Lines<o:p></o:p></p>
<p class="MsoNormal"><snip><o:p></o:p></p>
<p class="MsoNormal">  LAYER_28_NAME=Map_Frame.Land_Cover.Woodland<o:p></o:p></p>
<p class="MsoNormal">  LAYER_29_NAME=Images<o:p></o:p></p>
<p class="MsoNormal">  LAYER_30_NAME=Images.Orthoimage<o:p></o:p></p>
<p class="MsoNormal"><snip><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">So I’m looking to get rid of layer 7 and layer 30.  The syntax for that uses the layer name like this:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">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<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">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
<o:p></o:p></p>
<p class="MsoNormal">gdal_translate --config GDAL_PDF_DPI 300 topo.pdf topo.tif.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">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:<o:p></o:p></p>
<p class="MsoNormal">                Crop the image to its minimum size with gdalwarp<o:p></o:p></p>
<p class="MsoNormal">                Burn some null value to the remaining collar slivers with gdal_rasterize –i –burn <etc.><o:p></o:p></p>
<p class="MsoNormal">                Mosaic the neighboring tile data into the sliver with gdalwarp<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">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).<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Don’t forget to RTF(riendly!)M <a href="http://www.gdal.org/frmt_pdf.html">
http://www.gdal.org/frmt_pdf.html</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;color:#1F497D">===============================<br>
<b>Michael Smith MS GISP</b><br>
State GIS Manager, Maine Office of GIS<br>
State of Maine, Office of Information Technology<br>
<i>michael.smith _at_ maine.gov</i> 207-215-5530<br>
<br>
Board Member, Maine GeoLibrary<br>
Education Chair, Maine GIS Users Group<br>
State Rep, National States Geographic Information Council</span><span style="font-size:12.0pt;font-family:"Times New Roman","serif""><br>
</span><span style="font-size:12.0pt;font-family:"Times New Roman","serif""><img border="0" width="299" height="68" id="_x0000_i1025" src="cid:image001.jpg@01CF49A3.32BF2BC0"></span><span style="font-size:12.0pt;font-family:"Times New Roman","serif""><br>
<br>
</span><span style="font-size:8.0pt;color:#1F497D">State House Station 145<br>
51 Commerce Drive<br>
Augusta, ME 04333-0145<br>
69<sup>o</sup> 47' 58.9"W  44<sup>o</sup> 21' 54.8"N</span><span style="font-size:12.0pt;font-family:"Times New Roman","serif"">
</span><o:p></o:p></p>
</div>
</body>
</html>