GeoIntel release gates / Compile, test, contracts and builds (push) Successful in 1m49s
GeoIntel release gates / Python and npm vulnerability policy (push) Successful in 21s
GeoIntel release gates / Production AI image, SBOM and container scan (push) Successful in 5m39s
GeoIntel release gates / Deploy exact gated revision to Unraid (push) Failing after 58m43s
117 lines
2.1 KiB
Markdown
117 lines
2.1 KiB
Markdown
# GeoIntel Kempen — Change Detection Specification v1.0
|
|
|
|
Change Detection is a major showcase workflow combining raster, vector, AI and QA/QC.
|
|
|
|
## Goal
|
|
|
|
Compare two datasets or analysis runs for the same area and detect additions, removals and significant changes.
|
|
|
|
## Supported methods
|
|
|
|
## Method A — Vector change detection V1
|
|
|
|
Compare two vector layers or two analysis outputs.
|
|
|
|
Examples:
|
|
|
|
- GRB buildings snapshot A vs snapshot B.
|
|
- AI detections from raster A vs AI detections from raster B.
|
|
- OSM buildings from run A vs OSM buildings from run B.
|
|
|
|
### Inputs
|
|
|
|
- layer A
|
|
- layer B
|
|
- area polygon
|
|
- class filter optional
|
|
- matching threshold
|
|
|
|
### Algorithm
|
|
|
|
1. Normalize CRS.
|
|
2. Clip both layers to area.
|
|
3. Match features using IoU or spatial overlap.
|
|
4. Classify:
|
|
- added: feature in B without match in A
|
|
- removed: feature in A without match in B
|
|
- unchanged: matched with stable geometry
|
|
- modified: matched but area or geometry changed above threshold
|
|
|
|
### Metrics
|
|
|
|
- added count
|
|
- removed count
|
|
- modified count
|
|
- added area m²
|
|
- removed area m²
|
|
- net area change m²
|
|
- percentage change
|
|
|
|
## Method B — Raster index change V2
|
|
|
|
Compare NDVI/NDWI/NDBI rasters.
|
|
|
|
### Inputs
|
|
|
|
- index raster A
|
|
- index raster B
|
|
- threshold
|
|
|
|
### Algorithm
|
|
|
|
```text
|
|
delta = index_B - index_A
|
|
classify pixels by threshold
|
|
polygonize changed zones
|
|
```
|
|
|
|
### Outputs
|
|
|
|
- change raster
|
|
- changed polygons
|
|
- summary statistics
|
|
|
|
## Method C — AI segmentation change V3
|
|
|
|
Run segmentation on both images and compare class polygons.
|
|
|
|
Examples:
|
|
|
|
- vegetation loss
|
|
- new buildings
|
|
- water change
|
|
|
|
## Output layers
|
|
|
|
- `change_added`
|
|
- `change_removed`
|
|
- `change_modified`
|
|
- `change_heatmap`
|
|
- `change_uncertain`
|
|
|
|
## API
|
|
|
|
```http
|
|
POST /analysis/change-detection
|
|
GET /analysis/{id}/changes
|
|
POST /analysis/{id}/exports/change-geojson
|
|
```
|
|
|
|
## UI requirements
|
|
|
|
Change Lab must support:
|
|
|
|
- dataset/layer A selector
|
|
- dataset/layer B selector
|
|
- method selector
|
|
- area selector
|
|
- threshold controls
|
|
- timeline labels
|
|
- map overlays for added/removed/modified
|
|
- metrics cards
|
|
- export
|
|
|
|
## V1 target
|
|
|
|
Implement vector change detection. Raster and AI-based change detection are later phases.
|