【发布时间】:2017-02-12 00:27:03
【问题描述】:
我正在尝试使用 R 中的传单包为传单地图添加一些边界。我在 RStudio 中写道:
library(rgdal)
fw<-readOGR("/local/path/to/FWC_UT_MASTER_0623_2016.shp",verbose=FALSE)`
要将多边形添加到传单,我写道:
library(leaflet)
fw %>%
leaflet() %>%
addTiles() %>%
addPolygons(stroke = FALSE, fillOpacity = 0.5, smoothFactor = 0.5)
看起来很直观。我一辈子都想不通为什么这些小家伙不会渲染。我认为 SpatialPolygonsDataFrame 需要在 WGS84 中。原文件不是。
..@ proj4string:Formal class 'CRS' [package "sp"] with 1 slot
.. .. ..@ projargs: chr "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs"
所以我尝试重新投影原始 shapefile
fw.proj<-spTransform(fw, CRS("+init=epsg:4326"))
然而,
fw.proj %>%
leaflet() %>%
addTiles() %>%
addPolygons(stroke = FALSE, fillOpacity = 0.5, smoothFactor = 0.5)
也渲染一个空白地图。我在这里保存了原始形状文件: https://github.com/uky994/firewise
任何帮助将不胜感激。
【问题讨论】:
-
您的
readOGR()通话是否收到任何错误或警告? -
您需要使用来自 rgdal 或 sp 的
spTransform将数据投影到longlat