упростить мой шейп-файл состояния США с помощью rmapshaper :: ms_simplify дает ошибку - PullRequest
0 голосов
/ 27 мая 2020

Я делаю хлороплетную карту штата в моем блестящем приложении, используя брошюру. Я обнаружил, что рендеринг карты происходит очень медленно. После поиска в Google кажется, что шейп-файл слишком сложен и упрощен, что может сделать его намного быстрее. Согласно этому сообщению , ответом может быть упрощение шейп-файла.

Чтение шейп-файла работает нормально. Я смог визуализировать свою карту листовок.

states_shape <- tigris::states(cb = TRUE, resolution='500k')
leaflet(states_shape) %>%
  addProviderTiles("CartoDB.Positron") %>%
  addPolygons(fillColor = "white",
              color = "black",
              weight = 0.5) %>%
  setView(-98.5795, 39.8282, zoom=3)

Я попытался упростить свой шейп-файл с помощью rmapshaper::ms_simplify

states_shape_simple <- rmapshaper::ms_simplify(states_shape, keep = 0.05, keep_shapes = TRUE)

Я получил ошибку, как показано ниже:

Error in FUN(X[[i]], ...) : isTRUE(gpclibPermitStatus()) is not TRUE

Я понятия не имею, что это значит и что делать. Кто-нибудь знает, почему это произошло и как заставить работать? Большое спасибо!

1 Ответ

1 голос
/ 27 мая 2020

Следующее должно работать:

# packages
library(sf)
#> Linking to GEOS 3.8.0, GDAL 3.0.4, PROJ 6.3.1
library(leaflet)

# data
states_shape <- tigris::states(cb = TRUE, resolution='500k', class = "sf")

# simplify
states_shape_simple <- rmapshaper::ms_simplify(states_shape, keep = 0.05, keep_shapes = TRUE)
states_shape_simple <- st_transform(states_shape_simple, 4326)

# plot
leaflet(states_shape_simple) %>%
  addProviderTiles("CartoDB.Positron") %>%
  addPolygons(fillColor = "white",
              color = "black",
              weight = 0.5) %>%
  setView(-98.5795, 39.8282, zoom = 3)

Создано 27.05.2020 с помощью пакета REPEX (v0.3.0 )

Я добавил states_shape_simple <- st_transform(states_shape_simple, 4326), так как получил предупреждение от leaflet о том, что объект states_shape_simple имеет неверные данные. Я не знаю, сталкиваетесь ли вы с таким же предупреждением.

В любом случае, если вы хотите прочитать что-нибудь о различиях между sf и sp, ознакомьтесь с главой 1 из Geoocomputation с R (и, возможно, с главой 6 о повторных проекциях, например, st_transform ). Я не знаю, почему это не удается с sp, возможно, вы можете попросить package mantainer .

...