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:
Hvis koordinaten forekommer midt i en tidsserie fejlmeldes den uden videre.
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_punktsamlinger() list[PunktSamling]
Hent alle punktsamlinger fra databasen.
- hent_geometri_objekt(punktid: str) GeometriObjekt
- 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_punkter_fra_uuid_liste(uuids: List[str])
Hent alle punkter med punkt ID'er matchende listen uuids.
Metoden tilbyder en hurtig måde at hente mange punkter ud af databasen på, når punkternes UUID'er er kendte, fx fra en observationsliste.
- 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:
- 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)
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_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.