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
59 lines
1.5 KiB
Markdown
59 lines
1.5 KiB
Markdown
# GIS Standards
|
|
|
|
## CRS standards
|
|
|
|
- API GeoJSON: EPSG:4326.
|
|
- Internal Belgian metric calculations: EPSG:31370.
|
|
- Raster native operations preserve source CRS unless reproject requested.
|
|
- Store both source CRS and normalized CRS.
|
|
|
|
## Units
|
|
|
|
- Area: square meters internally, hectares/km² as display derivatives.
|
|
- Length: meters internally, kilometers as display derivative.
|
|
- Resolution: meters/pixel where projected CRS allows it; otherwise state units clearly.
|
|
|
|
## Geometry validity
|
|
|
|
All vector geometries must pass validation before becoming `READY`.
|
|
|
|
Allowed repair strategies:
|
|
|
|
1. `make_valid` where available.
|
|
2. zero-width buffer only if documented.
|
|
3. reject and require user correction.
|
|
|
|
Repairs must be recorded in metadata.
|
|
|
|
## Geometry type normalization
|
|
|
|
- Polygon inputs may become MultiPolygon.
|
|
- LineString inputs may become MultiLineString.
|
|
- GeometryCollections require explicit extraction or rejection.
|
|
|
|
## Spatial operations
|
|
|
|
All spatial operations must define:
|
|
|
|
- input CRS;
|
|
- output CRS;
|
|
- unit assumptions;
|
|
- tolerance;
|
|
- geometry repair behavior;
|
|
- empty-result behavior.
|
|
|
|
## Precision
|
|
|
|
Store full precision in database. Simplify only derived visualization layers.
|
|
|
|
## Boundary handling
|
|
|
|
For clipping/intersections, include features that intersect area boundary. Record whether metrics use full feature geometry or clipped geometry.
|
|
|
|
## Source priority for V1 reference workflows
|
|
|
|
1. GRB-like reference fixtures / GRB when implemented.
|
|
2. Official Flemish datasets where available.
|
|
3. OSM fallback.
|
|
4. User-uploaded reference layer.
|