Initial GeoIntel V1 foundation
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
# 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`
|
||||
Reference in New Issue
Block a user