fire.cli.niv package
Module contents
- fire.cli.niv.afbryd_hvis_ugyldigt_jessenpunkt(jessenpunkt: Punkt) None
Smid fejl hvis valgt jessenpunkt ikke er et registreret jessenpunkt
- fire.cli.niv.anvendte(arkdef: Dict) str
Anvendte søjler for given arkdef
- fire.cli.niv.bekræft(spørgsmål: str, gentag=True) bool
Anmod bruger om at tage stilling til spørgsmålet.
- fire.cli.niv.er_projekt_okay(projektnavn: str) None
Kontroller om det er okay at bruge et givet projekt.
Afbryder programmet og udskriver en fejl, hvis ikke projektet er okay.
Ellers gøres intet.
- fire.cli.niv.find_faneblad(projektnavn: str, faneblad: str, arkdef: Dict, ignore_failure: bool = False) DataFrame
- fire.cli.niv.find_parameter(projektnavn: str, parameter: str) str
Find parameter fra et projektregneark
- fire.cli.niv.find_sag(projektnavn: str) Sag
Bomb hvis sag for projektnavn ikke er oprettet. Ellers returnér sagen
- fire.cli.niv.find_sagsgang(projektnavn: str) DataFrame
Udtræk sagsgangsregneark fra Excelmappe
- fire.cli.niv.find_sagsid(sagsgang: DataFrame) str
- fire.cli.niv.gyldighedstidspunkt(projektnavn: str) datetime
Tid for sidste observation der har været brugt i beregningen
- fire.cli.niv.hent_relevante_tidsserier(hts_ark: DataFrame, punkt: Punkt, fastholdt_punkt: Punkt, fastholdt_kote: float) list[Tidsserie]
Henter de relevante tidsserier fra Højdetidsserier-arket
Med "relevante" skal forstås tidsserier der har
punkt
som punkt, og som hører under en punktsamling der harfastholdt_punkt
ogfastholdt_kote
som fastholdt punkt hhv. kote.Derudover kontrolleres oplysningerne i Højdetidsserier-fanen. Hvis de er forkerte udsendes fejlmeddelelser.
- fire.cli.niv.obs_feature(punkter: DataFrame, observationer: DataFrame, antal_målinger: Dict[Tuple, int]) Dict[str, str]
Omsæt observationsinformationer til JSON-egnet dict
- fire.cli.niv.observationer_geojson(punkter: DataFrame, observationer: DataFrame) None
Skriv observationer til geojson-fil
- fire.cli.niv.opret_region_punktinfo(punkt: Punkt) PunktInformation
Opret regionspunktinfo for et nyt punkt
- fire.cli.niv.punkt_feature(punkter: DataFrame) Dict[str, str]
Omsæt punktinformationer til JSON-egnet dict
- fire.cli.niv.punkter_geojson(punkter: DataFrame) str
Returner punkter/koordinater som geojson-streng
- fire.cli.niv.skriv_ark(projektnavn: str, nye_faneblade: Dict[str, DataFrame], suffix: str = '') bool
Skriv resultater til excel-fil
Basalt en temmeligt simpel operation, men virkemåden er næsten overskygget af kontroller af at filoperationer gik godt. Det er et vilkår ved interaktioner med filsystemer, så for overblikkets skyld kommer her en kort prosabeskrivelse.
Flyt projektnavn.xlsx til projektnavn-ex.xlsx
Læs dict gamle_faneblade fra projektnavn-ex.xlsx
Fjern elementer fra gamle_faneblade hvis navnet også findes i nye_faneblade
Skriv nye_faneblade til projektnavn.xlsx
Skriv gamle_faneblade til projektnavn.xlsx
Trin 4 kommer før trin 5 for at sikre at de nye faneblade er umiddelbart synlige når man åbner projektnavn.xlsx
Eller mere direkte sagt:
``` fil = Path(f"{projektnavn}{suffix}.xlsx") exfil = Path(f"{projektnavn}{suffix}-ex.xlsx") fil.replace(exfil)
gamle_faneblade = pd.read_excel(exfil, sheet_name=None) for fanebladnavn in set(gamle_faneblade).intersection(nye_faneblade):
gamle_faneblade.pop(fanebladnavn)
- with pd.ExcelWriter(fil) as writer:
skriv nye_faneblade skriv gamle_faneblade
Hvilket er i omegnen af en faktor 10 mindre end den implementerede version - men it's a jungle out there...
- fire.cli.niv.skriv_observationer_geojson(projektnavn: str, punkter: DataFrame, observationer: DataFrame, infiks: str = '') None
Skriv geojson-fil med observationsdata til disk
- fire.cli.niv.skriv_punkter_geojson(projektnavn: str, punkter: DataFrame, infiks: str = '')
Skriv geojson-fil med punktdata til disk