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
1.8 KiB
1.8 KiB
M9 Geospatial Edge Cases
Codex must account for these cases early to avoid later rewrites.
Invalid polygon
Examples:
- self-intersection,
- unclosed ring,
- empty coordinates,
- wrong coordinate nesting.
Required behavior:
- reject with validation error,
- return specific message,
- do not persist.
MultiPolygon
Required behavior:
- accept for areas and vector features,
- compute total area across all parts,
- display as a single layer.
CRS mismatch
Scenario:
- reference data is EPSG:31370,
- API uses EPSG:4326,
- raster processing may use native CRS.
Required behavior:
- store original CRS in dataset metadata,
- transform API geometries to EPSG:4326 for frontend,
- use projected CRS for area/length calculations when needed,
- document transformations.
Very large file
Required behavior:
- reject files above configured limit with clear error,
- do not load huge files into memory at once,
- expose future chunking/tile strategy.
Raster without georeference
Required behavior:
- accept only as non-georeferenced image if supported,
- mark geospatial operations unavailable,
- do not pretend map alignment exists.
Feature outside selected area
Required behavior:
- clip if operation requested,
- otherwise keep original and display warning if used for area analysis.
Geometry collection
Required behavior:
- reject for V1 unless explicitly converted,
- explain supported geometry types.
Zero-area feature
Required behavior:
- keep for line/point layers,
- reject or ignore for polygon-area metrics,
- record warning in analysis result.
Duplicate features
Required behavior:
- do not automatically delete without audit trail,
- expose duplicate count in data quality metadata.
Antimeridian/global edge cases
Not relevant for Kempen V1. Document as out of scope.