Input models

Models for interacting with the HTML form, see also Input models.

Classes:

GeoArea(*, points)

An area on a map.

GeoLocation(*, lon, lat)

A location on a map.

class dasf_exb.input_models.GeoArea(*, points: List[GeoLocation])

Bases: BaseModel

An area on a map.

See also the frontend implementation GeoArea

Attributes:

model_config

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

points

model_config: ClassVar[ConfigDict] = {'json_schema_extra': {'uiSchema': {'ui:field': 'GeoArea', 'ui:title': 'Select area'}}}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

points: Annotated[List[GeoLocation], FieldInfo(annotation=NoneType, required=True, description='A list of GeoLocations defining the polygon.')]
class dasf_exb.input_models.GeoLocation(*, lon: Annotated[float, Strict(strict=True), Ge(ge=-180), Le(le=360)], lat: Annotated[float, Strict(strict=True), Ge(ge=-90), Le(le=90)])

Bases: BaseModel

A location on a map.

See also the frontend implementation GeoLocation

Attributes:

lat

lon

model_config

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

lat: Annotated[float, FieldInfo(annotation=NoneType, required=True, description='The latitude of the point.', metadata=[Strict(strict=True), Ge(ge=-90), Le(le=90)])]
lon: Annotated[float, FieldInfo(annotation=NoneType, required=True, description='The longitude of the point.', metadata=[Strict(strict=True), Ge(ge=-180), Le(le=360)])]
model_config: ClassVar[ConfigDict] = {'json_schema_extra': {'uiSchema': {'ui:field': 'GeoLocation', 'ui:title': 'Select point'}}}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].