gpt4 book ai didi

r - 如何在R中生成六角形网格

转载 作者:行者123 更新时间:2023-12-03 00:10:45 25 4
gpt4 key购买 nike

我希望能够创建一个覆盖另一个 SpatialPolygon 的 SpatialPolygons 对象(这是一个六角形网格)。

我希望所有六边形的直径为 1 公里(理想情况下我可以改变这个),并且所有六边形一起覆盖整个物体。下面的方法似乎只涵盖了其中的一小部分......

下面是我使用 sp 包的尝试:

require(sp)
data(meuse.riv)
meuse.sr = SpatialPolygons(list(Polygons(list(Polygon(meuse.riv)), "x")))
plot(meuse.sr)

HexPts <-spsample(meuse.sr,type="hexagonal",cellsize=1000)
HexPols <- HexPoints2SpatialPolygons(HexPts)
plot(HexPols, add=TRUE)

非常感谢一如既往的任何帮助...

最佳答案

替换meuse.sr有一些缓冲版本,例如 rgeos::gBuffer(meuse.sr, width = 2000)在调用 spsample 的电话中。这是一个仅选择相交六边形的完整示例:

require(sp)
data(meuse.riv)
meuse.sr = SpatialPolygons(list(Polygons(list(Polygon(meuse.riv)), "x")))
plot(meuse.sr)

library(rgeos)
meuse.large = gBuffer(meuse.sr, width = 2000)
HexPts <-spsample(meuse.large, type="hexagonal", cellsize=1000)
HexPols <- HexPoints2SpatialPolygons(HexPts)
plot(HexPols[meuse.sr,], add=TRUE)

enter image description here

关于r - 如何在R中生成六角形网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29374004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com