kaart

tabel

---
title: "Meetpunten HHSK"
#author: "Johan van Tent"
date: "`r format(Sys.time(), '%d %B %Y')`"
output: 
  flexdashboard::flex_dashboard:
    orientation: columns
    vertical_layout: scroll
    #social: menu
    source_code: embed
    css: CSS/flexdashboard_JT.css
    favicon: images/favicon.ico
    logo: images/logo_hhsk_wit_48px.gif
editor_options: 
  chunk_output_type: console
---


```{r setup, include=FALSE}
# Knit options
knitr::opts_chunk$set(warning = FALSE, message = FALSE)

# Libraries
library(tidyverse)
library(knitr)
library(DT)
library(leaflet)
library(HHSKwkl)
library(readxl)
library(lubridate)
library(crosstalk)
# source("R/temp.R")


# Other options
options(DT.options = list(
  language = list(
    paginate = list(previous = 'Vorige', `next` = 'Volgende'),
    search = "Zoeken",
    decimal = ",",
    info = 'Rijen _START_ tot _END_ Totaal: _TOTAL_ rijen',
    lengthMenu = "Toon _MENU_ rijen"
  )
))

# options(OutDec = ",")

my_datatable <- function(df, ...) {
  DT::datatable(data = df, extensions = 'Buttons',
            options = list(dom = 'lfirtpB', buttons = c('csv', 'excel', 'pdf')), ...)
}

copy_data(c("meetpunten.csv", "fys_chem.csv", "biologie.csv"))

# source("R/copy_data.R")

```

```{r load_data, include = FALSE}
mp_types <- tibble::tribble(
              ~type_code,             ~type_omschrijving,
                       1,                     "Regulier",
                       2,                          "KRW",
                       3,                    "Quickscan",
                       4,                  "Vlakdekkend",
                       5,                          "KWA",
                       6,                "Diepteprofiel",
                       7,                          "NVO",
                       8,                       "Overig",
                       9,                          "Vis",
                      10,                   "Maaibeheer",
                      11,                   "Stadswater",
                      12,       "Gebiedsgerichte aanpak",
                      13,                       "Ad Hoc",
                      14,                   "Handhaving"
  ) %>% 
  mutate(type_omschrijving = fct_inorder(type_omschrijving))

laatste_meetjaar_fc <- import_fys_chem() %>% 
  add_jaar() %>% 
  group_by(mp) %>% 
  summarise(laatste_jaar = max(jaar)) %>% 
  mutate(fc_bio = "Fysisch-chemisch")

laatste_meetjaar_bio <- read_csv2("data/biologie.csv") %>% 
  add_jaar() %>% 
  group_by(mp) %>% 
  summarise(laatste_jaar = max(jaar)) %>% 
  mutate(fc_bio = "Alleen biologie") %>% 
  anti_join(laatste_meetjaar_fc, by = "mp")

laatste_meetjaar <- bind_rows(laatste_meetjaar_fc, laatste_meetjaar_bio)

meetpunten <- import_meetpunten() %>% 
  add_lat_long() %>% mutate(lat = round(lat, 6), long = round(long, 6)) %>% 
  left_join(mp_types, by = c("meetpunttypering" = "type_code")) %>% 
  left_join(laatste_meetjaar, by = "mp") %>% 
  select(Meetpunt = mp, Omschrijving = mpomsch, X = x, Y = y, Longitude = long, Latitude = lat, Meetpunttype = type_omschrijving, Deelgebied = gebiednaam, `Laatste meetjaar` = laatste_jaar, `Chemie of biologie` = fc_bio)



```

## Selectie {.sidebar data-width=400}

```{r}
mp_shared <- meetpunten %>% filter(X != 0)%>% SharedData$new()

pal <- colorFactor(RColorBrewer::brewer.pal(9, "Set1"), mp_shared$data()$Meetpunttype)

crosstalk::filter_select("mpcode", "Selecteer een meetpuntcode", mp_shared, ~Meetpunt)

crosstalk::filter_checkbox("mp_type", label = "Selecteer een meetpunttype", mp_shared, 
                           group = ~Meetpunttype, columns = 2)

crosstalk::filter_checkbox("gebied", label = "Selecteer een gebied", mp_shared, 
                           group = ~Deelgebied, columns = 2)

crosstalk::filter_checkbox("fc_bio", label = "Selecteer soort metingen", mp_shared, 
                           group = ~`Chemie of biologie`, columns = 2)

crosstalk::filter_slider("meetjaar", "Laatste meetjaar", mp_shared, column = ~`Laatste meetjaar`, step = 1, sep = "")



```

## 

### kaart {data-height=600}

```{r}
popup_fun <- function(mp, mpomsch, x, y, gebied, type){
  glue::glue("Meetpunt: {mp}
Beschrijving: {mpomsch}
Deelgebied: {gebied}
Meetpunttype: {type}
X: {x}
Y: {y}
") } mp_shared %>% basiskaart() %>% addCircleMarkers(stroke = FALSE, radius = 6, fillOpacity = 1, fillColor = ~pal(Meetpunttype), label = ~Meetpunt, popup = ~popup_fun(Meetpunt, Omschrijving, X, Y, Deelgebied, Meetpunttype)) %>% addLegend(pal = pal, values = ~Meetpunttype, opacity = 1) %>% leaflet.extras::addFullscreenControl() %>% leaflet.extras::addHash() %>% leaflet.extras::addSearchOSM() ``` ### tabel ```{r} mp_shared %>% my_datatable() ```