首先,我是R的新手所以请耐心等待.
我最终要完成的是用Leaflet展示阿姆斯特丹的互动地图.为此,我正在使用RGDAL来读取shapefile.
此链接包含阿姆斯特丹的shapefile.
我正在使用以下代码来读取shapefile并显示地图.
amsterdam <- readOGR(".", layer = "sd2010zw_region", verbose = FALSE)
leaflet(amsterdam) %>%
addProviderTiles("CartoDB.Positron", options= providerTileOptions(opacity = 0.99)) %>%
addPolygons(
stroke = FALSE, fillOpacity = 0.5, smoothFactor = 0.5
)
Run Code Online (Sandbox Code Playgroud)
我得到的是CartoDB.Positron的地图,而不是第二层的'polygonmap'.我得到的是包含各种数据的SpatialPolygonsDataFrame.
另一方面,当我使用绘图方法时,我得到了阿姆斯特丹的地图
plot(amsterdam, axes=TRUE, border="gray")
Run Code Online (Sandbox Code Playgroud)
但我不想使用情节,我想使用Leaflet :)
我在这做错了什么?
Tim*_*bim 16
问题是预测.您需要将数据投影到longlat使用spTransform无论从rgdal或SP.此外,提供您SpatialPolygonsDataFrame的addPolygons()电话.
library(leaflet)
library(rgdal)
amsterdam <- readOGR(".", layer = "sd2010zw_region", verbose = FALSE)
ams_ll <- spTransform(amsterdam, CRS("+init=epsg:4326"))
leaflet() %>%
addProviderTiles("CartoDB.Positron", options= providerTileOptions(opacity = 0.99)) %>%
addPolygons(data = ams_ll,
stroke = FALSE, fillOpacity = 0.5, smoothFactor = 0.5
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3464 次 |
| 最近记录: |