Beskrivelse

CubioMap er en webapplikation udviklet som en del af mit bachelorprojekt. Formålet med applikationen er at give brugeren mulighed for at visualisere naturværdier i specifikke områder baseret på data om biodiversitet, vegetationstæthed og jordkvalitet, med henblik på at vurdere potentialet for naturgenopretningsprojekter.

Applikationen er udviklet med en React-frontend, der bruger Leaflet til interaktive kort, mens backenden er bygget i Django med en PostgreSQL-database understøttet af PostGIS til geospatiale operationer.

Brugerne kan vælge områder på kortet, få vist en vægtet score for naturværdi og gemme områder for senere analyse. CRUD-funktionalitet gør det muligt at oprette, redigere og slette projekter – både med brugerdefinerede områder og punktmarkører. De underliggende indikatorer (biodiversitet, NDVI og jorddata) er baseret på simulerede datasæt genereret i et Python-script til brug i denne prototype.

Som eneste udvikler på projektet har jeg stået for både design og implementering af alle funktionaliteter, herunder REST API-design, datasimulering, databasehåndtering og frontend-udvikling.

Showcase

Kortvisning

vis grid overview af kort

Applikationen viser et interaktivt kort opdelt i kvadrater, hvor brugeren kan vælge områder til analyse. Hvert kvadrat repræsenterer et geografisk område og indeholder beregnede værdier for biodiversitet, vegetationstæthed og jordkvalitet. Disse værdier er i denne prototype baseret på simulerede data inspireret af kilder som GBIF, Sentinel-2 (NDVI) og Danmarks Miljøportal, og de vægtes i en samlet naturværdi-score, som kan bruges til at identificere økologisk vigtige områder.


I sidebaren kan brugeren vælge mellem forskellige farvelag, som visualiserer indikatorerne med en farvegradueret skala. Dette giver et hurtigt overblik over variationen i de valgte indikatorer, fx hvor der er høj biodiversitet, meget vegetation eller lav jordkvalitet, og gør det nemt at sammenligne områder visuelt.

Områdeudvælgelse

Brugeren kan markere specifikke områder på kortet for at se naturværdien for det valgte kvadrat. Valget foretages med ét klik, hvorefter systemet henter og viser den samlede score for det valgte felt. Denne score er baseret på vægtede indikatorer og opdateres dynamisk. På den måde kan brugeren hurtigt få indblik i naturkvaliteten af forskellige områder uden at skulle oprette projekter først.


Funktionen er især nyttig til indledende screening af potentielle projektområder, da den gør det let at sammenligne felter på tværs af geografi. Det er desuden muligt at kombinere valgte felter i næste trin, hvor brugerdefinerede områder kan gemmes og analyseres nærmere.

Områdeudvælgelse på kortet

Brugerdefinerede områder

Brugerdefinerede områder

Brugeren kan oprette, gemme og slette egne analyseområder – enten ved at vælge flere kvadrater på kortet eller tegne et frit område med tegneværktøjet. Når et område gemmes, registreres dets geometri, areal og en gennemsnitlig naturværdi-beregning. Alle data lagres i databasen og kan genindlæses.


Områderne vises i en overskuelig liste i sidebaren, hvorfra man kan slette dem enkeltvis eller oprette projekter baseret på dem. Denne funktionalitet giver brugeren mulighed for at sammenligne forskellige potentielle projektområder og bruge Cubio Map som værktøj i planlægning og dokumentation af naturgenopretningsarbejde. Den visuelle feedback fra kortet kombineret med præcise data gør det muligt at tage informerede beslutninger.

Områdeprojekter

Når brugeren har defineret et område, kan der oprettes et projekt, hvor området og tilhørende metadata gemmes. Brugeren kan give projektet et navn, skrive noter og gemme naturværdien og arealet for det tilknyttede område. Projekterne gemmes i databasen og præsenteres i et separat overblik.


Brugeren har adgang til at redigere navnet og noterne eller helt slette et projekt. Backendens REST API håndterer alle CRUD-operationer, mens frontenden sikrer en intuitiv brugeroplevelse. Funktionen er velegnet til dokumentation og opfølgning i praksis, da man over tid kan oprette flere projekter og følge ændringer i naturværdi baseret på ny data.

CRUD-funktionalitet

Projektmarkører

Projekt uden område med markør

Brugeren har også mulighed for at oprette projekter, der ikke er knyttet til et brugerdefineret område. I stedet placeres en markør direkte på kortet, hvor projektet geografisk er lokaliseret. Markøren indeholder metadata såsom titel, beskrivelse og kategori, som gemmes i databasen sammen med koordinaterne.


Denne funktion er nyttig i tilfælde, hvor der endnu ikke er defineret et præcist område, eller når projektet er småt eller lokalt. Brugeren kan hurtigt oprette, redigere og fjerne disse punktprojekter, og markøren vises automatisk ved genindlæsning. Det skaber fleksibilitet i brugen af Cubio Map, hvor både punktbaseret og områdebaseret projektdokumentation understøttes.

Læring

Cubio Map var mit afsluttende bachelorprojekt, og som eneste udvikler har jeg stået for hele udviklingsprocessen – fra idéudvikling og datagrundlag til implementering. Jeg har arbejdet med både frontend og backend og fået dybdegående erfaring med, hvordan komplekse systemer designes og implementeres i praksis.

På frontenden har jeg udvidet mine kompetencer med React og Leaflet, især i forhold til interaktive kort, brugerinteraktion og dynamiske dataflow. Jeg har desuden arbejdet med avanceret styling og komponentstruktur for at sikre et intuitivt og responsivt brugerinterface.

Backend-delen har givet mig praktisk erfaring med Django og REST API-design, samt hvordan man arbejder med geospatiale data i PostgreSQL via PostGIS. Jeg har lært at strukturere og optimere datamodeller, så både performance og datakvalitet er i højsædet.

Derudover har jeg arbejdet med datasimulering via Python-scripts, hvor dummydata blev genereret til indikatorerne biodiversitet, vegetationstæthed og jordkvalitet. Disse datasæt blev brugt til at udvikle og teste funktionaliteten i applikationen, herunder CRUD-operationer, brugerdefinerede områder og punktbaserede projekter. Arbejdet med datasimulering har givet mig indsigt i, hvordan man strukturerer og forbereder data til prototyper, og hvordan man designer fleksible løsninger, der kan skaleres med reelle datakilder i fremtiden.

Samlet set har projektet været en værdifuld læringsoplevelse, hvor jeg har opnået større sikkerhed i at arbejde selvstændigt med komplekse teknologier og i at tænke helhedsorienteret i forhold til både brugeroplevelse, datakvalitet og systemarkitektur.