并非所有空间线都显示在带有 addPolylines 的 Leaflet 中

问题描述 投票:0回答:1

我正在使用

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

中仅显示内轮廓线

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
r shiny r-leaflet
1个回答
4
投票

有两种方法可以解决这个问题。

  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

© www.soinside.com 2019 - 2024. All rights reserved.