91 lines
1.8 KiB
Markdown
91 lines
1.8 KiB
Markdown
# 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.
|