# 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.