Monday, April 9, 2012

Working with US Topo Maps

The USGS has stopped updating to their traditional 7.5' paper quads, replacing them with a new product called US Topo, a reincarnation of their Digital Map - Beta product.  This seems like a never ending source of confusion (I'm looking for a US Topo map.  You mean a map of the US?  No, a US Topo.  Yeah, like one that covers the whole country?), but it is what it is.

You can still buy paper copies of the US Topo maps, so don't think of the new approach as a shift from paper to digital, but rather as a change in the way maps are produced.  The traditional paper maps were hand-built from survey data and stereoscopic imaging; any computer involvement was more along the lines of photoshop than a GIS application.  The new maps combine a number of layers, some entirely computer generated, into a single PDF.  So with the right tools, you can switch between viewing trails on a traditional white-green background and viewing them on an aerial image.

A US Topo map with all layers turned on.


Having now built out a nationwide seamless tile set based on these new PDFs, I have some comments on them.  Although these comments are mostly of the negative variety, I actually think these maps hold a lot of promise, but that they need a little refining.  So on with the issues . . .

Poor Toolchain.  You can open a US Topo map in any PDF viewer, but it's virtually impossible to turn individual layers on and off.  The USGS directs you to TerraGo's windows-only toolbar, and I sure hope TerraGo paid them a bundle of cash because not only is their toolbar a pain to work with, it comes with an onerous registration and download process.  When I made the mistake of downloading it onto a Mac, I actually had to stick the installer onto a USB drive to move it to a windows machine because my 1 free download had been used up.  I don't know who exactly is clamoring to pirate a GeoPDF plugin . . .

I use GDAL to slice individual quads into the tile pyramid used by web maps, and its GeoPDF driver has no support for toggling layer visibility off and on.  I was about to give up after a lof of web searching when I stumbled on the missing link - although referred to colloquially as layers, the various map elements are implemented as optional content according to the PDF spec.  Armed with this knowledge, I  dove into C++ code for the first time in 15 years and modified pdfdataset.cpp to deal with optional content.

Inconsistent Layers.  US Topo PDFs have a lot of layers.  They're grouped hierarchically, with some of the high level groupings described here.  Unfortunately when you get beyond the spec, all bets are off.  I was hoping to create a white-green woodland base layer in addition the imagery base layer, but it's not present on all the maps - some you can roll back to the traditional look, some you can't.  Some have glacier shading, some don't.  Even when maps have the same layers they're not always named consistently, which doesn't matter for a casual user but is a killer when automating a process across 55,000 maps.  I'd really like to see the USGS expand the list of mandatory layers included in the spec.

Odd Rendering Choices.  The USGS has some beautiful sample maps and the US Topos certainly shine in some situations, but they're practically unusable in others.  The traditional brown contour color is almost impossible to distinguish against some imagery backgrounds; I decided to omit it and use my own orange-brown lines instead.  Some streams and trails are so faint that they virtually disappear if the map gets reprojected.  The biggest annoyance, however, is the labels: the white drop shadow makes them go from huge to unreadable over the course of about 2 zoom levels; water features use a baby-blue color that is even harder to read over the drop shadow than the standard black.  Simple black lettering from the traditional topo won't show up well on aerial images, but I wish they'd found a better solution than the one they went with.

Missing Data.  This is the part that really blows me away.  Google's Hybrid map has great coverage for urban areas; I was hoping that US Topos would be a substitute for backcountry roads and trails.  Unfortunately a number of trails are flat-out missing and some forest service roads aren't properly rendered, while the urban features I care least about are well cataloged.  As an example, the timberline post office is prominently labeled on Mt Hood, but neither Cascade River Rd nor the Cascade Pass Trail can be found on the map despite being one of the most scenic short hikes in the Pacific NW.  Nearby sits this very confusing road intersection which violates 100 years of the USGS' own mapping conventions by displaying 4WD roads as single dashed lines.  The map key gives no indication of whether double-dashed roads are gentler or rougher than single-dashed ones, or how to distinguish these roads v. the hiking trails from which their symbol was co-opted.

Although these maps look really cool, I wouldn't throw away the old-school "historic" maps until the roads and trails are better updated and every PDF gets a green/white land cover layer.

No comments:

Post a Comment