如何在 R 中生成六边形网格
How do I generate a Hexagonal grid in R
我希望能够创建一个覆盖另一个 SpatialPolygon 的 SpatialPolygons 对象(这是一个六角网格)。
我希望所有六边形的直径都为 1km(理想情况下我可以改变这个)并且所有六边形一起覆盖整个物体。下面的方法好像只覆盖了一小部分...
下面是我使用 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
,例如 spsample
调用中的 rgeos::gBuffer(meuse.sr, width = 2000)
。这是一个仅选择相交六边形的完整示例:
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)
我希望能够创建一个覆盖另一个 SpatialPolygon 的 SpatialPolygons 对象(这是一个六角网格)。
我希望所有六边形的直径都为 1km(理想情况下我可以改变这个)并且所有六边形一起覆盖整个物体。下面的方法好像只覆盖了一小部分...
下面是我使用 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
,例如 spsample
调用中的 rgeos::gBuffer(meuse.sr, width = 2000)
。这是一个仅选择相交六边形的完整示例:
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)