60 lines
1.5 KiB
Markdown
60 lines
1.5 KiB
Markdown
# Fixture Strategy
|
|
|
|
## Purpose
|
|
GeoIntel needs small, repeatable fixtures so Codex can build and test without relying on huge external downloads.
|
|
|
|
## Fixture principles
|
|
- Fixtures must be tiny.
|
|
- Fixtures must be deterministic.
|
|
- Fixtures must be documented.
|
|
- Fixtures must not pretend to be official data.
|
|
- Real-source providers can be added later without breaking tests.
|
|
|
|
## Required V1 fixtures
|
|
|
|
### reference_buildings.geojson
|
|
Purpose:
|
|
- reference building polygons for QA/QC tests.
|
|
|
|
Content:
|
|
- 3 to 10 simple polygons.
|
|
- one polygon matching a prediction exactly;
|
|
- one partially overlapping;
|
|
- one unmatched reference object.
|
|
|
|
### predicted_buildings.geojson
|
|
Purpose:
|
|
- deterministic detection output fixture.
|
|
|
|
Content:
|
|
- one true positive exact/near match;
|
|
- one true positive partial match;
|
|
- one false positive;
|
|
- one low-confidence detection.
|
|
|
|
### project_area.geojson
|
|
Purpose:
|
|
- test project area.
|
|
|
|
Content:
|
|
- polygon enclosing all reference/predicted fixtures.
|
|
|
|
### tiny_raster.tif
|
|
Purpose:
|
|
- raster metadata and clipping tests.
|
|
|
|
Content:
|
|
- very small georeferenced raster if feasible.
|
|
- if not feasible initially, document missing fixture and provide tests for raster metadata with generated temporary raster.
|
|
|
|
## Development providers
|
|
|
|
### DevelopmentDetectionProvider
|
|
Returns predictions from `predicted_buildings.geojson` for a selected demo run.
|
|
|
|
### LocalFixtureReferenceProvider
|
|
Returns `reference_buildings.geojson` as a cached reference layer.
|
|
|
|
## Acceptance
|
|
The fixture strategy is complete when QA/QC tests can run fully offline.
|