【问题标题】:R buffer geospatial pointsR缓冲地理空间点
【发布时间】:2017-07-04 00:34:18
【问题描述】:

我目前正在尝试在 R 中的点周围创建 (100m) 缓冲区。 我找到了两个非常有用的答案,但我仍然有问题。 这是我找到的答案: Buffer (geo)spatial points in R with gbuffer Create buffer and count points in R

我的问题是,当我创建缓冲区时,我只有一个大缓冲区。

ANFR_IDF 是一个数据帧。 “ID”列是唯一的 ID,“coordonnees”列是坐标。

ANFR_IDF$lat=as.numeric(gsub(",.*$", "", ANFR_IDF$coordonnees))
ANFR_IDF$lon=as.numeric(gsub(".*, ", "", ANFR_IDF$coordonnees))
coordinates( ANFR_IDF ) <- c( "lon", "lat" )
CRS=CRS("+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0")
proj4string(ANFR_IDF)=CRS

ANFR_IDF <- spTransform(ANFR_IDF,CRS)
test2=gBuffer( ANFR_IDF, width=100,id=ANFR_IDF$ID, byid=TRUE )

知道可能是什么问题吗?非常感谢!

【问题讨论】:

    标签: r geospatial


    【解决方案1】:

    看起来您有一个以十进制度为单位的地理坐标系,因此当您为width 参数提供100 时,它会创建一个十进制度的缓冲区(一个巨大的缓冲区!)。先试试投影

    library(sp)
    ANFR_IDF_prj <- spTransform(ANFR_IDF, crs([your preferred projection]))
    test2=gBuffer( ANFR_IDF_prj, width=100,id=ANFR_IDF_prj$ID, byid=TRUE )
    

    【讨论】:

    • 感谢您的解释,它运行良好,我了解问题所在!
    猜你喜欢
    • 2014-10-14
    • 2017-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-21
    相关资源
    最近更新 更多