Misschien OFF-TOPIC, maar dat leidt mij tot een tweede vraag,
Hoe kan ik de data filteren, zonder dat ik eerst de hele JSON moet downloaden?
Ik wil alleen polygonen importeren binnen een straal van 8 kilometer van een punt/locatie. Ik heb het geprobeerd met een CQL-Filter (zie script hieronder). Maar het lijkt dat de filter niet werkt en importeert de hele dataset.
# Point
x.WGS=5.696340
y.WGS=51.967951
# make point and add crs
x <- st_point(c(x.WGS,y.WGS))
x <- st_sfc(x) %>% st_set_crs(4326)
# transform to EPSG::28992 // Amersfoort RD is default CRS for the wfs layer
x_RD <- st_transform(x,28992)
# Make WFS Url WITH CQL FILTER
WFS_url <- paste0("http://geodata.nationaalgeoregister.nl/natura2000/wfs?"
,"&service=wfs&version=2.0.0&request=GetFeature"
,"&typeName=natura2000:natura2000"
,"&cql_filter="
,URLencode(
paste0("dwithin(natura2000:geom,",
st_as_text(x_RD),
",8000, meters)"),
reserved = FALSE)
,"&srsName=EPSG:4326"
,"&outputFormat=json")
# get WFS feature
natura2000_wgs84 <- st_read(WFS_url)
# load data in leaflet
leaflet() %>%
addTiles() %>%
addMarkers(lng = x.WGS,lat = y.WGS) %>%
addCircles(lng = x.WGS,lat = y.WGS,weight = 1,radius = 10000) %>%
addPolygons(data = natura2000_wgs84,label = ~naam_n2k,popup = ~naam_n2k)
Sorry ik heb nog niet zo veel ervaring met het importeren van WFS data in R.