recon/lib/offroute
Matt 26d4bc7478 feat(offroute): Phase O2b — WorldCover friction integration, lake avoidance validated
- New friction.py: reads WorldCover friction VRT, resamples to match
  elevation grid, provides point sampling for validation
- Modified cost.py: accepts optional friction array, multiplies Tobler
  time cost by friction multiplier, inf for water/nodata (255/0)
- Modified prototype.py: loads friction layer, passes to cost function,
  validates path avoids water cells (friction=255)

Validated on Idaho test bbox:
- Path avoids Murtaugh Lake (no water cells on path)
- Friction along path: min=10, max=20, mean=10.2
- Effort increased 3.4% vs Phase O1 due to friction multipliers

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-05-08 06:33:45 +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 O2b — WorldCover friction integration, lake avoidance validated 2026-05-08 06:33:45 +00:00
dem.py feat(offroute): Phase O1 foundation — PMTiles decoder, Tobler cost, MCP pathfinder prototype 2026-05-07 23:43:56 +00:00
friction.py feat(offroute): Phase O2b — WorldCover friction integration, lake avoidance validated 2026-05-08 06:33:45 +00:00
prototype.py feat(offroute): Phase O2b — WorldCover friction integration, lake avoidance validated 2026-05-08 06:33:45 +00:00