recon/lib/offroute
Matt f2a0f81580 feat(offroute): Phase O1 foundation — PMTiles decoder, Tobler cost, MCP pathfinder prototype
- dem.py: Terrarium-encoded PMTiles tile reader with LRU cache
  - Decodes WebP tiles from planet-dem.pmtiles
  - Stitches tiles into numpy elevation grids for arbitrary bboxes
  - Provides pixel-to-latlon coordinate conversion

- cost.py: Tobler off-path hiking cost function
  - speed = 0.6 * 6.0 * exp(-3.5 * |grade + 0.05|) km/h
  - Max slope cutoff: 40 degrees → impassable
  - Returns time-to-traverse (seconds/cell) as cost metric

- prototype.py: Standalone validation on Idaho test bbox
  - 43km × 80km bbox (~17M cells at 14m resolution)
  - scikit-image MCP_Geometric Dijkstra pathfinder
  - Outputs GeoJSON LineString with path metadata
  - Validated: 61.6km path, 21.3 hours effort time

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-05-07 23:43:56 +00:00
..
__init__.py feat(offroute): Phase O1 foundation — PMTiles decoder, Tobler cost, MCP pathfinder prototype 2026-05-07 23:43:56 +00:00
cost.py feat(offroute): Phase O1 foundation — PMTiles decoder, Tobler cost, MCP pathfinder prototype 2026-05-07 23:43:56 +00:00
dem.py feat(offroute): Phase O1 foundation — PMTiles decoder, Tobler cost, MCP pathfinder prototype 2026-05-07 23:43:56 +00:00
prototype.py feat(offroute): Phase O1 foundation — PMTiles decoder, Tobler cost, MCP pathfinder prototype 2026-05-07 23:43:56 +00:00