Leveren van natuurdata met behulp van de ‘NDFF connector plugin’

De ‘NDFF connector plugin’ is een QGIS plugin om natuurgegevens te uploaden naar de NDFF door geautoriseerde gebruikers. De ‘NDFF connector plugin’ maakt gebruik van de ‘NDFF connector bibliotheek’, de bibliotheek kan ook gebruikt worden door andere applicaties als R of command line interface. De NDFF heeft een aantal instructievideo’s beschikbaar gesteld over het gebruik van de ‘NDFF connector plugin’.

NDFF connector plugin
QGIS is een gebruiksvriendelijk en publiek toegankelijk geografisch informatiesysteem (GIS). Er is gekozen voor het beschikbaar stellen van een plugin in QGIS omdat deze applicatie veel verschillende soorten databronnen ondersteund. Daarnaast kan met behulp van QGIS eenvoudig data gemuteerd worden. De plugin kan uitsluitend gebruikt worden vanaf versie 3.22 van QGIS, eerdere versies van QGIS ondersteunen de plugin niet.

Installatie en autorisatie
In onderstaande instructievideo is de installatie en benodigde autorisatie nader toegelicht. Autorisatiegegevens zijn te vinden in het pdf bestand dat u heeft gekregen van het serviceteam van de NDFF. Voor het aanvragen van autorisatiegegevens kunt u terecht bij het Serviceteam van de NDFF via serviceteamNDFF@natuurloket.nl.

U kunt meerdere profielen maken, voor zowel de acceptatie- als productieomgeving. Dit betekent dat u ook verbinding kunt maken met autorisatiegegevens van derden.

Introductie
Ten eerste moet QGIS geopend worden, er wordt uitgegaan dat er reeds een QGIS project met lagen die verwerkt moeten worden beschikbaar is.

Het is belangrijk om enig begrip te hebben van de zaken die geregeld moeten zijn om natuurgegevens aan de NDFF te leveren:

  • uw veldnamen komen waarschijnlijk niet overeen met de veldnamen bij de NDFF. Daarom is een zogenaamde ‘field mapping’ noodzakelijk met een data mapping [1] van de veldnaam in uw data naar de veldnaam van de NDFF.
  • de REST API[2] van de NDFF werkt veelal met Universal Resource Identifier (URI)[3], uw data dient dus URI’s te bevatten als waarde. Indien uw data geen gebruik maakt van goedgekeurde URI’s (Zie Woordenboek NDFF) is een zogenaamde ‘value mapping’ noodzakelijk met een data mapping van uw waardes naar URI’s;
  • voor elke waarneming dienen gegevens met betrekking tot de locatie aangeleverd te worden, de plugin kan de geografische data ophalen of u kunt verwijzen naar een x (longitude) en y (latitude) kolom in een excel of csv bestand.
  • verplichte velden waarvoor geen waardes beschikbaar zijn kunt u met behulp van de plugin eenvoudig leveren door middels van het instellen van een standaardwaarde.

    [1] Data mapping is het proces om data uit uw eigen bron te verbinden met data uit de NDFF. Hiermee wordt data gestandaardiseerd opgeslagen bij de NDFF.

    [2] De REST API van de NDFF is een systeem met definities hoe applicaties kunnen communiceren met de NDFF.

    [3] Een Universal Resource Identifier (URI) is een unieke string die gebruikt wordt om unieke waardes op te slaan bij de NDFF.

Field mapping

De eerste stap van de mapping is het maken van een zogenaamde ‘field mapping’. In onderstaande instructievideo is het realiseren van de field mapping nader toegelicht.

Unieke identificatie van een waarneming

De ‘identity’ van een waarneming is een unieke identificatie en altijd een URI. Vaak wordt hiervoor een ‘id’ (kolom) uit een dataset gebruikt, dit in combinatie met een toevoeging. Voorbeelden hiervan zijn: https://groenbureau.nl/2023/protocol/id of https://groenbureau.nl/project/protocol/id.

Zorg dat de unieke identificatie niet overeenkomt met een eerder aangeleverde identity want dan wordt dit als een wijziging hierop gezien.

Stel dat uw data nog geen unieke identificatie met URI’s bevat, dan kan in QGIS met behulp van een virtueel veld op basis van een expressie eenvoudig een URI aangemaakt worden. Het is mogelijk dat een unieke identificatie opgezocht kan worden in een internetbrowser door gebruik te maken van een URL als unieke identificatie. Dit is mogelijk wanneer uw applicatie waarnemingen kan tonen die opgeslagen zijn in uw database of indien gebruik gemaakt wordt van Waarneming.nl of WrnPro. Zo kan gemakkelijk gewisseld worden tussen bijvoorbeeld de webapplicatie van WrnPro en QGIS.

Waarnemingen ordenen in datasets

Waarnemingen worden geordend in datasets. Bij een dataset kan een protocol aangegeven worden. Deze geldt voor alle waarnemingen in de dataset.

Locatie van een waarneming

Voor elke waarneming dienen gegevens met betrekking tot de locatie aangeleverd te worden, de plugin kan de geografische data ophalen of u kunt verwijzen naar een x (longitude) en y (latitude) kolom in een excel of csv bestand. In onderstaande instructievideo wordt een toelichting gegeven over het aanleveren van locaties van waarnemingen.

Specifieke aandachtspunten omtrent locaties van een waarneming zijn:

  • de plugin accepteert coördinatensysteem RD NEW (28992) en WGS84 (4326), wanneer gebruikt gemaakt wordt van andere coördinatensystemen dienen deze eerst geconverteerd te worden naar een juist formaat;
  • controleer steekproefsgewijs of de juiste locatie wordt doorgegeven aan de NDFF;
  • voorkom schijnnauwkeurigheid. Als gegevens alleen per (deel)gebied of kilometerhok bekend zijn, dan moeten de locatie als polygoon, bijvoorbeeld een kilometerhok of vegetatiekarteringsvlak, worden ingevoerd.
  • een puntwaarneming met hoge aantallen exemplaren (voornamelijk bij individuele dieren of imago’s) is niet altijd logisch. Controleer of deze mogelijk beter als hok of polygoon ingevoerd kan worden.

Value mapping

De value mapping omvat het mappen van de waardes in de dataset naar een waarde die bekend is bij de NDFF. In onderstaande instructievideo is het realiseren van de value mapping nader toegelicht.

De NDFF kan omgaan met diverse Datum & Tijd formaten ten behoeve van de start- en einddatum/tijd van een waarneming. De datum & Tijd (timestamp) is gebaseerd op een internationale standaard. Een paar voorbeelden van formaten: YYYY-MM-DDThh:mm:ss, YYYY-MM-DD hh:mm:ss, YYYY-MM-DDThh:mm, YYYY-MM-DD hh:mm, YYYY-MM-DDThh, YYYY-MM-DD hh, YYYY-MM-DD, YYYY-MM, YYYY. Dit is anders dan de Nederlandse notatie, over het algemeen gebruiken we in Nederland DD-MM-YYYY, deze notatie voldoet niet aan de internationale standaard. Met behulp van expressies kunnen notaties geconverteerd worden naar een formaat dat geaccepteerd wordt door de NDFF. Enkele voorbeelden worden hieronder gegeven.

In de dataset is een aparte veld voor datum (“date”) en een apart veld voor tijd (“time”) opgenomen (beide velden hebben het juiste formaat. Middels onderstaande expressie kan een geldige timestamp gerealiseerd worden in een virtueel veld.

"date" || 'T' || "time" || ':00'

Wanneer alleen een datum conform Nederlandse notatie (voorbeeld 23/02/2022) opgenomen is in de dataset.

# format_date maakt van een Date object een tekst in het opgegeven formaat
# to_date maakt van (de NL) datumtekst op basis van het format een Date object
 
format_date(
      to_date('23/02/2022', 'd/M/yyyy'),
      'yyyy-MM-dd'
)

Wanneer datum en tijd opgenomen is in twee verschillende velden waarbij soms geen tijd aangegeven is in de data (leeg of NULL). In dit voorbeeld staat de datum conform Nederlandse notatie: ‘28-3-2020’ en de tijd zonder seconden: ’13:35’.

De hieronder opgenomen expressie controleert eerst of er een waarde beschikbaar is in het veld “Tijd”, wanneer er geen tijd beschikbaar is wordt enkel dat datum geformatteerd. Als de Tijd wel opgenomen is, wordt zowel de datum geformatteerd en de tijd hierachter opgenomen (inclusief een toevoeging van de seconden. Indien seconden wel opgenomen is in de tijd kan `|| :00` verwijderd worden uit de expressie.

IF ("Tijd" IS NULL   OR   "Tijd"  in ('', ' ', 'NULL'))
 
    format_date(
        to_date( "Datum", 'd-M-yyyy'),
        'yyyy-MM-dd'
    ),
 
    format_date(
        to_date( "Datum", 'd-M-yyyy'),
        'yyyy-MM-dd'
    )
    || ' ' || "Tijd" || ':00'
)

 

Om te testen of een waarde leeg of NULL is kan de functie ‘coalesce’ gebruikt worden, het IF-statement in bovenstaande expressie kan ook geschreven worden als onderstaande expressie.

# onderstaande betekent: geef de eerste NON null waarde terug: als Tijd dus NULL of leeg is, dan retourneer je ''
coalesce( "Tijd", '') in ('', ' ', 'NULL', '-')

Een ander uitgebreider voorbeeld om een timestamp te maken van individuele getallen.

format_date(
    make_datetime(
        year(to_datetime( "datetime_start" )),
        month(to_datetime(  "datetime_start" )),
        day(to_datetime(  "datetime_start" )),
        hour(to_datetime(  "datetime_start" )),
        1+minute(to_datetime(  "datetime_start" )),
        second(to_datetime(  "datetime_start" ))
        ),
    'yyyy-MM-ddTHH:mm:ss'
)

In de QGIS expressie-builder staan verschillende voorbeelden bij de te gebruiken expressies.

Versturen van waarnemingen

Wanneer een configuratie met een ‘field mapping’ en ‘value mapping’ succesvol is aangemaakt kan deze opgeslagen worden. In onderstaande instructievideo is het versturen van waarnemingen middels de plugin toegelicht.

Extra informatievelden

Er kan middels extra informatievelden aanvullende informatie aangeleverd worden over een waarneming. Deze velden zijn niet verplicht.

Er zijn soorten waarvoor het in principe gewenst is om bewijsmateriaal aan te leveren, met name (zeer) zeldzame soorten. Indien bewijs voorhanden is, voeg dit toe aan de waarneming.

 

Hebt u meer vragen? Een aanvraag indienen

0 Opmerkingen

Artikel is gesloten voor opmerkingen.