53 lines
1.4 KiB
Python
53 lines
1.4 KiB
Python
from __future__ import annotations
|
|
|
|
from typing import Literal
|
|
from uuid import UUID
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
from .operations import VectorSelectionBBox
|
|
|
|
|
|
class BathymetryProfileAcquireRequest(BaseModel):
|
|
bbox: VectorSelectionBBox
|
|
area_id: UUID | None = None
|
|
force_refresh: bool = False
|
|
|
|
|
|
class BathymetrySourceRead(BaseModel):
|
|
key: str
|
|
display_name: str
|
|
owner: str
|
|
authority_level: Literal["authoritative", "contextual"]
|
|
geographic_coverage: str
|
|
data_kind: str
|
|
query_modes: list[str]
|
|
vertical_reference: str
|
|
horizontal_crs: str
|
|
native_resolution: str | None = None
|
|
integration_status: Literal["operational", "available_not_integrated", "catalog_only"]
|
|
acquisition_supported: bool
|
|
configured: bool
|
|
service_url: str | None = None
|
|
catalog_url: str
|
|
attribution: str
|
|
license_note: str
|
|
limitation_message: str
|
|
|
|
|
|
class BathymetryProfileAcquisitionResult(BaseModel):
|
|
output_dataset_id: UUID
|
|
reused: bool
|
|
provider: str
|
|
profile_count: int = Field(ge=0)
|
|
document_count: int = Field(ge=0)
|
|
structured_depth_count: int = Field(ge=0)
|
|
structured_width_count: int = Field(ge=0)
|
|
watercourse_count: int = Field(ge=0)
|
|
bbox_epsg4326: list[float]
|
|
clipped_to_area_id: UUID | None = None
|
|
measurement_date_min: str | None = None
|
|
measurement_date_max: str | None = None
|
|
attribution: str
|
|
limitation_message: str
|