我有一个购物中心的空间数据集,我想在 R 中创建缓冲区。
我认为这些包会很有用:
require(maptools)
require(geosphere)
我能够为一组坐标这样做,但不能为空间数据这样做。代码如下所示:
coordinates(locs) <- c("Longitude", "Latitude") # set spatial coordinates
fivekm <- cbind(coordinates(locs), X=rowSums(distm (coordinates(locs)[,1:2], fun = distHaversine) / 1000 <= 5)) # number of points within 5 km
但我不知道对一组多边形使用什么函数/包。有人可以就功能(或代码)提出建议,我将从那里开始?
谢谢!
最佳答案
图书馆内rgeos
,还有gBuffer
与 SpatialPoints 或 SpatialPolygons 一起使用的函数。width
参数允许设置要缓冲的距离。但是,请注意,此距离是在所用坐标系的比例尺内。因此,对于非投影数据,以度而不是以米为单位。正如@Ege Rubak 所建议的,您必须使用 spTransform
来投影您的数据首先(请务必根据您的位置使用适当的 CRS)。
至于现在,rgeos
图书馆与图书馆合作 sp
,但不是(还?)最近的 sf
.
关于r - 在 R 中围绕空间数据创建缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42630703/