Не все SpatialLines отображаются в Leaflet с addPolylines - PullRequest
0 голосов
/ 15 ноября 2018

Я разрабатываю веб-приложение, используя R-Shiny.

Моя проблема заключается в том, что не все строки в SpatialLinesDataFrame (SLDF) отображаются на карте Leaflet.Любые предложения приветствуются.Наборы данных хранятся здесь .

Мой код:

#convert raster layer (ras) to SLDF
rtc <- rasterToContour(ras)

leaflet() %>%
addPolylines(data=rtc, group="contour", layerId="contour_pr",noClip = TRUE)

Результаты:

В Leaflet

enter image description here

отображается только линия внутреннего контура. В качестве альтернативы все линии отображаются с использованием функции графика R (plot(rtc)) enter image description here

Информация о версии:

R version 3.4.2 (2017-09-28)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 14.04.1 LTS
other attached packages:
[1] igraph_1.2.2 rgeos_0.3-25 bindrcpp_0.2.2 ggplot2_3.1.0 withr_2.1.2
[6] labeling_0.3 V8_1.5 RColorBrewer_1.1-2 stringr_1.3.1 ncdf4_1.16
[11] yaml_2.2.0 data.table_1.11.4 mapview_2.5.0 sf_0.6-3 DT_0.4
[16] geometa_0.3-0 rgdal_1.3-6 raster_2.6-7 sp_1.3-1 dplyr_0.7.6
[21] plyr_1.8.4 leaflet.extras_1.0.0 leaflet_2.0.2 shinyBS_0.61 
shinyjs_1.0
[26] shinydashboard_0.7.0 shiny_1.1.0

1 Ответ

0 голосов
/ 18 ноября 2018

Есть два способа решить эту проблему.

  1. Если вы хотите добавить их все сразу, вы должны добавить SpatialLinesDataFrame в качестве набора данных в функцию leaflet ( пример 1 ).
  2. Более некрасиво, но также возможно добавлять их по отдельности ( пример 2 ).

Пример 1

leaflet(data=rtc) %>% addTiles() %>% addPolylines()

Пример 2

map <- leaflet() %>% addTiles()
for( level in rtc$level){
  map <- addPolylines(map, data=subset(rtc, level==level))
}
# to show the map
map

Результат

enter image description here

...