Skip to content

Reference

nrl_sdk_lib.models

Model package.

Crs

Bases: Parent

A CRS model.

CrsProperties

Bases: Parent

A CRS properties model.

DatafangsMetode

Bases: str, Enum

An enumeration for data capture methods.

Feature

Bases: Parent

A Feature model.

FeatureCollection

Bases: Parent

A FeatureCollection model.

How to create a FeatureCollection from a JSON file:

>>> from pydantic import ValidationError
>>> from nrl_sdk_lib.models import FeatureCollection
>>>
>>> testfile_path = "tests/files/Eksempelfil_NRLRapportering-1.0.1.json"
>>> with open(testfile_path) as file:
...     data = file.read()
>>>
>>> try:
...     feature_collection = FeatureCollection.model_validate_json(data)
... except ValidationError as e:
...     print(e.errors())

How to create a FeatureCollection programmatically:

>>> from uuid import UUID
>>>
>>> from nrl_sdk_lib.models import (
...     CrsProperties,
...     Feature,
...     Point,
...     NrlFlate,
...     FeatureStatus,
...     FlateType,
...     FeatureCollection,
...     Crs,
...     )
>>>
>>> nrl_flate = NrlFlate(
...     feature_type="NrlFlate",
...     status=FeatureStatus.eksisterende,
...     komponentident=UUID("12345678-1234-5678-1234-567812345678"),
...     verifisert_rapporteringsnøyaktighet="20230101_5-1",
...     flate_type=FlateType.trafostasjon,
... )
>>>
>>> feature = Feature(
...     type="Feature",
...     geometry=Point(type="Point", coordinates=[10.0, 59.0]),
...     properties=nrl_flate,
... )
>>>
>>> feature_collection = FeatureCollection(
...     crs=Crs(properties=CrsProperties(name="EPSG:4326")),
...     features=[feature],
... )
>>>
>>> # Do something with feature_collection, e.g. serialize it to JSON:
>>> # print(feature_collection.model_dump_json(indent=2))

FeatureStatus

Bases: str, Enum

An enumeration for feature property statuses.

FlateType

Bases: str, Enum

An enumeration for flate types.

Høydereferanse

Bases: str, Enum

An enumeration for height references.

KomponentReferanse

Bases: Parent

A KomponentReferanse model.

Kvalitet

Bases: Parent

A Kvalitet model.

LineString

Bases: Geometry

A LineString geometry model.

LuftfartsHinderLyssetting

Bases: str, Enum

An enumeration for luftfartshinderlyssetting.

LuftfartsHinderMerking

Bases: str, Enum

An enumeration for luftfartshindermerking.

LuftspennType

Bases: str, Enum

An enumeration for luftspenn types.

MastType

Bases: str, Enum

An enumeration for mast types.

Materiale

Bases: str, Enum

An enumeration for materials.

NrlFlate

Bases: FeatureProperty

A Nrl Flate model.

To create a NrlFlate:

>>> from uuid import UUID
>>>
>>> from nrl_sdk_lib.models import NrlFlate, FeatureStatus, FlateType
>>>
>>> nrl_flate = NrlFlate(
... feature_type="NrlFlate",
... status=FeatureStatus.eksisterende,
... komponentident=UUID("12345678-1234-5678-1234-567812345678"),
... verifisert_rapporteringsnøyaktighet="20230101_5-1",
... flate_type=FlateType.trafostasjon,
... )
>>> # Do something with nrl_flate, e.g. add it to a feature collection

NrlLinje

Bases: FeatureProperty

A Nrl Linje model.

NrlLuftspenn

Bases: FeatureProperty

A Nrl Luftspenn model.

NrlMast

Bases: FeatureProperty

A Nrl Mast model.

NrlPunkt

Bases: FeatureProperty

A Nrl Punkt model.

Point

Bases: Geometry

A Point geometry model.

Polygon

Bases: Geometry

A Polygon geometry model.

PunktType

Bases: str, Enum

An enumeration for punkt types.