Skip to content

About

Downloads quad maps from USGS

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

USGS Quad Map Route Downloader

Automated download of USGS 7.5-minute quadrangle maps for evacuation route planning.

Overview

This tool queries the USGS TNM Access API to download topographic maps covering your planned evacuation routes. It's designed to integrate with your Mobile Supply Organization Plan's requirement for paper maps covering a 50-mile radius from Huntsville.

Quick Start

# Install dependencies
pip install requests tqdm

# List available predefined routes
python usgs_quad_downloader.py --list-routes

# Download all predefined routes (US Topo current maps)
python usgs_quad_downloader.py --all

# Download a specific route
python usgs_quad_downloader.py --route primary_south

# Download historical maps for better trail/terrain detail
python usgs_quad_downloader.py --all --map-type historical

Predefined Routes (Huntsville, AL)

The script includes five evacuation routes centered on Huntsville:

Route Key Description Waypoints
primary_south I-565 → I-65 → Birmingham 5
primary_east US-72 → Scottsboro → Chattanooga 4
secondary_north US-231 → Tennessee 4
secondary_west US-72 → Florence/Muscle Shoals 3
50_mile_radius Full 50-mile coverage from home 5

Command Line Options

--all              Download all predefined routes
--route NAME       Download specific route (primary_south, etc.)
--bbox "x1,y1,x2,y2"  Custom bounding box (min_lon,min_lat,max_lon,max_lat)
--map-type TYPE    current (US Topo) or historical (HTMC)
--format FORMAT    GeoPDF (recommended) or GeoTIFF
--buffer MILES     Buffer distance from route centerline (default: 5)
--output DIR       Output directory (default: ./usgs_quads)
--list-routes      List available predefined routes

Map Types

US Topo (Current) - Recommended for primary use

  • Modern GeoPDF format with layered data
  • Includes orthoimagery, roads, contours, hydrography
  • Updated regularly (typically annual refresh)
  • Best for: Primary navigation and vehicle travel

Historical Topographic Maps (HTMC)

  • Scanned versions of classic USGS paper maps (1884-2006)
  • Often show more trails, abandoned roads, and historical features
  • Better terrain detail in many cases
  • Best for: Backup set, on-foot navigation, trail finding

Output Structure

usgs_quads/
├── primary_route_south/
│   ├── manifest.json           # Route metadata and product list
│   ├── AL_Huntsville_20230601.pdf
│   ├── AL_Madison_20230601.pdf
│   └── ...
├── primary_route_east/
│   └── ...
└── 50_mile_coverage_radius/
    └── ...

Integration with Mobile Supply Plan

Printing Recommendations

  1. Print GeoPDFs at 100% scale on 11×17 paper at a print shop
  2. Laminate for durability (or use waterproof map cases)
  3. Mark evacuation routes with blue dry-erase marker
  4. Mark alternate routes in green
  5. Mark rally points as red circles
  6. Mark water sources as blue triangles
  7. Store primary set in BOB, duplicate in each vehicle

Digital Backup (Avenza Maps)

The downloaded GeoPDFs are georeferenced and can be imported into Avenza Maps for offline GPS-enabled navigation on your phone:

  1. Install Avenza Maps (iOS/Android)
  2. Import downloaded PDFs via file sharing
  3. Maps will show your GPS position overlaid

Homelab Integration Ideas

Automated Updates via CronJob:

# Add to K3s CronJob for quarterly refresh
0 0 1 */3 * cd /path/to/maps && python usgs_quad_downloader.py --all

Storage in Longhorn: Store in a dedicated PVC for resilience and sync to off-site backup.

Home Assistant Automation: Trigger notification when new maps are downloaded.

Customizing Routes

Edit the ROUTES dictionary in usgs_quad_downloader.py:

ROUTES = {
    "my_custom_route": {
        "name": "Custom Route to Nashville",
        "waypoints": [
            (34.7304, -86.5861),  # Start: Huntsville
            (35.2226, -86.7816),  # Waypoint: Fayetteville
            (36.1627, -86.7816),  # End: Nashville
        ],
    },
}

Finding Coordinates

  • Google Maps: Right-click → "What's here?"
  • OpenStreetMap: Click location → coordinates in URL
  • Format: (latitude, longitude) - note the order!

Expected Coverage

For the 50-mile radius around Huntsville, expect approximately 15-25 quad maps depending on exact coverage. Each 7.5-minute quad covers roughly:

  • ~6-8 miles east-west
  • ~6-9 miles north-south
  • ~49-64 square miles

Troubleshooting

No products found

  • Verify bounding box coordinates (lon,lat order for API)
  • Check that the area has US Topo coverage
  • Try historical maps as fallback

Download failures

  • USGS servers may be slow; increase timeout
  • Retry failed downloads manually
  • Check manifest.json for direct URLs

API rate limiting

  • The script includes respectful delays
  • If blocked, wait and retry later
  • Consider downloading routes over multiple sessions

API Reference

This tool uses the TNM Access API:

  • No API key required
  • Products endpoint: /api/v1/products
  • Supports bbox, dataset, and format filtering

File Sizes

Typical download sizes:

  • US Topo GeoPDF: 15-40 MB per quad
  • Historical GeoTIFF: 10-100 MB per quad
  • Full 50-mile radius: ~500 MB - 1 GB total

Version History

  • 1.0 (February 2026): Initial release
    • TNM Access API integration
    • Predefined Huntsville evacuation routes
    • GeoPDF and GeoTIFF support
    • Manifest generation for documentation

About

Downloads quad maps from USGS

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages