feat(map): chokepoint preset catalog + vessels ?src= filter #27
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "feat/chokepoint-presets-vessel-src"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Phase A backend for chokepoint presets (plan
2026-08-29_175519-osint-unique-layers.md).GET /api/map/chokepointsStatic five-strait fly-to catalog — pure data, no VesselAPI calls. Returns
{ "chokepoints": [ { id, title, bbox, center, zoom, vesselapi } ] }. Only Hormuz flagsvesselapi: true(matches the default poll box); the other four straits are AISStream-only until a human later spends quota.Every box stays within the VesselAPI
|dLat|+|dLon| ≤ 4span rule (validated in tests).GET /api/vessels?src=New optional
src=aisstream|vesselapi|all(defaultall) filters the union store byextra.src, so a Hormuz view can skip the ~5k CONUS AISStream rows. Invalid values 422.Tests
vesselapi.validate_bbox_span.vesselapi=true.src=filter over a seeded union store + through the API (400/422 on bad value).Full suite: 158 passed, 16 skipped (DB-gated integration).
Out of scope
Leaflet frontend (separate card), GPSJAM, extra VesselAPI boxes, CFAR.