From efb6b9b0654fc45df2f0a817bd126b2db9433701 Mon Sep 17 00:00:00 2001 From: "Alex J. Mueller" Date: Mon, 8 Jul 2024 10:42:30 -0400 Subject: [PATCH] Adds CMA schema --- cdr_schemas/prospectivity_input.py | 13 +++++++++++++ pyproject.toml | 1 + 2 files changed, 14 insertions(+) diff --git a/cdr_schemas/prospectivity_input.py b/cdr_schemas/prospectivity_input.py index 19f0a3a..89694c6 100644 --- a/cdr_schemas/prospectivity_input.py +++ b/cdr_schemas/prospectivity_input.py @@ -1,6 +1,8 @@ from enum import Enum +from pathlib import Path from typing import List, Optional, Union +from geojson_pydantic import Polygon from pydantic import BaseModel, Field @@ -58,6 +60,17 @@ class ProcessedDataLayer(BaseModel): normalization_method: str # source: LayerDataType +class CriticalMineralAssessment(BaseModel): + crs: str + extent: Polygon + resolution: tuple + + +class CMATemplate(BaseModel): + cma: CriticalMineralAssessment + file: Union[str, Path] + + class StackMetaData(BaseModel): title: Optional[str] = Field( ..., diff --git a/pyproject.toml b/pyproject.toml index 21d8e86..a83e637 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,6 +12,7 @@ packages = [ [tool.poetry.dependencies] python = "^3.10" pydantic = "^2.6.3" +geojson-pydantic = "^1.0.0" [tool.poetry.group.dev.dependencies] ruff = "^0.3.4"