r - 在 R 中围绕空间数据创建缓冲区

标签 r buffer shape spatial

我有一个购物中心的空间数据集,我想在 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/

相关文章:

R如何使图例位置独立于图形大小

r - 如何将另一个图层/新系列添加到ggplot中?

r - 从特定文件夹加载所有 R 数据文件

c - 如果 stdin 满了会怎样?

c++ - 使用 C++ 和 openCV 进行立方体检测

r - 如何找到未存储在 .GlobalEnv 中的重物?

javascript - Buffer 和 TypedArray 转换导致数据突变?

c - 害怕 c 中的奇怪行为

svg - 将 SVG 加载到 P5 草图

tsql - T-SQL 中的形状查询