feat(ingestion): pipeline and dataset for real national concession boundaries (ATR/BPN & KLHK) #96

Closed
opened 2026-10-15 00:03:34 +00:00 by yuris · 0 comments
Owner

This was generated by AI during triage.

Problem Statement

As documented in docs/ARCHITECTURE.md §3 & §7.1, the tactical accountability engine requires real cadastral boundaries for:

  1. ATR/BPN Palm Oil Plantations (HGU permits).
  2. KLHK Industrial Timber Plantations (PBPH-HTI).
  3. National Parks / Conservation Reserves (KSA/KPA).

Currently, concessions.pmtiles and raw_concessions.geojson are derived from a 20-polygon synthetic seed generator (scripts/generate-seed-concessions.py). Real incidents outside synthetic coordinates show as unclassified land.

Technical Specification

  1. Ingestion & Normalization Script (scripts/ingest-real-concessions.py):
    • Ingest verified national spatial datasets covering Sumatra (Riau, Jambi, Sumsel) and Kalimantan (Kalbar, Kalteng).
    • Normalize attributes to standard schema: company_name, concession_type (SAWIT_HGU, PBPH_HTI, TAMAN_NASIONAL), permit_id, province.
    • Validate and clean geometries using Shapely / GEOS make_valid to fix self-intersections and winding orders.
  2. PMTiles Vector Tile Pyramid Compilation:
    • Compile via tippecanoe -z 14 -Z 5 --coalesce-densest-as-needed --detect-shared-borders into public/tiles/concessions.pmtiles.
  3. Query Engine Verification:
    • Verify lookupConcession in src/lib/gis/concession-lookup.ts accurately identifies real concession boundaries.

Acceptance Criteria

  • Ingestion script processes real Indonesian concession geometries without polygon topology errors.
  • Updated public/tiles/concessions.pmtiles contains authentic cadastral records across primary peat provinces.
  • lookupConcession() unit tests pass with real boundary coordinates.
  • All quality checks (vp check, test, build) pass.
> *This was generated by AI during triage.* ## Problem Statement As documented in `docs/ARCHITECTURE.md §3` & `§7.1`, the tactical accountability engine requires real cadastral boundaries for: 1. ATR/BPN Palm Oil Plantations (HGU permits). 2. KLHK Industrial Timber Plantations (PBPH-HTI). 3. National Parks / Conservation Reserves (KSA/KPA). Currently, `concessions.pmtiles` and `raw_concessions.geojson` are derived from a 20-polygon synthetic seed generator (`scripts/generate-seed-concessions.py`). Real incidents outside synthetic coordinates show as unclassified land. ## Technical Specification 1. **Ingestion & Normalization Script (`scripts/ingest-real-concessions.py`)**: - Ingest verified national spatial datasets covering Sumatra (Riau, Jambi, Sumsel) and Kalimantan (Kalbar, Kalteng). - Normalize attributes to standard schema: `company_name`, `concession_type` (`SAWIT_HGU`, `PBPH_HTI`, `TAMAN_NASIONAL`), `permit_id`, `province`. - Validate and clean geometries using Shapely / GEOS `make_valid` to fix self-intersections and winding orders. 2. **PMTiles Vector Tile Pyramid Compilation**: - Compile via `tippecanoe -z 14 -Z 5 --coalesce-densest-as-needed --detect-shared-borders` into `public/tiles/concessions.pmtiles`. 3. **Query Engine Verification**: - Verify `lookupConcession` in `src/lib/gis/concession-lookup.ts` accurately identifies real concession boundaries. ## Acceptance Criteria - [x] Ingestion script processes real Indonesian concession geometries without polygon topology errors. - [x] Updated `public/tiles/concessions.pmtiles` contains authentic cadastral records across primary peat provinces. - [x] `lookupConcession()` unit tests pass with real boundary coordinates. - [x] All quality checks (`vp check`, `test`, `build`) pass.
yuris closed this issue 2026-10-15 01:21:03 +00:00
Sign in to join this conversation.
No labels
backend
frontend
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
yuris/titik-gambut-next#96
No description provided.