2017-07-03 80 views
0

我正在嘗試在R中的點附近創建(100m)緩衝區。 我發現了兩個非常有用的答案,但我仍然遇到問題。 這裏的答案,我發現: Buffer (geo)spatial points in R with gbuffer Create buffer and count points in RR緩衝區地理空間點

我的問題是,當我創建我的緩衝,我只有一個大的緩衝區。

ANFR_IDF是一個數據幀。列「ID」是唯一的ID,列「座標」的座標。

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) 

任何想法可能是什麼問題?非常感謝!

回答

1

看起來您有一個地理座標系,單位爲十進制度數,所以當您爲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) 
+0

感謝您的解釋,它完美的工作,我明白是什麼問題! – Oolis