-- Af team Geodætisk Informatik i kontoret Geografiske Referencer.
FIRE er SDFIs interne grænseflade til at læse og skrive data i vores fikspunktregister, ét af vores vigtigste dataarkiver.
Det erstatter REFGEO og indeholder alle de samme informationer, herunder punktnumre, identer, skitser, koordinater, tidsserier, beskrivelse og afmærkningstyper. FIRE er imidlertid mere overskueligt opbygget og derfor nemmere at vedligeholde.
Materialet i dette arkiv indeholder kode og andet materiale, der gør det muligt for brugerne at opdatere databasen [også kaldet FIRE, eller ved tvetydighed FIREDB] eller læse oplysninger om punkter, herunder historik, grafik og en masse andre attributter knyttet til punkterne.
Indhold:
En Python-pakke fire
med API-modul [fire.api
] til interaktion med den
bagvedliggende database samt arbejde med GNU Gama-filer
[fire.api.gama
].
Med pakken kommer også kommandolinjeprogrammet fire
, der indeholder en
række brugbare underapplikationer, såsom fire info
.
Et QGIS-plugin kaldet flame
, der tilbyder en grafisk brugerflade til
fikspunktsregisteret og adgang til beregningsprogrammellet i fire
.
flame
er endnu ikke klar til brug, men afventer en nærmere gennemgang.
Formålet med programmet er let at få vist punkter fra databasen i et brugbart regi [QGIS]. Det skal eksempelvis være muligt at fremsøge alle punkter inden for en given kommune, et givent distrikt osv.
FIRE-programmet forudsætter følgende installerede programmer:
MambaForge skal installeres efter SDFIs generelle retningslinjer.
Git og Oracle Instantclient kan installeres via Software Center jævnfør FIRE-dokumentationen.
For at installere FIRE gøres overordnet følgende:
mamba
- eller
conda
-miljø] til installation.fire
-pakken og -kommandoen bruges fra alle
mapper, når blot Python-miljøet er aktiveret.Installationsskridt:
Åbn en terminal.
Hvis du har fulgt SDFI-vejledningen, er det ligegyldigt hvilken terminal, du
bruger. MambaForge-Python burde være tilgængelig alle steder, fordi din
miljø-variabel %PATH%
inkluderer stien til programmet.
Tilgå roden af dit filsystem (her viser vi det for Windows), hvor vi opretter mappen til Git-arkivet med FIRE:
> cd C:\
C:\>
Man kan i princippet selv vælge, hvor koden skal ligge, men vi gør det nemmere for os selv og andre ved at vælge samme placering.
Med Git kan arkivet hentes, så indholdet ligger i mappen C:\FIRE
(som bliver oprettet automatisk med følgende):
C:\> git clone https://github.com/SDFIdk/FIRE
Gå ind i mappen:
C:\> cd C:\FIRE
Vælg nu her, hvilken version, du ønsker at installere [her bruger vi version
1.5
som eksempel]:
Du kan vælge at fastholde versionen ud fra et bestemt Git-tag. her checker
du en specifik Git-revision ud, som har fået mærkaten [en tag]
fire-1.5.0
.
C:\FIRE> git checkout fire-1.5.0
Alternativt kan du vælge at følge alle mindre opdateringer til en given
version [her igen med version 1.5
som eksempel].
C:\FIRE> git checkout 1.5
Her er det grenen [en branch], der er navngivet 1.5
, du i så fald
følger, frem for en specifik Git-revision. Dét betyder, at du fremover kan
få seneste patch-version [1.5.1
, 1.5.2
, 1.5.3
, etc.] ved blot at
skrive følgende:
C:\FIRE> git pull
... og dernæst opdatere programmerne i mamba-miljøet (se nedenfor).
Når du har valgt FIRE-version med én af de ovenstående metoder, kan du nu installere alle de pakker, som FIRE afhænger af med følgende kommando:
C:\FIRE> mamba env create --file environment.yml
Aktivér mamba-miljøet, du nu har oprettet, og installér FIRE:
C:\FIRE> mamba activate fire
(fire) C:\FIRE> python -m pip install -e .
Husk punktummet til sidst, da det peger på mappen, du befinder dig i
[C:\FIRE
].
Kontrollér, at opdateringen er gået korrekt med følgende kommando:
(fire) C:\FIRE> fire --version
hvilket gerne skulle returnere
fire, version 1.5.0
Ved opdateringer kan du gøre følgende:
Gå til appen med Git-arkivet:
cd C:\FIRE
Hent seneste revisioner, så den nyere version er tilgængelig lokalt på din maskine.
Skal du blot opdatere patch-version for en given version, eksempelvis 1.5
,
kan du gøre følgende fra denne branch:
C:\FIRE> git pull
Er du ikke på branchen for version 1.5
, kan du komme det med følgende:
C:\FIRE> git checkout 1.5
... og dernæst køre git pull
som ovenfor,
Skal du skifte til en specifik revision med et Git-tag, eksempelvis
fire-1.5.2, så skal du være på hoved-branchen [master
for FIRE-arkivet],
inden du kører git fetch
[for at hente koden] og checker revisionen ud.
Her er kommandoerne:
C:\FIRE> git checkout master
C:\FIRE> git fetch
C:\FIRE> git checkout fire-1.5.2
Når du har udført de ønskede kommandoer i dette skridt, har du opdateret FIRE.
Sidste skridt består i at opdatere programmets afhængigheder, som er installeret i mamba-miljøet.
Når du har skiftet til dén git-revision, der svarer til dén version af FIRE, du ønsker at benytte [specifik version eller seneste patch-version på version-branchen], kan du opdatere dit eksisterende mamba-miljø til FIRE med følgende kommando:
Har du ikke allerede aktiveret mamba-miljøet, skal du først aktivere det:
C:\FIRE> mamba activate fire
(fire) C:\FIRE> python -m pip install -e .
Nu kan du opdatere det aktive mamba-miljø ud fra miljø-konfigurationen
environment.yml
, der passer til dén version af FIRE, du installerede ved
at checke den ønskede revision/branch ud i ovenstående skridt.
(fire) C:\FIRE> mamba env update -f environment.yml
Som under installationen kan du bekræfte, at du kører den ønskede version af FIRE ved at køre fire --version
i terminalen.
Bemærk, at den officielle dokumentation altid er bygget ud fra seneste patch-version af FIRE.
God fornøjelse!