如何使用 .shp 将空间多边形应用于传单地图

How to apply spatial polygons to leaflet map using .shp

我正在尝试使用传单绘制加利福尼亚州的地图。我没有收到任何错误,但地图没有产生正确的结果。

我在 https://data.ca.gov/dataset/ca-geographic-boundaries 找到了县界线的 .shp 文件。我使用 rgdal 导入了 .shp 文件,并尝试使用 addPolygons() 函数映射边界。

`   # Importing CA County Lines
      ca_counties <- readOGR("Miller/CA_Counties/CA_Counties_TIGER2016.shp")
    # Mapping County Lines
      map1 <- leaflet() %>% 
              addTiles() %>% 
              addPolygons(data=ca_counties)
      map1`

程序生成的不是县界线,而是贯穿我整个地图的 运行 一条奇异线。我附上了输出图像。

Failed Map

当 运行 你的代码时,我收到以下警告:

Warning messages:
1: sf layer is not long-lat data 
2: sf layer has inconsistent datum (+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 +wktext +no_defs).
Need '+proj=longlat +datum=WGS84' 

将多边形投影到 WGS84 对我有用。我使用了 sf 包,因为我发现它比 rgdal 更直接一些。

library(sf)
library(leaflet)

ca_counties <- sf::read_sf('CA_Counties_TIGER2016.shp') %>%
  sf::st_transform('+proj=longlat +datum=WGS84')

map1 <- leaflet() %>% 
  addTiles() %>% 
  addPolygons(data=ca_counties)
map1