fire.api.firedb package

Module contents

class fire.api.firedb.FireDb(db=None, connectionstring=None, debug=False)

Bases: FireDbLuk, FireDbHent, FireDbIndset

fejlmeld_koordinat(koordinat: Koordinat, sagsevent: Sagsevent, commit=True)

Fejlmeld en allerede eksisterende koordinat.

Hvis koordinaten er den eneste af sin slags på det tilknyttede punkt fejlmeldes og afregistreres den. Hvis koordinaten indgår i en tidsserie sker en af to ting:

  1. Hvis koordinaten forekommer midt i en tidsserie fejlmeldes den uden videre.

  2. Hvis koordinaten er den seneste i tidsserien fejlmeldes den, den foregående koordinat fejlmeldes og en ny koordinat indsættes med den foregåendes værdier. Denne fremgangsmåde sikrer at der er en aktuel og gyldig koordinat, samt at den samme koordinat ikke fremtræder to gange i en tidsserie.

fejlmeld_observation(observation: Observation, sagsevent: Sagsevent, commit=True)

Fejlmeld en allerede eksisterende observation.

ny_sag(behandler: str, beskrivelse: str) Sag

Fabrik til oprettelse af nye sager.

Oprettede sager er altid aktive, samt tilføjet og flushed på databasesessionen.

soeg_geometriobjekt(bbox) List[GeometriObjekt]
soeg_punkter(ident: str, antal: int = None) List[Punkt]

Returnerer alle punkter der 'like'-matcher 'ident'

Hvis intet punkt findes udsendes en NoResultFound exception.

tilknyt_gi_numre(punkter: List[Punkt]) List[PunktInformation]

Tilknyt G.I. identer til punkter.

Det højest anvendt løbenummer findes og punkterne tildeles de næste numre i rækken.

tilknyt_landsnumre(punkter: List[Punkt], fikspunktstyper: List[FikspunktsType]) List[PunktInformation]

Tilknytter et landsnummer til punktet hvis der ikke findes et i forvejen.

Returnerer en liste med IDENT:landsnr PunktInformation'er for alle de fikspunkter i punkter som ikke i forvejen har et landsnummer. Hvis alle fikspunkter i punkter allerede har et landsnummer returneres en tom liste.

Kun punkter i Danmark kan tildeles et landsnummer. Det forudsættes at punktet har et tilhørende geometriobjekt og er indlæst i databasen i forvejen.

Den returnerede liste er sorteret på samme vis som inputlisterne, dvs at det n'te element i outputlisten hører sammen med de n'te punkter i inputlisterne.

Submodules

class fire.api.firedb.base.FireDbBase(db=None, connectionstring=None, debug=False)

Bases: object

fire.api.firedb.base.new_cache() Mapping[str, dict]

Funktionalitet til at hente diverse FIRE objekter

class fire.api.firedb.hent.FireDbHent(db=None, connectionstring=None, debug=False)

Bases: FireDbBase

hent_alle_punkter() List[Punkt]
hent_alle_sager(aktive=True) List[Sag]

Henter alle sager fra databasen.

hent_geometri_objekt(punktid: str) GeometriObjekt
hent_grafik(filnavn: str) Grafik
hent_observationer(ids: List[str]) List[Observation]

Returnerer alle observationer fra databasen hvis id'er er indeholdt i listen ids. Hvis ids indeholder ID'er som ikke findes i databasen gives der ikke en fejlmelding.

hent_observationer_fra_opstillingspunkt(punkt: ~fire.api.model.punkttyper.Punkt, tid_fra: ~datetime.datetime | None = None, tid_til: ~datetime.datetime | None = None, srid: ~fire.api.model.punkttyper.Srid = None, kun_aktive: bool = True, observationsklasse: ~fire.api.model.observationer.Observation = <class 'fire.api.model.observationer.Observation'>, sigtepunkter: ~typing.List[~fire.api.model.punkttyper.Punkt] = None) List[Observation]

Hent observationer, hvor punkt var opstillingspunktet.

hent_observationer_naer_geometri(geometri: ~fire.api.model.geometry.Geometry, afstand: float, tid_fra: ~datetime.datetime | None = None, tid_til: ~datetime.datetime | None = None, observationsklasse: ~fire.api.model.observationer.Observation = <class 'fire.api.model.observationer.Observation'>) List[Observation]
Parameters:
  • geometri -- Forespørgslen udvælger alle geometriobjekter, der befinder sig inden for en given afstand af denne geometri.

  • afstand -- Bufferafstand omkring geometri i meter.

  • tid_fra -- Tidspunkt hvorfra observationerne skal have fundet sted.

  • tid_til -- Tidspunkt hvortil observationerne skal have fundet sted.

Returns:

En liste af alle de Observation'er der matcher søgekriterierne.

Return type:

List[Observation]

hent_observationer_naer_opstillingspunkt(punkt: Punkt, afstand: float, tid_fra: datetime | None = None, tid_til: datetime | None = None) List[Observation]
hent_observationstype(name: str) ObservationsType

Hent en ObservationsType ud fra dens navn.

Parameters:

observationstypeid (str) -- Navn på observationstypen.

Returns:

Den første ObservationsType der matcher det angivne navn. None hvis ingen observationstyper matcher det søgte navn.

Return type:

ObservationsType

hent_observationstyper() List[ObservationsType]

Henter alle ObservationsTyper.

hent_punkt(ident: str) Punkt

Returnerer det første punkt der matcher 'ident'

Prioriterer punkter som matcher 1:1. Hvis intet punkt findes udsendes en NoResultFound exception.

hent_punkt_liste(identer: List[str], ignorer_ukendte: bool = True) List[Punkt]

Returnerer en liste af punkter der matcher identerne i listen identer.

Hvis ignorer_ukendte sættes til False udløses en ValueError exception hvis et ident ikke kan matches med et Punkt i databasen.

hent_punkter(ident: str) List[Punkt]

Returnerer alle punkter der matcher 'ident'

Hvis intet punkt findes udsendes en NoResultFound exception.

hent_punktinformationtype(infotype: str) PunktInformationType
hent_punktinformationtyper(namespace: str | None = None)
hent_punktsamling(navn: str) PunktSamling

Hent en punktsamling ud fra dens navn.

Punktsamlingsnavne er unikke i FIRE, så der kan højest returneres en punktsamling ad gangen med denne metode.

hent_sag(sagsid: str) Sag

Hent en sag ud fra dens sagsid.

Sagsid'er behøver ikke være fuldstændige, funktionen forsøger at matche partielle sagsider i samme stil som git håndterer commit hashes. I tilfælde af at søgningen med et partielt sagsid resulterer i flere matches udsendes en sqlalchemy.orm.exc.MultipleResultsFound exception.

hent_srid(sridid: str) Srid

Hent et Srid objekt ud fra dets id.

Parameters:

sridid (str) -- SRID streng, fx "EPSG:25832".

Returns:

Srid objekt med det angivne ID. None hvis det efterspurgte SRID ikke findes i databasen.

Return type:

Srid

hent_srider(namespace: str | None = None) List[Srid]

Returnerer samtlige Srid objekter i databasen, evt. filtreret på namespace.

Parameters:

namespace (str - valgfri) -- Return only Srids with the specified namespace. For instance "EPSG". If not specified all objects are returned. Returne kun SRID-objekter fra det valgte namespace, fx "EPSG". Hvis ikke angivet returneres samtlige SRID objekter fra databasen.

Return type:

List[Srid]

hent_tidsserie(navn: str) Tidsserie

Hent en tidsserie ud fra dens navn.

Tidsserienavne er unikke i FIRE, så der kan højest returneres en tidsserie ad gangen med denne metode.

Funktionalitet til at indsætte diverse FIRE objekter

class fire.api.firedb.indset.FireDbIndset(db=None, connectionstring=None, debug=False)

Bases: FireDbBase

indset_observationstype(observationstype: ObservationsType, commit: bool = True)
indset_punktinformationtype(punktinfotype: PunktInformationType, commit: bool = True)
indset_sag(sag: Sag, commit: bool = True)
indset_sagsevent(sagsevent: Sagsevent, commit: bool = True)

Indsætter sagsevent og tilføjer eller ændrer tilknytteede FikspunktsregisterObjekter i databasen.

indset_srid(srid: Srid, commit: bool = True)

Funktionalitet til at lukke diverse FIRE objekter

class fire.api.firedb.luk.FireDbLuk(db=None, connectionstring=None, debug=False)

Bases: FireDbBase

luk_beregning(beregning: Beregning, sagsevent: Sagsevent, commit: bool = True)

Luk en beregning.

Lukker alle koordinater der er tilknyttet beregningen. Hvis ikke allerede sat, ændres sagseventtypen til EventType.KOORDINAT_NEDLAGT.

luk_grafik(grafik: Grafik, sagsevent: Sagsevent, commit: bool = True)

Luk et Grafik objekt.

luk_koordinat(koordinat: Koordinat, sagsevent: Sagsevent, commit: bool = True)

Luk en koordinat.

Hvis ikke allerede sat, ændres sagseventtypen til EventType.KOORDINAT_NEDLAGT.

luk_observation(observation: Observation, sagsevent: Sagsevent, commit: bool = True)

Luk en observation.

Hvis ikke allerede sat, ændres sagseventtypen til EventType.OBSERVATION_NEDLAGT.

luk_punkt(punkt: Punkt, sagsevent: Sagsevent, commit: bool = True)

Luk et punkt.

Lukker udover selve punktet også tilhørende geometriobjekt, koordinater og punktinformationer. Alle lukkede objekter tilknyttes samme sagsevent af typen EventType.PUNKT_NEDLAGT.

Dette er den ultimative udrensning. BRUG MED OMTANKE!

luk_punktinfo(punktinfo: PunktInformation, sagsevent: Sagsevent, commit: bool = True)

Luk en punktinformation.

Hvis ikke allerede sat, ændres sagseventtypen til EventType.PUNKTINFO_FJERNET.

luk_punktsamling(punktsamling: PunktSamling, sagsevent: Sagsevent, commit: bool = True)

Luk en punktsamling.

Hvis ikke allerede sat, ændres sagseventtypen til EventType.PUNKTGRUPPE_NEDLAGT.

luk_sag(sag: Sag, commit: bool = True)

Sætter en sags status til inaktiv

luk_tidsserie(tidsserie: Tidsserie, sagsevent: Sagsevent, commit: bool = True)

Luk en tidsserie.

Hvis ikke allerede sat, ændres sagseventtypen til EventType.TIDSSERIE_NEDLAGT.