leaflet() 将 shapefile 绘制为巨大的矩形
leaflet() draws shapefile as giant rectangle
我 运行 遇到了 leaflet
的问题,它正在绘制一个巨大的矩形而不是形状。我确定 shapefile 的格式存在一些问题,但我无法确定出了什么问题。绘制文件工作正常。
文件:https://upload.cat/8c8ade09a3489b47
原始文件来源:http://sites.psu.edu/psucz/data/(在页面底部)
require(tidyverse)
require(leaflet)
require(rgdal)
ers_shp <- readOGR("ERS10.shp")
#Doesn't work, produces rectangle:
leaflet() %>% addProviderTiles("CartoDB.Positron") %>% addPolygons(data = ers_shp)
#Works, indicating the data is there.
plot(ers_shp, col="#f2f2f2", fill=TRUE, bg="skyblue", lwd=0.25, mar=rep(0,4), border=0 )
这是因为您需要先将多边形转换为 lat/long,然后再将它们传递给传单:
library(sf)
inv <- sf::st_read("ERS10.rep.shp") %>%
sf::st_transform(4326)
leaflet() %>% addProviderTiles("CartoDB.Positron") %>% addPolygons(data = inv)
或
library(sp)
inv <- rgdal::readOGR("ERS10.rep.shp") %>%
spTransform(CRS("+proj=longlat +datum=WGS84"))
leaflet() %>% addProviderTiles("CartoDB.Positron") %>% addPolygons(data = inv)
我 运行 遇到了 leaflet
的问题,它正在绘制一个巨大的矩形而不是形状。我确定 shapefile 的格式存在一些问题,但我无法确定出了什么问题。绘制文件工作正常。
文件:https://upload.cat/8c8ade09a3489b47
原始文件来源:http://sites.psu.edu/psucz/data/(在页面底部)
require(tidyverse)
require(leaflet)
require(rgdal)
ers_shp <- readOGR("ERS10.shp")
#Doesn't work, produces rectangle:
leaflet() %>% addProviderTiles("CartoDB.Positron") %>% addPolygons(data = ers_shp)
#Works, indicating the data is there.
plot(ers_shp, col="#f2f2f2", fill=TRUE, bg="skyblue", lwd=0.25, mar=rep(0,4), border=0 )
这是因为您需要先将多边形转换为 lat/long,然后再将它们传递给传单:
library(sf)
inv <- sf::st_read("ERS10.rep.shp") %>%
sf::st_transform(4326)
leaflet() %>% addProviderTiles("CartoDB.Positron") %>% addPolygons(data = inv)
或
library(sp)
inv <- rgdal::readOGR("ERS10.rep.shp") %>%
spTransform(CRS("+proj=longlat +datum=WGS84"))
leaflet() %>% addProviderTiles("CartoDB.Positron") %>% addPolygons(data = inv)