-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the Artskart3 wiki!
Artskart så dagens lys allerede i 2005 og har siden den gang blitt oppdatert flere ganger. Nå er vi i gang med oppdatering nummer 3. Altså Artskart3. Det er ingen revolusjerende endringer i den første versjonen av Artskart3. Målet er å få stengt ned Artskart2 fordi den er så teknisk gammel at den har problemer med funksjonalitet og hastighet. Så målet er å få fjernet teknisk gjeld, samtidig som vi bereder grunnen for en framtidig løsning med flere funksjonaliteter. Portalen er bare en del av Artskart vi ser også på baksiden av det som foregår og frisker opp både struktur og tilleggstjesntene som API. Artskart er navet i artsdata i Norge og viktig levenrandør av data til GeoNorge og Arter av forvaltningsinteresse.
Mye av WIKI tar utgangspunkt i Artkart2, men vil bli oppdatert til Artkart3 etter hvert som prosessen går fremover.
Artskart startet som en enkel portal for artsfunn i 2005. konseptet med Artskart er å vise "hvor når og hva". I starten var det svært lite digitale data. Derfor ble det opprettet et samarbeid med museer om hvordan funndata skal presenteres digitalt. Det startet med 30 datafelt basert på behovene til museene, men man så også til TDWG hadde begynt standardisering med Darwin Core internasjonalt. GBIF-nettverket var også i gang, med de delte ikke data. DarwinCore ble ganske fort etter på en vedtatt standard. DarwinCore Quick Referanse guide.
DarwinCore har svært sjelden hatt komplett vokobular for de forskjellige parameterene, og det meste er kodet som tekst, inkludert dato, men som har noen eksempler på hvordan de kan skrives. Mangelen på en god dokumentert standard med litt for valgfrie datatyper og kolonner er en stor utfording når man skal få alle datasettene til å møtes i en stor base. I Artskart er det brukt mye arbeid på å få dette til å fungere.
Et annet eksempel er "Basis of Record" som har blitt strammet inn, men som historisk har hatt mye rart. Legge inn eksempel på hvilke verdier Artskart sammenstiller. Basis of record er en parameter som er naturlig er i kontinuerlig utvikling og maskinlesing og eDNA er nye metoder som bør kunne defineres.

Siden DarwinCore ikke har noen endringslogg er det vanskelig å følge med på hva som skjer med datasettene. Man oppdager som oftest at det er trøbbel når dataene uteblir.
Et annet eksempel på utfordriner er parameteren CoordinatPressesion / CoordinateUncertainyInMeters. GBIF/Darwincore har i hovedsak brukt lat/lon i en geografisk projeksjon, derfor var presisjon oppgitt med en desimalverdi som representerte desimalgrader. Når denne parameteren blir tolket som antall meter unøyaktighet i et datasett, men som desimalgrader i et annet datasett blir det krøll.
I starten ble det utviklet en klient som eksponerte data fra databasene til museene på nett. Denne metoden er delvis i bruk enda, men for de fleste datasett er det nå IPT som brukes, IPT kom i 2016, og muliggjorde visning direkte fra relasjonsdatabase eller fra Excel/csv-fil. Artskart høster så langt som mulig dirkete fra IPTene og ikke via GBIF. Unntaket er en del noder utenfor Norge som går i et samlet kall mot GBIF-api, og Artsobservasjoner som hentes direkte internt.
DarwinCoredataene er basert EML META occurences, som er et funn eller en observajon av en art. Kun et felt ScientificName. For å få med bilder legger man til en extension. Og bilder i en relasjonstabell.
DarwinCoreEvent (kom i 2020, f.eks. en felles lokalitet, eller et besøk), DarwinCoreOccurense (f.eks.), DarwincoreTaxon
I Artskart er Events og Occurennce eller kun Occurence samlet til et nivå. DynamicProperties har vært redning og det har blitt brukt i påvente av et fornuftig felt å legge det inn på. Et eksempel kan være en NIN-kode som det er informert en anbefaling for Norge.
Når det kommer til parametre på Taxon er det mye rart, noen har kun scientificName noen har scientificName inkl. Authorship, eller bare til slekt, eller splittet på egen kolonner. Får å få dette til å fungere er det prøvd fikset i et script som går igjennom i prioritert rekkefølge de mulige kombinasjonene som er påkommet så langt.
Artskart består av i hovedsak 3 databaser, som er speilet for sensitive arter.
Sette inn figur
Artskart2Core et register for alt Artskart trenger for få ut informasjon. og hente informasjon. Fylker, kommuner, verneområder, taksonomi. Oversikt over datasett som skal importeres, nodeinndeling o.l.
Artskart2Cache høsteresultatet - nedlasting og speiling av data som ligger ute på nettet. En lokal kopi. På grunn av ustabililtet på kildedatabasene.
Artskart2Index importresultatet - Går igjennon Cache og splitter og tilrettelegger for alt det som vi gjør for å få til en god database på alle de rare formatene de ligger på.
- Index eksporterer også ut kartformat til SQLlite/shape og SQLlite til MDIR. Begge kjøres annenhver dag.
- BildeCache i zipfila er det ikke med bilder, bare en kobling. Må lages thumbsnail som vi kan ta det med i bildegalleri
- Eksportfunsjonen fra nettsiden samles også på egen storagekonto
Artskart.import (Swissknife) har vært sentral for vedlikehold av data i systemet.
WindowsService for å håndtere eksportfil men blir også brukt til import og høsting. Kan kjøres manuelt. Kan bli krøll hvis de to tjenestene jobber med samme node samtidig. Egen SQLdatabase. Hangfire som kjører ting.
Frontend applikasjon med et API som skal støtte frontend - Dette er brukt ekstern, uten at vi har gitt noen garantier og uten å si fra.
Grunnlaget for API er Artskart2Indexdatabasen. Det er dbo.Observations som er hovedtabellen. I Modellen nedefor er det viktigste tabellene og relasjonene for APIet som portalen bruker tatt fram.

Et behov for å kunne vedlikeholde, loggføre og oppdatere data. Egen løsning pga historiske løsninger.
Pubplikapi (ArtskartApi i koden, ligger på URL publicApi) etablert i 2014 - bestiller MDIR - For å kunne hente funn for arter av forvaltningsinteresse, men også brukes også på sensitive arter. Det er flere som har tatt i bruk dette. Blant annet NIBIO og vi bruker den også sjøl til listearbeid ListHelper. Artskart er oppdatert flere ganger siden 2014, men publicApi har måtte vært holdt kompatibelt. NINA, EU-prosjekt, NIBIO med flere.
Det er et parallelt rigg for sensitive arter, med SensCore, SensCache, SensIndex med det som MDIR trenger ut via publicApiverktøyet.
Mapserver WMS/WFS, Rest? Rødliste/fremmedart med SQLlite som orginaldatabase og kan lastes direkte også. Ikke hele Artskart, men de som oppnådd en status for rødliste eller fremmedartsliste, dato og presisjon. Et utvalg med filter. Mer dokumentasjon?
Tidlig varslig (notification) - Brukerene kan be om varsling for sitt søk. Kan gjøres flere ganger, Autoraisjonsloop via "eier" av Artskart. Vil få status som innlogget. Egen database med et par tabeller. Brukerne og de varslene de har satt opp. Antall ca. et par 2000. Tar en runde pr natt og kjører en jobb med å sende epost til de som etterspurt disse dataene. Med lenke.
Annoteringsapi - Egen database, eget API. Behovet for å kunne blokkere støy, korrigere feil, og overstyre det som ligger i GBIF. ca. 170 000 funn. Koblet til occurenceID som primærnøkkel.
DOI - er ikke helt lansert, men en permanent ID for nedlastinger. DOI.org resolvertjenteste. Metadata i selve DOIen, må vi API for å se metadata.
ArtskartCore - Databasen. SQL-database. Starte som open Source, ble betalinsløning RavenDB, så denne har vi som mål å bytte ut. Gateway er i skyen og det er etablert en Proxy for å få kontakt.
- Lagres i JSON
- Nodeinfo M Håndtere Noder, en JSON for hver node med info
- Taxoninfo A - Taxonkonseptet med all informasjon. Kjører hver natt med god loggfunskjon. Hånterer synonomer, rødlistevedier og hieraki, norsknavn, endringslogg, rett skrevemåte inkludert italic
- GBIF dataset infos A / M (Spør etter datasett som publisert av norsk institusjon, hvis ikke fra før, ta inn.)
- Areas Håndterer alt av fylker og kommuner og er der Artobshenter samme geometri. Derfor dobling på GoogleMercator.
- 60 Institutions M Må ligge inn for å akseptere.
- 200 Collections A Collections kommer automatisk
- 4700 Dataset A Under Collections kommer datasett for eksempel fugler, planter osv. fra Artsobservasjoner. Private prosjekt. Navneforvikling med GBID datasett.
- BasisOfRecord M /A - Oppslagstabeller. Logging av rare ting som dukker opp. Kan for eksempel .legge til flere verdier som skal tolkes stasjonær eller næringssøkende.
- Initialicie -førstegang lager tomme tabeller i Cache og Index
- Migrate - ved databaseendringer
- Updata - nattlig vedlikehold. Areas, Taxons osv.
- Normal INCREMENTIELL. kjører kun på endringer
- Reproscess FULL
-
Normal INCR
-
reprocess Ser på alle poster, men er optimalisert
-
reprocess nohash FULL Kjører alt på nytt listekategorier, areal osv. men sjekker mot det som ligger der før den skriver tilbake.
-
Retry taxons (Kun de som har feilet på taxonomi) Hvis det har vært noe skikkelig feil Nortaxa må man kjøre nohash istedet
-
GetDataSets - Se etter nye datakilder for Norge
-
Load Areas - importerer ney fylker, kommuner og verneområder
-
downloadimages - thumbnails
- Henter siste versjon av consoll-apper fra drop-folders (fra deploy)
- Kjører første steg av taksonomivedlikehold - henter endringer i navn fra artsdatabanken.no api til ArtskartCore
sequenceDiagram
TaxonomyWash->>+ArtskartCore: Importer navn fra Artsdatabanken api
ArtskartCore-->>-TaxonomyWash: Done!
- Kjører annen prosessering, høster data, prosesserer data
sequenceDiagram
ArtskartImport->>+ArtskartCore: Importer nye datasett-kandidater for norge
ArtskartImport->>+ArtskartIndex: Importer Areal (kommuner/verneområder)
ArtskartImport->>+ArtskartIndex: Oppdater og behandle endrede navn
ArtskartImport->>+ArtskartIndex: Annet db vedlikehold
ArtskartImport->>+ArtskartCache: Høste data fra kilde datasett
ArtskartImport->>+ArtskartIndex: Prosessere og importere datasett
ArtskartImport->>+ArtskartIndex: Reprosessere tidligere feilede navn
Mer tekst
Konsollapplikasjon og rammeverk som leser oppdatert taksonomi ut fra https://artsdatabanken.no/api/taxon og overfører til databasen ArtskartCore, som er kjernen for informasjon i Artskart. Tilsvarende konsollapplikasjon vedlikeholder Artsobservasjoner 2.
Denne bygges, og konfigureres og deployes inn i en drop-katalog på Azure VM. Deretter for å unngå forsøk på deploy mens applikasjonen faktisk kjører blir den ved kjøring via ett .bat skript kopiert fra drop-katalog og kjørt via en sheduled task.
- Repo: TaxonomyUpdateService
- Build: Build pipeline
- Deploy: Release pipeline
- Sheduled Task: Bat file - sheduled on VM
http://artskart.artsdatabanken.no - Automatisk videresende til app/eventuelt overordnet info side, litt for å unngå arv av config til underliggende applikasjoner
Trenger sql server, og ravendb 3.5 lokalt som basis.
For Azure storageAcoount - bruk azurite:
cd C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\Extensions\Microsoft\Azure Storage Emulator
azurite.exe --skipApiVersionCheck
Azurite Blob service is starting at http://127.0.0.1:10000
Azurite Blob service is successfully listening at http://127.0.0.1:10000
Azurite Queue service is starting at http://127.0.0.1:10001
Azurite Queue service is successfully listening at http://127.0.0.1:10001
Azurite Table service is starting at http://127.0.0.1:10002
Azurite Table service is successfully listening at http://127.0.0.1:10002Få en kopi av ArtscartCore RavenDB databaseinstans - RavenDb 3.5: https://ravendb.net/download
Sentralt er Artskart.Import.
Opprett en tom db lokalt med navnet Artskart2Hangfire
Første gang Artskart.import.exe database initialize - førstegangsinitisering av tomme databaser Artskart.import.exe database migrate - lager cache database og kjører eventuelle manglende migreringer
"Nattlig" - for å høste databaser og prossesere dem Artskart.import.exe database update Artskart.import.exe harvest 1 (høste node 1) Artskart.import.exe import 1 (høste node 1)
Kjøre frontend lokalt: modifisere web.config - til lokale con strings Start appapi Start WebApp
Artskart.UI tilsvarer det som ligger på /admin
For å kjøre annotering lokalt må du også kjøre Artskart.Annotations fra Artskart.Core
The following three packages are required to be kept below v6.*:
- Microsoft.AspNetCore.Connections.Abstractions
- Microsoft.AspNetCore.Http.Connections.Common
- Microsoft.AspNetCore.Http.Connections.Client
https://stackoverflow.com/questions/54039861/azure-signalr-service-connection-is-not-active
https://github.com/Azure/azure-signalr/issues/1503#issue-1071040076
Trolig ikke lengre et problem når man er over på .net core
SwissKnife (in VS solution explorer: right-click Properties -> Debug )
Artskart.Import.exe {param} [{modifier}] [{Ids}]
{Ids} Empty for all or comma-separated list of node ids
Possible parameters....
harvest - Harvest to Cachedatabase from sourcedatabases
harvest normal - [Default] Normal quick harvest of records
harvest reprocess - Full reprocessing of records - optional 4th argument - start at partitionyear
import - Import and process records from Cachedatabase into index
import normal - [Default] Normal import of records
import reprocess - Full import of records - optimized with hashcodes
import reprocessnohash - Full import of every records ignoring hashcodes
import reprocessoccurenceid - Import of list of records - optimized with hashcodes - provide full file path as an argument
import reprocessoccurenceidnohash - Import of a list of records ignoring hashcodes - provide full file path as an argument
import retrytaxons - Retry rejected records for new taxon match
import recover - try to recover failing reprocess
import updatestatistics - Only update observationcounts
Facets - (undocumented parameter)
taxons - Reimport all Taxon documents
AnalyzeDataset - (undocumented parameter)
database - Maintain data from core database in index and run database migrations
database initialize - import data from core database to a new index database
database update - update exisiting data in index from core
database migrate - run database migration scripts on both index and cache databases
LoadAreas - (undocumented parameter)
GetNewDatasets - (undocumented parameter)
DownloadImages - (undocumented parameter)
Municipality - (undocumented parameter)
Artskart.artsdatabanken.no (c) Artsdatabanken 2024
To process some specific occurences, use parameter proxies:
import 40 proxies urn:catalog:MBA:CPR:35T--13-5,urn:catalog:MBA:CPR:35T--13-5
Underliggende applikasjoner
/App - Mobilvennlig nettside - SPA applikasjon
/AppApi - Underliggende Api for SPA applikasjon
/Map - Dynamisk WMS/WFS/Tile server - index.html -> dokumentasjon
/PublicApi - Public Api - index.html -> dokumentasjon
/Admin - Administrative side/log
Portalen er det vanlige innsynet i databasen til Artskart. Her kan man søke både på parametere og på ved hjelp av geografiske objekter. Hovedvinduetvinduet består av et Norgeskart med en enkle visning av objektetene i basen. I tillegg er det en menybar øverst og en menybar til venstre side som består av søk, filter og presentasjon av enkelttreff.
Dette er oppstartsvinduet, i dag vises det bare cluster for data innen for terretoriellgrensa, men vi har mye data i havet mellom Jan Mayen, Svalbard og Norge.

Listevisning er en liste med pageinering over det som til en hver tid er filtrert. Her får man tilbud om eksport.


Søk er en av de viktigste verktøyene i Artskart. Her kan man filterer datasettet til en eller flere arter, men kan definere en kommune, eller et verneområde som et geografisk filter. Målet er et å utvide mulighetene for geografisk filter med flere ferdigdefinerte polygon, men også tilby brukeren å kunne laste opp sine egen polygon for filterering.
Det er satt søk på:
- Artsnavn
- Geografisk
- Artsgrupper
- Rødliste- og fremmedartslistekategori
- Funntype
- Aktivitet
- Institusjoner
- Måneder
- Årsspenn
- Koordinatpresisjon
- Prosjekt
- Samling
- Katalognummer
- Med og uten bilde
- Funnet/ ikke funnet
- Gjenfunnet/ ikke gjenfunnet
- Valideringstatus
- Sikker/ usikker artsbestemmelse
- Spontan/ uspontan
- Sensitive funn
- Annoerte funn
- Kvalitetsproblemer
Det kan komme til flere filtreringsmuligheter og vi bør se om vi får på plass noen ferdige søk sammen med forvaltningen. For eksempel filteret Arter av forvaltningsinteresse som er definert av Miljødirektoratet og som er en viktig ressurs for arealforvaltningen.
Vi bør også som prinsipp vise alle data, gode og dårlige, men vi kan være tjent med å skjule de dårligste dataene slik at man aktivt må velge å få se dataene. Utfordringer kan svært lav koordinatpresisjon eller manglende stedfesting utover kommune eller fylkesnavn.
Eksport av det til en hver tid valgte data, i dag kun tilgjengelig via "Listevisning". Eksporten tilbys som CSV og excel. Resultatet kan bestå av både flater og punkter. I tabelleksporten er det alle registreringene representert med punkt eller senterpunkt innenfor flata. I tilbys WKT-geometri for de objektene med flate. Her bør vi se på en eksport som også tilbyr en fullverdig kartfil med punkt og flater. For eksempel Open file geodatabase, GeoPackage, geojson eller GML. All eksport må sees i sammenheng med DOI.
Digital object identifier, her er det flere nivå. Alle datasett har en DOI som identifiserer hvert datasett i GBIF. Disse må vi speile i Artskart. I tillegg kan vi tilby egne DOI for et filter/søk/eksport fra Artskartløsningen. Vi bør se på datamodellen om datasett DOI kan følge datasettet mer enn det gjør i dag da det er viktig metadata og mange henter og laster ned data fra API, Arter av forvaltningsinteresse og mulig flere plasser.
Artkart 3 skal følge retningslinjene for enhetlig design for Artsdatabanken så langt som mulig. Det er vikitg å vise slektkskap med Artsobservasjoner, så valg som er tatt der vil kunne påvirke valgene i nye Artskart.
Designet må kunne fungere for både PC, nettbrett og mobil.
Increo har laget et forslag på design og noe funksjonalitet.
Her er det flere muligheter, dagens oppstart er farge etter rødliste og fremmedartskategori. Det er også mulig splitte det på arter, men det er kun mulig med 20 arter. Selv med 20 fargekoder pusher man lesbarheten til kartet. Størrelse på prikken viser/ kan vise antall registreringer pr. lokalitet. Her er det utviklingsmuligheter. I tillegg er det mulig å trykke på et punkt å få opp presisjon som en buffer rundt punktet.
Enkeltoppslag er en svært viktig funskjon for Artskart. Her vil vi vise alle egenskaper som følger objektet fra orginaldatabase, vise hva vi har gjort med dataene og henvise til DOI for datasettet. Vi har mange brukere av dataene som ikke kommer via Artskartportalen, det er viktig for oss og brukerene at de kan linke til enkeltoppslag for funn. Enkeltoppslag har i dag et par egne kartvisninger som viser hvor i Norge registreringen er og et kartbilde som er litt nærmere. Her skal vi se om vi berger med et kart, men at kartet har en knapp Zoom til punkt eller zoom til oversiktskart, et knippe kartverktøy er aktuell.
Enkle statistikker som følger en til enhver tid søk/filtrering. Her bør vi videreføre noen av oppslagene, men vi bør se på en større løsningen sammen med Artsobservasjoner med en rapportgenerator.
Annotering som konsept er fortsatt under utvikling og har flere utfordringer. Behovet er tilstedet fordi mengden data er enorm og selv om andelen feil er noenlunde stabil blir det etter hvert en utfording, med data som ikke holder mål. For rødlistearbeid er det en utfording med feilregistreringer som for eksempel ligger langt utenfor naturlig utbredelse. Dette vil gi feil utbredelseskart når de er automatisert. I forvaltningssammenheng vil en slik feilregistrering lettere kunne håndteres, men det fremstår som støy og det minsker også forvaltningens mulighet til å bruke datasettet i datamodeller. Men for forvaltningen kan en registering som kun er stedfestet til en kommune skape støy i en konkret arealsak og vi kan få fisk som er registrert på land og motsatt. Så dette er en utfording for verdikjeden.
Vi har tatt på oss et redaktøransvar for å håndtere disse annoteringen, men det er dataeierene som må ha siste ordet på hvilke data som er rett eller ikke. I mange av tilfellene er det ikke uenighet med dataeier, men et ønske om å bidra mer presis informasjon. Lokalkunnskap, kjennskap til stedsnavn og andre lokale forhold kan være til godhjelp for å å flyttet en registrering fra "senter punkt kommune" til der den mest sannsylig ble funnet. Eller man ønsker å gi tilbakemeling på citizen science data for å de som har registert skal lære noe og bli bedre og samtidig "validere" funnet. Gjør oppmerksom på at Artsobservasjoner har sitt eget opplegg for tilbakemeldinger, men flere melder dette direkte til Artskart og vi har pr i dag ingen automatikk at medlingen går til rett løsningen.
Vi har også en utfordring med å melde tilbake hvilke annoteringer som er gjort tilbake til dataeier, og følger spent med på det som skjer i GBIF-samarbeidet.
Her kommer det litt mer tekst om hvordan annotering håndteres i dag.
Bakkgrunnskartene er de som finnes hos Kartverket. I dag topografiskdata for Norge, Svalbard og Jan Mayen i farge og svart/hvitt, men også flyfoto fra Norge i bilder. Her er det ønskelig å tilby hele pakken til kartverket. Inkludert sjøkartverk. Som backup i bun ligger OpenStreetMap på alle visninger, så det ikke blir helt hvitt når man er utenfor dekningsområdet til tjenestene til Kartverket, eller at en tjeneste skulle feile.
Teg
Oppsett av dagens Artskart2 adminpanel, som ligger åpent uten for alle, men ikke alle faner er tilgjengelig for publikum og selvsagt ikke mulighet fot å redigere. Men for en leverandør av data er det mulig å se hvordan deres data er tatt inn i Artkart og få utvidet feilmelding.


Her er det mulig å velge "Se" for å få sett akkruat dette datasettet i Artskart. Går man til "Velg" får man opp en oppsummering av statusen for akkurat den noden.
Antall poster er inndelt i poster som er importert, poster som er lastet ned og antallet poster som finnes i orginalkilden 

Her kan man velge å se aktive eller slette datanoder. Man kan gå inn å redigere på en enkelt node, eller man kan høste og importere datasettet manuelt, eller kjøre en reprosess på import, eller kjøre full import (inkl. bilder til thumbnails osv.)


Man kan også registrere nye noder, men også se om det er kommet nye datasett på noen utvalgte IPTer. Man kan også reprosessere enkelt poster i datasettet.
