Мультиполигоны в файле Geo JSON, проанализированные с помощью jsonlite, не визуализируются с использованием листовки - PullRequest
0 голосов
/ 29 апреля 2020

Я хотел бы визуализировать некоторые мультиполигоны в R, используя jsonlite и листовку. Это был мой первоначальный код:

library(leaflet)
library(jsonlite)
library(geojsonlint)

url <- paste0("https://geodata.nationaalgeoregister.nl/cbsgebiedsindelingen/wfs?",
              "request=GetFeature&service=WFS&version=1.1.0&",
              "typeName=cbsgebiedsindelingen:cbs_arrondissementsgebied_2019_gegeneraliseerd&",
              "outputFormat=application/json&srsName=EPSG:4326&propertyName=geom,statcode")
boundaries <- jsonlite::fromJSON(url)
geojson_validate(x = as.location(url))

leaflet() %>%
  addTiles() %>%
  addGeoJSON(boundaries)  %>%
  setView(5.387740, 52.155499, 7)

Файл Geo JSON действителен. Однако мультиполигоны не отображаются на карте.

Когда я изменяю свой код с помощью readr, они отображаются, и все выглядит нормально:

library(readr)

leaflet() %>%
  addTiles() %>%
  addGeoJSON(read_lines(url) %>% paste(collapse = "\n"))  %>%
  setView(5.387740, 52.155499, 7)

Я хотел бы добавить столбцы из другой набор данных с характеристическими данными мультиполигонов для создания хороплета. Поэтому мне бы очень хотелось, чтобы сработал первый фрагмент кода.

Почему мультиполигоны не отображаются, когда я использую jsonlite для чтения файла Geo JSON?

1 Ответ

0 голосов
/ 29 апреля 2020

В первом фрагменте кода массив features в файле Geo JSON анализируется как список длиной 11. Во втором - как информационный кадр с 11 столбцами. Решение выглядит следующим образом:

boundaries <- jsonlite::fromJSON(url, simplifyVector = FALSE)
...