R 如何扩展“a”;空间多边形框架“;在一定程度上

R 如何扩展“a”;空间多边形框架“;在一定程度上,r,raster,sp,R,Raster,Sp,我有一个要扩展的shapefile(基本上是添加一些NA行和列)。是否有类似于光栅::扩展的功能?不幸的是,这只适用于光栅对象 我可以使用graster::crop裁剪它,它有一个空间多边形数据帧的方法,但是我找不到任何扩展的方法。我找到了一种方法! 空间多边形的范围数据似乎存储在一个名为bbox的插槽中。插槽内(可通过my访问)。polygon@bbox),您会发现这样一个简单的矩阵: min max x -81 -80 y 11 12 简单地用另一个看起来像你想要得到的矩阵替换该矩

我有一个要扩展的shapefile(基本上是添加一些NA行和列)。是否有类似于光栅::扩展的功能?不幸的是,这只适用于
光栅
对象

我可以使用
graster::crop
裁剪它,它有一个
空间多边形数据帧的方法,但是我找不到任何扩展的方法。

我找到了一种方法! 空间多边形的范围数据似乎存储在一个名为bbox的插槽中。插槽内(可通过
my访问)。polygon@bbox
),您会发现这样一个简单的矩阵:

  min max
x -81 -80
y  11  12
简单地用另一个看起来像你想要得到的矩阵替换该矩阵,将改变你的空间多边形的范围。您甚至可以使用其他多边形或光栅的范围来制作矩阵:

my.polygon@bbox <- as.matrix(extent(my.raster))
my。polygon@bbox我找到了一个方法!
空间多边形的范围数据似乎存储在一个名为bbox的插槽中。插槽内(可通过
my访问)。polygon@bbox
),您会发现这样一个简单的矩阵:

  min max
x -81 -80
y  11  12
简单地用另一个看起来像你想要得到的矩阵替换该矩阵,将改变你的空间多边形的范围。您甚至可以使用其他多边形或光栅的范围来制作矩阵:

my.polygon@bbox <- as.matrix(extent(my.raster))

my。polygon@bbox这不是一个完全令人满意的解决方案,但我通常发现使用
ggplot2
中的
fortify
将空间多边形数据帧转换为常规数据帧更容易。从那里,您可以使用常规的数据帧函数来扩展数据。另外,通过
ggplot
及其图形功能可以轻松理解结果。感谢您的评论。您可以通过直接访问
SpatialPolygonsDataFrame
数据槽轻松添加NA Colun,如下所示:spdf@data,其中,spdf是您的
空间多边形数据框
对象,例如
spdf@data$my_na
添加一个名为“my_na”的新列。至于“行”,为什么要将NA行添加到
SpatialPolygonsDataFrame
对象??如果您只想扩展空间范围,可以
buffer()
到您想要的范围。@Shekeine我想使用rasetrize函数,因此两者的范围应该相同。目标是获得光栅文件的范围,我可以在多边形较大时进行裁剪,但如果多边形较小,则无法延伸。我的问题解决了,因为我裁剪了光栅,在光栅化之后,我将扩展光栅化的光栅扩展。但如果我知道如何使用缓冲区就好了。我对“缓冲区”一词的理解让我感到困惑,因为它应该通过给定距离在对象周围创建缓冲区。
光栅化
不要求多边形的范围与光栅的范围相同。您是否尝试过光栅化(p,r)
(对于光栅
r
和空间多边形*
p
)?发生了什么?这不是一个完全令人满意的解决方案,但我通常发现使用
ggplot2
中的
fortify
将空间多边形数据帧转换为常规数据帧更容易。从那里,您可以使用常规的数据帧函数来扩展数据。另外,通过
ggplot
及其图形功能可以轻松理解结果。感谢您的评论。您可以通过直接访问
SpatialPolygonsDataFrame
数据槽轻松添加NA Colun,如下所示:spdf@data,其中,spdf是您的
空间多边形数据框
对象,例如
spdf@data$my_na
添加一个名为“my_na”的新列。至于“行”,为什么要将NA行添加到
SpatialPolygonsDataFrame
对象??如果您只想扩展空间范围,可以
buffer()
到您想要的范围。@Shekeine我想使用rasetrize函数,因此两者的范围应该相同。目标是获得光栅文件的范围,我可以在多边形较大时进行裁剪,但如果多边形较小,则无法延伸。我的问题解决了,因为我裁剪了光栅,在光栅化之后,我将扩展光栅化的光栅扩展。但如果我知道如何使用缓冲区就好了。我对“缓冲区”一词的理解让我感到困惑,因为它应该通过给定距离在对象周围创建缓冲区。
光栅化
不要求多边形的范围与光栅的范围相同。您是否尝试过光栅化(p,r)
(对于光栅
r
和空间多边形*
p
)?怎么搞的?