Skip to content

Add better support for polygon and tuple composite axes #25

@PaulVanSchayck

Description

@PaulVanSchayck

See discussion here. Need to add support for polygon and tuple composite axes here

Could be either

from geojson_pydantic.types import PolygonCoords

class Axes(CovJsonBaseModel):
    ...
    composite: Optional[Union[ValuesAxis[PolygonCoords], ValuesAxis[Tuple]]]

Or

from geojson_pydantic.types import PolygonCoords

class ValuesAxisCompositePolygon(ValuesAxis):
    dataType: Literal["polygon"] = "polygon"
    values: List[PolygonCoords]

class ValuesAxisCompositeTuple(ValuesAxis):
    dataType: Literal["tuple"] = "tuple"
    values: List[Tuple]

ValuesAxisCompositeTypes = Annotated[Union[ValuesAxisCompositePolygon, ValuesAxisCompositeTuple], Field(discriminator="dataType")]

class Axes(CovJsonBaseModel):
    ...
    composite: Optional[ValuesAxisCompositeTypes]   

Both solutions have prons and cons, and also need to be checked performance wise. Would be good to also add the validation for coordinates here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions