Skip to content

Commit

Permalink
Merge pull request #126 from inbo/sop-039-nl
Browse files Browse the repository at this point in the history
sop-039-nl
  • Loading branch information
hansvancalster authored Oct 24, 2024
2 parents 9dedb0c + 3808da3 commit 4e9944d
Show file tree
Hide file tree
Showing 20 changed files with 414 additions and 0 deletions.
6 changes: 6 additions & 0 deletions .zenodo.json
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,12 @@
"affiliation": "Research Institute for Nature and Forest",
"type": "Researcher",
"orcid": "0000-0001-8595-8426"
},
{
"name": "Langeraert, Ward",
"affiliation": "Research Institute for Nature and Forest",
"type": "Researcher",
"orcid": "0000-0002-5900-8109"
}
]
}
7 changes: 7 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
### First version of protocol: sop-039-nl

- Title: Procedure om MAS-data te downloaden via de Sovon WFS-server
- Published on: 2024-10-24
- Version number: 2024.07
- Link to this version: [sop-039-nl version 2024.07](2024.07/index.html)

### First version of protocol: spp-117-nl

- Title: Abiotische staalname stromende oppervlaktewateren
Expand Down
47 changes: 47 additions & 0 deletions source/sop/sop_039_nl_download_mas_wfs/01_afhankelijkheden.Rmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Afhankelijkheden

```{=html}
<!--
Hier niets invullen.
Indien er afhankelijkheden zijn deze invullen in de yaml sectie van `index.Rmd`
-->
```
```{r dependencies}
empty_table <- tibble(
protocol_code = character(),
version_number = character(),
params = character(),
appendix = logical()
) %>%
add_row() %>%
rename(
`Protocolcode` = protocol_code,
`Versienummer` = version_number,
`Opgenomen als subprotocol` = appendix) %>%
pander::pander(split.tables = Inf)
if (exists("params")) {
if (!is.null(params$dependencies)) {
transpose(params$dependencies) %>%
as_tibble() %>%
mutate(protocol_code = as.character(protocol_code),
version_number = as.character(version_number),
params = as.character(params),
version_number = ifelse(params == "NA",
paste0("[", version_number, "](../",
version_number, "/", "index.html)"),
version_number),
appendix = as.logical(appendix)) %>%
rename(
`Protocolcode` = protocol_code,
`Versienummer` = version_number,
`Opgenomen als subprotocol` = appendix) %>%
pander::pander(split.tables = Inf)
} else {
empty_table
}
} else {
empty_table
}
rm(empty_table)
```
20 changes: 20 additions & 0 deletions source/sop/sop_039_nl_download_mas_wfs/02_onderwerp.Rmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Onderwerp

## Doelstelling

Deze procedure beschrijft het stappenplan om MAS-data te downloaden via de WFS-server van Sovon en deze data te exporteren voor verdere analyse.
Dit wordt uitgevoerd via een specifieke workflow in QGIS.

## Toepassingsgebied

De procedure kan toegepast worden door mensen die een account aanmaken en rechten aanvragen bij Sovon.

```{=html}
<!--
Doelstelling en toepassingsgebied
Doelstelling: omschrijving in woorden waarvoor het protocol dient.
Voorbeelden wat er met de gegevens kan gedaan worden.
Probeer de doelstelling zo veel mogelijk generiek te beschrijven en vermijd projectspecifieke doelstellingen.
Toepassingsgebied: bespreek hier onder welke condities het protocol kan gebruikt worden.
-->
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Definities en afkortingen

**Avimap:** Avimap is een digitale tool ontwikkeld door SOVON voor het uitvoeren van territoriumkartering van broedvogels in het veld.

**code repository**: Een code repository is een digitale opslagplaats waar de broncode van softwareprojecten wordt beheerd en opgeslagen, vaak met versiebeheer om wijzigingen bij te houden.
Het stelt ontwikkelaars in staat om samen te werken, wijzigingen te volgen en terug te keren naar eerdere versies van de code.

**CRS:** Een CRS, of Coordinate Reference System, is een systeem dat wordt gebruikt om geografische locaties op de aarde te definiëren.
Een CRS beschrijft hoe tweedimensionale of driedimensionale ruimtelijke gegevens worden gepositioneerd, en hoe ze worden geprojecteerd op een plat vlak.
Amersfoort/RD New (EPSG:28992) is een voorbeeld van een lokale CRS, specifiek voor Nederland, dat gebruikmaakt van een projectie die is geoptimaliseerd voor het Nederlandse grondgebied.

**MAS:** Het MAS, of Meetnet Agrarische Soorten, monitort broedvogels (en zoogdieren) in agrarische gebieden om trends in aantallen en verspreiding vast te stellen, en de effectiviteit van beschermingsmaatregelen te evalueren [@MAS].
Dit meetnet wordt reeds toegepast in Nederland en sinds de opstart van het MBAG project ook in Vlaanderen.

**MBAG:** Het MBAG project, of Meetnet Biodiversiteit in het Agrarisch Gebied, is een initiatief van het Instituut voor Natuur- en Bosonderzoek (INBO) in Vlaanderen dat gericht is op het monitoren en analyseren van de biodiversiteit in landbouwgebieden.
Het project richt zich op het verkrijgen van inzicht in de biodiversiteit, met een focus op akkervogels, bestuivers, bodembiodiversiteit, en landschapselementen, om zo bij te dragen aan zowel natuurbehoud als duurzame landbouwpraktijken [@MBAG].

**QGIS:** QGIS is een open-source geografisch informatiesysteem waarin je geografische gegevens kan importeren, bekijken, bewerken, analyseren en visualiseren [@QGISSoftware].

**query:** Een query is een gestructureerd verzoek om informatie uit een database of dataset te verkrijgen, vaak gebruikmakend van de SQL-programmeertaal.

**Sovon:** Sovon, voluit Sovon Vogelonderzoek Nederland, coördineert landelijke vogelmonitoring en -onderzoek, met als doel de aantallen en verspreiding van vogels in Nederland te bepalen, de trends te verklaren, en de resultaten beschikbaar te maken voor natuurbeleid, beheer, en maatschappelijke doeleinden.

**WFS:** Een WFS, of Web Feature Service, is een webstandaard om geografische data via het internet op te vragen en te manipuleren.

```{=html}
<!--
Definities van begrippen en afkortingen die noodzakelijk zijn om dit document te begrijpen en het protocol op een gepaste manier te kunnen uitvoeren.
-->
```
10 changes: 10 additions & 0 deletions source/sop/sop_039_nl_download_mas_wfs/04_competenties.Rmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Vereiste competenties en opleidingen

Niet van toepassing.

```{=html}
<!--
Omschrijving van de basiskennis en vaardigheden, die de gebruiker van het protocol moet hebben om het protocol op een gepaste manier te kunnen uitvoeren.
Eventueel kan er verwezen worden naar bepaalde opleidingen.
-->
```
14 changes: 14 additions & 0 deletions source/sop/sop_039_nl_download_mas_wfs/05_proces.Rmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Proces

Het proces bestaat uit twee stappen die in het volgende hoofdstuk worden beschreven.

```{r}
knitr::include_graphics("media/download_mas_wfs_proces.svg")
```

```{=html}
<!-- schematische voorstelling van het proces
gebruik bijvoorbeeld `draw.io` en exporteer als png
of maak het schema met een R package zoals `visNetwork`
-->
```
62 changes: 62 additions & 0 deletions source/sop/sop_039_nl_download_mas_wfs/06_werkwijze.Rmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# Werkwijze

```{=html}
<!--
Gedetailleerde omschrijving van alle stappen die doorlopen moeten worden om het protocol uit te voeren.
Deze stappen staan schematisch weergegeven in het processchema.
Subtitels gebruiken om elke stap te omschrijven.
-->
```
## Downloaden van de data van de Sovon WFS-server

De MAS-data worden geïmporteerd van de Sovon WFS-server via QGIS [@QGISSoftware].

1. Een account aanmaken via <https://www.vogelatlas.be/user/newuser>

1. Rechten aanvragen via Sovon voor gebruik van de WFS

2. Open QGIS

1. Zet project CRS op EPSG:28992
2. Kies 'Kaartlagen' $\rightarrow$ 'Databronnen beheren' $\rightarrow$ 'WFS / OGC API - Objecten'

3. Klik 'Nieuw' bovenaan in het dialoogvenster om een nieuwe WFS-verbinding te maken

1. Gebruik als 'naam' `sovon` en als 'url' `https://portal.sovon.nl/views/wfs/453/`
2. Klik op 'OK'

4. Maak een verbinding met de zopas toegevoegde WFS

1. Klik op 'Verbinden' bovenaan in het dialoogvenster
2. Geef je gebruikersnaam en paswoord in wanneer dit wordt gevraagd en klik op 'OK'
3. Selecteer de laag 'ms:viewpoints'
- Maak eventueel een specifieke SQL-query aan via 'Query maken' onderaan in het dialoogvenster
- Bijvoorbeeld voor de data 2024: `SELECT * FROM viewpoints WHERE jaar = 2024`
4. Vink het boxje aan 'Alleen objecten bevragen die het huidige zichtbare bereik overlappen'
5. Wijzig het Coördinaten Referentiesysteem naar EPSG:28992
6. Klik op 'Toevoegen' onderaan in het dialoogvenster
- Indien QGIS vraagt de toe te voegen items te selecteren, selecteer je de laag 'ms:viewpoints' en klik je op 'Lagen toevoegen'

Nu worden alle data waar je toegang toe hebt gedownload (dit kan even duren).
Dit zijn de waarnemingen van de MAS-tellingen in Vlaanderen.

## Exporteren en lokalisatie van de data

Wanneer alle data gedownload zijn, kan je deze laag exporteren.
Verdere opschoning en preparatie van de data gebeuren in de code repository "mbag-mas" [@github-repo-mas].
De volgende stappen beschrijven dan ook de lokalisatie van de data binnen deze repository.

1. Zorg dat alle data zichtbaar zijn in de view van QGIS

2. Selecteer 'Kaartlagen' $\rightarrow$ 'Opslaan als ...'

- Gebruik als 'Indeling' `GeoPackage`
- Gebruik als 'Bestandsnaam' `YYYYMMDD_qgis_export_sovon_wfs_JAAR`
- `YYYYMMDD` is de datum van export
- `JAAR` is het jaar wanneer de data verzameld is (zie SQL-query)
- Sla het geojson-bestand op in de folder `mbag-mas/data/mas`.
- Gebruik als 'CRS' `EPSG:28992 - Amersfoort / RD New`
- Klik op 'OK' (dit kan even duren)

3. De finale export die je wilt gebruiken voor data preparatie en verdere analyses, sla je op in een folder met als naam `JAAR` onder `mbag-mas/source/targets/data_preparation/data`.
Elke folder mag slechts 1 bestand hebben met de data van dat jaar.
9 changes: 9 additions & 0 deletions source/sop/sop_039_nl_download_mas_wfs/07_veiligheid.Rmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Veiligheid

Niet van toepassing.

```{=html}
<!--
Alle aandachtspunten in verband met veilig werken.
-->
```
5 changes: 5 additions & 0 deletions source/sop/sop_039_nl_download_mas_wfs/08_referenties.Rmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Referenties {.unnumbered}

::: {#refs}
\item
:::
1 change: 1 addition & 0 deletions source/sop/sop_039_nl_download_mas_wfs/09_appendices.Rmd
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# (APPENDIX) Bijlagen {.unnumbered}
20 changes: 20 additions & 0 deletions source/sop/sop_039_nl_download_mas_wfs/10_subprotocols.Rmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
```{r, results="asis"}
if (exists("params")) {
if (!is.null(params$dependencies)) {
mdfiles <- paste0(map_chr(params$dependencies, "protocol_code"),
"-",
map_chr(params$dependencies, "version_number"),
".md")
child_docs <- file.path(map_chr(params$dependencies, "version_number"),
mdfiles)
child_docs <- child_docs[map_lgl(params$dependencies, "appendix")]
if (length(child_docs) > 0) {
res <- map(child_docs, knit_child, quiet = TRUE)
cat(
c("# (PART) Subprotocols {.unnumbered}", "", unlist(res)), sep = "\n")
}
}
}
```
22 changes: 22 additions & 0 deletions source/sop/sop_039_nl_download_mas_wfs/NEWS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Wijzigingen t.o.v. vorige versies

## [2024.07](../2024.07/index.html)

- Eerste versie van het protocol. Dit protocol werd eerder in een R Markdown rapport bijgehouden in de code repositories van het MAS pilootproject [@github-repo-piloot] en het MBAG MAS project [@github-repo-mas]. Deze versie toont geen inhoudelijke verschillen, maar slechts enkele verschillen om de beschrijving nog meer te verduidelijken.

```{=html}
<!--
Omschrijf hier welke wijzigingen er gebeurd zijn ten opzichte van de vorige versie.
Vermeld bij elk versienummer, de reden van de wijziging en - wanneer relevant - een beknopte beschrijving van de wijziging.
Gesorteerd van recent naar oud.
## [2020.02](../2020.02/index.html)
- Toevoeging van ontbrekende stap in het stappenplan
- Verbetering van schrijffouten
## [2020.01](../2020.01/index.html)
- Eerste versie van het protocol
-->
```
30 changes: 30 additions & 0 deletions source/sop/sop_039_nl_download_mas_wfs/_bookdown.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
book_filename: sop_039_nl_download_mas_wfs.Rmd
delete_merged_file: true
rmd_files:
- index.Rmd
- NEWS.md
- 01_afhankelijkheden.Rmd
- 02_onderwerp.Rmd
- 03_definities_afkortingen.Rmd
- 04_competenties.Rmd
- 05_proces.Rmd
- 06_werkwijze.Rmd
- 07_veiligheid.Rmd
- 08_referenties.Rmd
- 09_appendices.Rmd
- 10_subprotocols.Rmd
output_dir: ../../../../protocoldocs/docs/sop/sop_039_nl_download_mas_wfs
language:
label:
fig: 'Figuur '
tab: 'Tabel '
eq: 'Vergelijking '
thm: 'Theorema '
lem: 'Lemma '
def: 'Definitie '
cor: 'Bijgevolg '
prp: 'Propositie '
ex: 'Voorbeeld '
proof: 'Bewijs. '
remark: 'Opmerking. '

19 changes: 19 additions & 0 deletions source/sop/sop_039_nl_download_mas_wfs/_output.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
bookdown::gitbook:
split_by: none
split_bib: false
template: !expr protocolhelper:::protocol_css()
css: css/inbo_rapport.css
config:
toc:
before:
- <li class="toc-logo"><a href="https://www.vlaanderen.be/inbo/home/"><img src="css/img/inbo-nl.jpg"></a></li>
- <li class="toc-logo"><a href="https://inbo.github.io/protocols/"><button class="btn"><i
class="fa fa-home"></i> Protocols homepage</button></li>
after:
- <li class="cc"><a href="http://creativecommons.org/licenses/by/4.0/"><img
src="css/img/cc-by.png"></a></li>
bookdown::pdf_book:
keep_tex: false
pandoc_args: --top-level-division=chapter
template: !expr protocolhelper:::protocol_tex()

73 changes: 73 additions & 0 deletions source/sop/sop_039_nl_download_mas_wfs/index.Rmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
---
title: Procedure om MAS-data te downloaden via de Sovon WFS-server
author:
- name: Langeraert, Ward
orcid: 0000-0002-5900-8109
- name: Van Calster, Hans
orcid: 0000-0001-8595-8426
date: '2024-09-02'
reviewers:
- Eves Down, Maria-Rose
- Cartuyvels, Emma
file_manager: Langeraert, Ward
protocol_code: sop-039-nl
version_number: '2024.07'
language: nl
lang: nl
template_name: sop
site: bookdown::bookdown_site
bibliography: [referenties.bib, referenties.yaml]
csl: https://raw.githubusercontent.com/citation-style-language/styles/master/research-institute-for-nature-and-forest.csl
url: https://inbo.github.io/protocols/
github_repo: inbo/protocolsource
---

```{=html}
<!--
Instructies bij opmaak van het protocol:
Hieronder vind je de verschillende onderdelen van een protocol.
In de bijhorende losse `Rmd` bestanden vind je een beschrijving wat er bij elk onderdeel vermeld moet worden.
Het is in die bestanden dat je moet editeren.
Niet alle onderdelen zijn altijd van toepassing.
Laat in die gevallen de titels staan en vermeld expliciet "niet van toepassing".
-->
```
```{r setup, include=FALSE}
library(knitr)
opts_chunk$set(
echo = FALSE,
eval = TRUE,
dpi = 300,
fig.width = 150 / 25.4,
fig.height = 100 / 25.4,
out.width = "100%",
warning = FALSE,
error = TRUE,
message = FALSE
)
library(dplyr)
library(purrr)
library(protocolhelper)
library(pander)
panderOptions("table.alignment.default", "left")
metadata <- rmarkdown::metadata
path_to_protocol <- get_path_to_protocol(metadata$protocol_code)
type <- get_protocol_type(metadata$protocol_code, auto_identifier = TRUE)
```

# Metadata {.unnumbered}

```{r metadata-table}
tibble(
reviewers = metadata[["reviewers"]] |> paste(collapse = ", "),
documentbeheerder = metadata[["file_manager"]],
protocolcode = metadata[["protocol_code"]],
versienummer = metadata[["version_number"]],
taal = metadata[["language"]]) %>%
pander::pander(split.tables = Inf)
```

```{r results="asis"}
sprintf("Controleer [deze tabel](../%s.html){target=\"_blank\"} om te zien of een meer recente versie beschikbaar is.", type) |> cat() # nolint
```
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 4e9944d

Please sign in to comment.