Files
geointel/docs/SERVICE_IO_CONTRACTS.md
T
Codex 6ea3586a3e
GeoIntel CI / docs-smoke (push) Has been cancelled
GeoIntel CI / contract-smoke (push) Has been cancelled
Initial GeoIntel V1 foundation
2026-06-16 23:36:32 +02:00

48 lines
1.8 KiB
Markdown

# Backend Service IO Contracts
## ProjectService
`create_project(input: ProjectCreate) -> ProjectRead`
`list_projects() -> list[ProjectRead]`
`get_project(project_id: str) -> ProjectRead`
## AreaService
`create_area(project_id: str, input: AreaCreate) -> AreaRead`
`list_areas(project_id: str) -> FeatureCollection`
`validate_geometry(geojson: dict) -> GeometryValidationResult`
## DatasetService
`register_upload(project_id: str, file) -> DatasetRead`
`extract_metadata(dataset_id: str) -> DatasetMetadataResult`
`list_datasets(project_id: str) -> list[DatasetRead]`
`get_dataset(dataset_id: str) -> DatasetRead`
## RasterService
`read_metadata(path: Path) -> RasterMetadata`
`clip(dataset_id: str, area_id: str) -> JobRead`
`tile(dataset_id: str, parameters: TileParameters) -> JobRead`
`calculate_index(dataset_id: str, index_type: str, bands: dict) -> JobRead`
## VectorService
`read_metadata(path: Path) -> VectorMetadata`
`clip(dataset_id: str, area_id: str) -> JobRead`
`buffer(dataset_id: str, distance_m: float) -> JobRead`
`intersect(left_dataset_id: str, right_dataset_id: str) -> JobRead`
## DetectionService
`create_run(project_id: str, input: DetectionRunCreate) -> AnalysisRunRead`
`execute_run(run_id: str) -> DetectionRunResult`
## SegmentationService
`create_run(project_id: str, input: SegmentationRunCreate) -> AnalysisRunRead`
`execute_run(run_id: str) -> SegmentationRunResult`
## QAQCService
`create_quality_check(input: QualityCheckCreate) -> QualityCheckRead`
`calculate_iou_matrix(candidate_layer_id: str, reference_layer_id: str) -> IoUMatrix`
`calculate_metrics(matches: list[Match]) -> QualityMetrics`
## ExportService
`create_export(input: ExportCreate) -> ExportRead`
`write_geojson(layer_id: str) -> Path`
`write_metrics_csv(analysis_run_id: str) -> Path`