我正在使用
R-Shiny
开发一个网络应用程序。
我的问题是,并非
SpatialLinesDataFrame
(SLDF) 中的所有线条都显示在 Leaflet
地图中。任何建议都将受到欢迎。数据集存储在here。
我的代码:
#convert raster layer (ras) to SLDF
rtc <- rasterToContour(ras)
leaflet() %>%
addPolylines(data=rtc, group="contour", layerId="contour_pr",noClip = TRUE)
结果:
Leaflet
中仅显示内轮廓线
或者,使用 R 绘图函数显示所有线条 (
plot(rtc)
)
版本信息:
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
有两种方法可以解决这个问题。
SpatialLinesDataFrame
作为 leaflet
函数中的数据集(示例 1)。示例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
结果