TopoQuest Logo
Home View Maps Find Maps Find Places Resources & Links

About TopoQuest

I originally created TopoQuest in July 2001 as an experiment in combining Linux, PHP and MySQL to facilitate easy access to USGS topographic maps for online viewing.  Microsoft had long been touting TerraServer as a showcase for the capabilities of Microsoft SQL Server and Windows, so I felt a Linux-centric mapping site would help level the playing field.  However, the increasing popularity of TopoZone, another online mapping website with similar features, resulted in shelving the TopoQuest source code after the initial proof of concept and I just used TopoZone for my topographic map viewing needs.

Some years later, on April 9, 2008, TopoZone became a subscription-only website when TopoZone merged with Trails.com.  Outside links to TopoZone maps then could access only limited map viewing capabilities and would see a solicitation to subscribe to Trails.com when users tried to change any map viewing options or pan the map view.  This left many Internet users, including me, unable to find or access the topographic maps they sought, and I began unshelving the TopoQuest source code the next day.

Several new developments made it possible to bring TopoQuest online very quickly and generate map tile sets for most of the 1:24K USGS topographic maps covering the US.  The Libre Map Project and Internet Archive joined forces to make most of the 24K scale DRG (scanned topographic maps) files available for free download.  About 90% of the US map coverage on TopoQuest was sourced from the Libre Map Project, with the balance sourced elsewhere due to a few missing DRG's and coordinate registration problems with some of the DRG's in the project.  Additionally, parts of the TopoQuest source code were rewritten to take advantage of the MapScript extensions to PHP released in the University of Minnesota's MapServer project.  Portions of my earlier automated map tile generation tools were adapted to take advantage of the GDAL libraries and tools.  The website and map tile processing and generation tools now run on an Intel-based Core Duo quad core 2.4GHz server.

Full production of map tiles began at the beginning of May 2008, and by the end of June 2008, 96% of the 24K scale topographic maps covering the United States were online (with the balance needing manual intervention to process due to missing DRG's in the Libre Map Project or coordinate registration errors), consuming 650GB of storage.  Processing of Canada topographic maps commenced in July 2008 and continues as disk space permits (I have a 1TB hard drive ready to install to continue processing more of Canada).

In March 2009, I started adding 1:100K and 1:250K series USGS topographic maps, as well as 1m satellite/aerial imagery as well!  This consumes massive amounts of disk space though, so it takes a while to process and bring the new satellite/aerial imagery online.

The source maps in DRG format are converted to 24-bit color, automatically trimmed to remove the map collars and map legend, then resampled and scaled to 4, 8, 16, 32, 64 and 128 meter per pixel resolutions.  Maps not in the standard UTM projection and NAD27 datum used by most USGS DRG files are resampled and warped into the UTM projection (particularly DRG's covering California, which used the Teale Albers projection).  Then the maps are sliced into 512 x 512 pixel tiles that the map viewer assembles individual map views from.

Currently, as of early 2011, the TopoQuest server is an overclocked quad-core AMD Phenom II with 8GB of RAM and 12 1.5TB Seagate hard drives in a RAID6 array.  Most of the disk space is consumed by the 1m satellite/aerial imagery.  NGINX is run as the web server, communicating with PHP via FastCGI and using the APC module to keep the mapping PHP scripts cached and pre-compiled.  The result is a crazy-fast map serving platform!

The server is housed at FireServe's "900 Main" Data Center in Klamath Falls, Oregon, with generator backup power and redundant GigE (1000mbps) fiber connections.


Copyright (C) 2008-2024 Ryan Niemi ... All Rights Reserved