如何将“SpatialPolygonsDataFrame”扩展到给定的范围

new*_*bie 1 r raster r-sp

我有一个想要扩展的 shapefile(基本上是添加一些 NA 行和列)。有没有这样的功能raster::extend?不幸的是,这只适用于raster对象。

我可以使用 裁剪它raster::crop,它有一个 方法SpatialPolygonsDataFrame,但我找不到任何可以扩展的东西。

Jav*_*rdo 6

我找到了一种方法来做到这一点!SpatialPolygons 的范围数据似乎存储在名为 bbox 的插槽中。在插槽内(您可以通过 访问my.polygon@bbox),您会发现一个简单的矩阵,如下所示:

  min max
x -81 -80
y  11  12
Run Code Online (Sandbox Code Playgroud)

简单地用另一个看起来像您想要的矩阵替换该矩阵将改变您的 SpatialPolygons 的范围。您甚至可以使用其他多边形或栅格的范围来制作矩阵:

my.polygon@bbox <- as.matrix(extent(my.raster))
Run Code Online (Sandbox Code Playgroud)

它不像光栅的扩展那么整洁......但它的工作原理是一样的:)希望现在还为时不晚!