Skip to content

timothypage/sota-web-map

Repository files navigation

US Summits on the Air map

a map from scratch made from open / available sources

Features

  • Client-rendered topographic features (hillshade and contour lines) and 3D terrain visualization
  • National Forest and other US Government Public Lands with Private Land and Patented Mining Claim cutouts
  • Summits on the Air summit labels

Tech

Powered by

Data

where possible we're storing tiles in protomaps files (.pmtiles)

https://protomaps.com/docs

see data/README.md for more in-depth information on the below

SOTA Summits

"Summits on the Air is an award scheme for radio amateurs that encourages portable operation in mountainous areas." - https://www.sota.org.uk/

A csv of all summits can be grabbed from here

wget https://storage.sota.org.uk/summitslist.csv

Public Lands

We're using the United States Geological Survey - Protected Areas Database v3 to show areas of the United States open to public access (and some restricted access areas)

More information is available here https://www.usgs.gov/programs/gap-analysis-project/science/protected-areas

Download from here https://www.sciencebase.gov/catalog/item/61794fc2d34ea58c3c6f9f69#attached-files

More info on how we're processing this dataset available in data/README.md

"Satellite" view

From the National Agriculture Imagery Program (NAIP)

Actually aerial photography, only the Continental US, and refreshed state by state every three years or so.

Being cached via Cloudflare Workers and R2 data storage

Roads and Trails

from OpenStreetMap

Downloaded from here https://download.geofabrik.de/north-america/us.html

We're using https://github.com/onthegomap/planetiler to output pmtiles

Navigation

click on the map where you want to set your home location, then click the "house" icon. Proceed to click around where you want to navigate.

Powered by Project OSRM

Up and Running

To build the web app you'll need NodeJS 18. I'd recommend using asdf or nvm.sh (for windows nvm-windows)

npm install
npm run dev

Build and deploy

npm run build && bash deploy.sh

note: this does deploy any map tiles in the tiles/ folder, but does not build them. Feel free to grab them from https://tzwolak.com/tiles/<filename>.<ext> (see main.jsx for a list of map sources in the MaplibreGL setup). or see data/README.md for how to build your own set.

this project is designed to run "serverless" on AWS S3 and CloudFront.

the main advantage of serving maps this way is cost, which are storage @8.5 cents per GB of data, and data transfer @8.5 cents per GB after 1TB free each month

Contributing

we're using Prettier for JavaScript formatting (this is not strictly enforced for now)

just run this before you commit:

npx prettier --write **/*.js **/*.jsx

About

Maps for Summits on the Air in the US

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published