Skip to content
Stig Thorseth edited this page May 13, 2024 · 23 revisions

NiN3 kodeapi

URL-er

Url .NET miljø Branch
https://nin-kode-api.test.artsdatabanken.no Staging staging
https://nin-kode-api.artsdatabanken.no Production master

"csvbuilder"

Repo : https://github.com/Artsdatabanken/nin3kodeapi_csvbuilder
Jupyter : https://notebooks.test.artsdatabanken.no/lab/tree/nin3kodeapi_csvbuilder

Modeller og skisser

Orginalfiler for modeller og skisser ligger under T:\alle\nin3kodeapi\diagrammer_skisser

Teknologi

Løsningen består av 2 prosjekter, nin-kode-api og "csvbuilder".
"Csvbuilder" tar master regneark som input, tilpasser data fra regneark og deler dem opp i csv-filer. I tillegg bygges rapportfilen som er en excel-versjon av databasen (mer om dette under kap. "Dataløype")
CSV filene importeres og brukes til å bygge databasen i .NET prosjektet, nin-kode-api. (Mer om dette under kap. "Dataløype")

nin-kode-api

  • NiN3.Console - import av csv-filer og omforming til sqlite-database
  • NinKode.WebApi - .net core 8 web api med ef core 8 som ORM

csvbuilder

  • Python 3.11+ ( Pandas (for datawrangling))

Jupyter

  • Webbasert "computing interface" for å jobbe med dataanalyse og datamanipulering i python/pandas.
  • Tilgjengelig som extension i visual code, samt en instans på intranett (se kap. "URL-er")

Datamodell

Datamodellen er delt inn i 2 diagrammer en for type-klasser og en for variabel-klasser:

ER-diagram, Type

NiN3 0 ERDiagram_type drawio 🔍 Større bilde

ER-diagram, Variabel

NIN3 0 ERDiagram_Variabel drawio (1) 🔍 Større bilde

Konverteringer:

  • Typeklasser: Hovedtypegruppe, hovedtype og grunntype har en løst knyttet relasjon til konverteringer via Kode og Klasse(Enum)
  • Variabelklasser: Variabelnavn og trinn har en løst knyttet relasjon til konverteringer via Kode og Klasse(enum)

Master regneark

Forklaring til master regneark

Type fanen

Kolonnenavn nummer Logisk navn Kommentar
0 Dom, 1 Ver Domene og Versjon NiN-3.0
2 V/T Type eller variabel T eller V
3 AbC Økosystemnivå (EcosystNivaa) A, B eller C
4 kat1 Typekategori Neste nivå i treet (LI, LV, MV, PE eller SE)
5 kat2 Typekategori2 Systembetegnelse (BM, EL, FL, IB, NA, NK, TM)
6 kat3 Typekategori3 Bare relevant for NA; fordeles på MB og VM
7 HTG Hovedtypegruppe 0 for ledd 3 [4 ] = SE (naturkompleks)
8 Pk Prosedyrekategori 0 hvis ikke relevant
9 HT Hovedtype to sifre, fortløpende nummerering
10 GT/kE - grunntype (G) eller kartleggingsenhet
11 GT Grunntype (delkode) to eller tre sifre, fortløpende nummerering

(Kilde: Rune Halvorsen, NHM)

Variabel fanen

Kodeledd nummer Kodeledd forklaring Kolonnenavn nummer Logisk navn Kommentar/eksempel
0 System 0 Dom - NiN
1 Versjon 1 Ver - 3.0
2 Typesystem/Variabelsystem 2 V/T - T eller V
3 Naturegenskap, nivå 1 3 AbC - A eller B
4 Naturegenskap, nivå 2 4 NM - M eller N
5 Naturegenskap, nivå 3 5 kat - Inndeling i 13 aggregerte egenskapskategorier
6 Naturegenskap, nivå 4 6 FG/EK - Statistisk variabeltype F/G, K/E
7 Variabelgruppe 7 Varkode1 - Tobokstavkode for noen variabelgrupper, ellers W
8 Variabelbetegnelse 8 Varkode 2 - Tobokstavkode
9 Artskode (9 Art) - Bare i RA, ellers W
10 Måleskala 10 Målesk - Kode, oftest 2 bokstaver/sifre
11 Trinn/klassebetegnelse 11 Tr/Kl - Skilt fra foregående ledd av «_»

(Kilde: Rune Halvorsen, NHM)

"Kortkodeformler"

Regler for oppretting av kortkoder

Type klasser

Typesystem/ egenskapskategori Generaliseringsnivå Eksempel Formel, NiN3SD1 Formel, nytt masterark
[4] = LV Landformvariasjon Hovedtypegruppe FL-A [5]-[7] [5 kat2]-[7 HTG]
[4] = LV Landformvariasjon Hovedtype FL-A01 [5]-[7][9] [5 kat2]-[7 HTG][9 HT]
[4] = MV Marine vannmasser Hovedtypegruppe MV-A [4]-[7] [4 kat1]-[7 HTG]
[4] = MV Marine vannmasser Hovedtype MV-A01 [4]-[7][9] [4 kat1]-[7 HTG][9 HT]
[5] = LA Landskap Hovedtypegruppe LA-I [5]-[7] [5 kat2]-[7 HTG]
[5] = LA Landskap Hovedtype LA-I01 [5]-[7][9] [5 kat2]-[7 HTG][9 HT]
[5] = LA Landskap Grunntype I01-001 [7][9]-[11] [7 HTG][9 HT]-[11 Tr/Kl]
[5] = NA Natursystem Hovedtypegruppe NA-M [5]-[7] [5 kat2]-[7 HTG]
[5] = NA Natursystem Hovedtype NA-MA01 [5]-[7][8][9] "[5 kat2]-[7 HTG][8 Pk][9 HT]"
[5] = NA Natursystem Grunntype MA01-01 [7][8][9]-[11] "[7 HTG][8 Pk][9 HT]-[11 Tr/Kl]"
[5] = NA Natursystem Kartleggingsenhet MA01-M005-01 [7][8][9]-[10]-[11] "[7 HTG][8 Pk][9 HT]-[10 GT/kE]-[11 Tr/Kl]"
[5] = NK Naturkompleks Hovedtypegruppe NK-C [5]-[7] [5 kat2]-[7 HTG]
[5] = NK Naturkompleks Hovedtype NK-C01 [5]-[7][9] [5 kat2]-[7 HTG][9 HT]
[4] = LI Livsmedium Hovedtypegruppe LI-MS [4]-[7] [4 kat1]-[7 HTG]
[4] = LI Livsmedium Hovedtype LI-MS01 [4]-[7][9] [4 kat1]-[7 HTG][9 HT]
[4] = LI Livsmedium Grunntype MS01-01 [7][9]-]11] [7 HTG][9 HT]-[11 Tr/Kl]

(Kilde: Rune Halvorsen, NHM)

Variabel-klasser

Typesystem/ egenskapskategori Generaliseringsnivå Eksempel Formel, NiN3SD1 Formel, nytt masterark
[5] = LO, NO*, RM, LM. KM, TF, RS, MD, MO, SA, AD, VS - LO-BH [5]-[8] [5 kat]-[8 Varkode 2]
[5] = NO**, RA - NO-GA-S [5]-[8]-[9] [5 kat]-[8 Varkode 2]-[9 Art]

(*) - Variabler som ikke angir en artsspesifikk egenskap
(**) - Variabler angir en artsspesifikk egenskap; S i kodeledd 10 angir artsnavn

Beskrivelse om dataløype kommer her...

Clone this wiki locally