Summary
Implement territory-specific API endpoints for geometry retrieval and spatial point-in-polygon lookups.
Files to Create
app/api/v1/territories/[id]/geometry/route.ts — GeoJSON geometry with simplification
app/api/v1/territories/lookup/route.ts — Point-in-polygon lookup
Geometry Endpoint
- Returns GeoJSON for a territory
?simplify=0.001 for detail view (~100m precision)
?simplify=0.01 for overview (~1km precision)
- Aggressive caching (boundaries rarely change)
Lookup Endpoint
?lat=35.78&lng=-78.64 returns all territories containing the point
- Uses bbox pre-filter + ST_Covers for accuracy
- Returns region metadata with territory info
Acceptance Criteria
Spec ref: Sections 4.5–4.6
Blocked by: #5, #7
Blocks: Explorer territory migration
Summary
Implement territory-specific API endpoints for geometry retrieval and spatial point-in-polygon lookups.
Files to Create
app/api/v1/territories/[id]/geometry/route.ts— GeoJSON geometry with simplificationapp/api/v1/territories/lookup/route.ts— Point-in-polygon lookupGeometry Endpoint
?simplify=0.001for detail view (~100m precision)?simplify=0.01for overview (~1km precision)Lookup Endpoint
?lat=35.78&lng=-78.64returns all territories containing the pointAcceptance Criteria
npm run buildpassesSpec ref: Sections 4.5–4.6
Blocked by: #5, #7
Blocks: Explorer territory migration