R缓冲区地理空间点
R buffer geospatial points
我目前正在尝试围绕 R 中的点创建 (100m) 缓冲区。
我找到了两个非常有用的答案,但我仍然有问题。
这是我找到的答案:
Buffer (geo)spatial points in R with gbuffer
我的问题是,当我创建缓冲区时,我只有一个大缓冲区。
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 )
知道问题出在哪里吗?非常感谢!
看起来你有一个以十进制度为单位的地理坐标系,所以当你为 width
参数提供 100
时,它会创建一个 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 )
我目前正在尝试围绕 R 中的点创建 (100m) 缓冲区。
我找到了两个非常有用的答案,但我仍然有问题。
这是我找到的答案:
Buffer (geo)spatial points in R with gbuffer
我的问题是,当我创建缓冲区时,我只有一个大缓冲区。
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 )
知道问题出在哪里吗?非常感谢!
看起来你有一个以十进制度为单位的地理坐标系,所以当你为 width
参数提供 100
时,它会创建一个 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 )