【问题标题】:R addPolygons functionR addPolygons 函数
【发布时间】:2016-04-22 03:44:23
【问题描述】:

我正在尝试将一些多边形添加到地图中,但我不确定我的代码为什么不起作用。我之前在其他 .shp 文件上使用过相同的代码,它工作正常。我从这里获得了空间文件:http://library.queensu.ca/geo/health_regions。它位于安大略省->Local Health Integrated Networks -> 2006 -> Boundary Files 下。

  lhin<- readOGR("lhin_divisions/HR035B08.shp",layer = "HR035B08")
  leaflet() %>% addTiles()%>%setView(lng=-81,lat=45,zoom=6)
  %>%addPolygons(data=lhin,stroke=TRUE, weight=1, col='red')

我觉得我错过了一些简单的东西,但我不知道是什么?

生成的地图应具有此处显示的边界:http://library.queensu.ca/madgic/free/health_regions/2005/images/lhin_ont.pdf

【问题讨论】:

  • 这个 data=provinces 来自哪里?你加载省份了吗?
  • 对不起,应该读lhin!
  • 你的颜色不见了
  • 添加 col='red' 没有任何改变?

标签: r leaflet sp


【解决方案1】:

这项工作。您可以更改瓷砖颜色,我只使用了黑色和白色,因为我不知道我在寻找什么。 shapefile 在 utm 中,没有投影。所以我设置了投影并转换成longlat。

proj4string(lhin) <- CRS("+proj=utm +ellps=WGS84 +datum=WGS84")
lhin <- spTransform(lhin, CRS("+proj=longlat +ellps=WGS84 +datum=WGS84"))
leaflet() %>% addProviderTiles("Stamen.Toner") %>% addPolygons(data=lhin,stroke=TRUE, weight=1, color = ~"red")

【讨论】:

  • 这看起来很棒!但是有两个问题:为什么需要应用这两个函数(CRS 和 spTransform),为什么地图没有正确覆盖在安大略省的顶部?抱歉,我对地图世界很陌生!
  • 和新的投影有关系吗?
  • 它是utm,它需要是longlat。下次只需验证 shapefile 的投影。它可能以前工作过,因为他们已经在 longlat
  • 哦,我明白了,但为什么地图出现在世界的错误位置?
  • 我不知道它应该在哪里,但总的来说我们还必须将 epsg 设置为 lhin
猜你喜欢
  • 2016-08-31
  • 2019-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多