Mapterhorn (mapterhorn.com, Protomaps-affiliated) publishes pre-built Terrarium-encoded terrain as PMTiles: a global planet.pmtiles (z0-12) plus ~450 regional chunks (z13+). Same pmtiles extract --bbox=... mechanism offline.pmtiles already uses, just against their files — confirmed live against their real manifest and the documented Interlaken example. Replaces fetching every individual tile ourselves (even after this session's earlier concurrency fix, still tens of minutes for a real region) with 1-3 extract calls plus a merge when the bbox spans more than one chunk: seconds, not minutes. Removes CONCURRENT_TILE_FETCHES, write_terrarium_mbtiles, tile_range, lng/lat_to_tile_x/y, fetch_terrarium_tile, and the sqlite3 gem entirely — none of it is needed once the tiles arrive pre-packaged. dem.js's point-elevation lookup (shadow.js's terrain-shadow overlay) hardcoded a 256px PNG tile assumption that Mapterhorn's 512px WebP tiles would have silently broken — now reads the actually-decoded tile's own size and mime type instead of assuming either.
20 lines
327 B
Ruby
20 lines
327 B
Ruby
source "https://rubygems.org"
|
|
|
|
gem "sinatra", "~> 4.2"
|
|
gem "sinatra-contrib", "~> 4.2"
|
|
gem "puma", "~> 8.0"
|
|
gem "rexml", "~> 3.4"
|
|
gem "oauth2", "~> 2.0"
|
|
gem "rubyzip", "~> 2.4"
|
|
|
|
group :development do
|
|
gem "rerun"
|
|
end
|
|
|
|
group :test do
|
|
gem "minitest", "~> 6.0"
|
|
gem "rake", "~> 13.0"
|
|
end
|
|
|
|
gem "faraday-cookie_jar", "~> 0.0.8"
|