【问题标题】:Overlaying polygons on ggplot map在ggplot地图上叠加多边形
【发布时间】:2014-10-13 16:20:15
【问题描述】:

我正在努力在谷歌地图上覆盖社区边界。我正在尝试关注这个code。我的版本如下。你有什么明显的错误吗?

#I set the working directory just before this...
chicago = readOGR(dsn=".", layer="CommAreas")
overlay <- spTransform(chicago,CRS("+proj=longlat +datum=WGS84"))
overlay <- fortify(overlay)
location <- unlist(geocode('4135 S Morgan St, Chicago, IL 60609'))+c(0,.02)
ggmap(get_map(location=location,zoom = 10, maptype = "terrain", source = "google",col="bw")) +
  geom_polygon(aes(x=long, y=lat, group=group), data=overlay, alpha=0)+
  geom_path(color="red")

任何见解将不胜感激。感谢您的帮助和耐心。

【问题讨论】:

    标签: r ggplot2 gis shapefile ggmap


    【解决方案1】:

    这对我有用:

    library(rgdal)
    library(ggmap)
    
    # download shapefile from:
    #   https://data.cityofchicago.org/api/geospatial/cauq-8yn6?method=export&format=Shapefile
    
    # setwd accordingly
    
    overlay <- readOGR(".", "CommAreas")
    overlay <- spTransform(overlay, CRS("+proj=longlat +datum=WGS84"))
    overlay <- fortify(overlay, region="COMMUNITY") # it works w/o this, but I figure you eventually want community names
    
    location <- unlist(geocode('4135 S Morgan St, Chicago, IL 60609'))+c(0,.02)
    
    gmap <- get_map(location=location, zoom = 10, maptype = "terrain", source = "google", col="bw")
    
    gg <- ggmap(gmap)
    gg <- gg + geom_polygon(data=overlay, aes(x=long, y=lat, group=group), color="red", alpha=0)
    gg <- gg + coord_map()
    gg <- gg + theme_bw()
    gg
    

    如果环境中有任何问题导致问题,您可能希望重新启动 R 会话,但您可以在 geom_polygon 调用中设置线条颜色和 alpha 0 填充(就像我一样)。

    你也可以这样做:

    gg <- gg + geom_map(map=overlay, data=overlay, 
                        aes(map_id=id, x=long, y=lat, group=group), color="red", alpha=0)
    

    而不是 geom_polygon,它使您能够在一次调用而不是两次调用中绘制地图并执行美学映射(如果您基于其他值着色)。

    【讨论】:

    • 这正是我想要做的。感谢您的帮助和解释。此外,感谢找到原始边界 shapefile。我应该一开始就发布它。
    • 如何放大?按照您的示例@hrbrmstr,如果我只是更改zoom = 14,它会剪裁红色多边形,剪裁的末端会在地图内重新连接,这显然不是意图?
    • 最好把它做成一个引用这个 q & a 的新 q,@maja
    • 找到了,asked and answered! 谢谢!
    猜你喜欢
    • 2012-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-26
    • 2021-10-21
    • 2021-10-22
    相关资源
    最近更新 更多