代码之家  ›  专栏  ›  技术社区  ›  geo_dd

在R中使用sf包映射区域

  •  0
  • geo_dd  · 技术社区  · 6 年前

    我花了几天时间想找到一种与 sf 用R打包,但没有成功。我想绘制我的区域,类似于中的示例2 this example 但没有任何意义。我将我的区域加载为 SpatialpolygonsDataFrame 然后我用防御来获得lat和long,如下所示:

    area<-readOGR(dsn="/home/ubuntu/..",layer="area")
    f_area<-fortify(area)
    head(f_area) 
    
    long      lat order  hole piece id group
    1 116.1045 57.23717     1 FALSE     1  0   0.1
    2 116.1551 57.21548     2 FALSE     1  0   0.1
    3 116.2420 57.14505     3 FALSE     1  0   0.1
    4 116.1706 57.12011     4 FALSE     1  0   0.1
    5 116.1222 57.12006     5 FALSE     1  0   0.1
    6 116.0756 57.09926     6 FALSE     1  0   0.1
    

    从这一点上说,我很困惑我必须做什么才能得到我想要的结果。

    谢谢你的帮助。

    1 回复  |  直到 6 年前
        1
  •  0
  •   sebdalgarno    6 年前

    有了ggplot2::geom_sf,就不需要加固。

    # install ggplot2 development version
    install.packages('devtools')
    devtools::install_github('tidyverse/ggplot2')
    
    # load libraries
    library(sf)
    library(ggplot2)
    
    # read in data (probably you need to change the path here to read your file)
    area <- sf::st_read("/home/ubuntu/area.shp")
    
    # ggplot
    ggplot() + geom_sf(area)
    
    # or you can simply use plot
    plot(st_geometry(area))