如何为大型SpatialPolygonsDataFrame子集>> [

问题描述 投票:0回答:1
我想计算野火的面积。我通过减去在大火之前和之后的Landsat图像上计算出的NDVI来尝试进行此操作,并查看NDVI的减少量。但是,不仅在燃烧区,NDVI发生了变化,而且还存在许多随机差异。我使用

rasterToPolygons

创建了一个large SpatialPolygonsDataFrame,其中包含NDVI之后-NDVI <0之前的所有区域。现在,我要删除面积小于某个阈值的所有多边形。但是,我找不到子集大SpatialPolygonsDataFrame的方法。我找到了一个有关如何获取面积大于阈值的多边形列表的示例(其中

burned_poly

large SpatialPolygonsDataFrame:] >>pols <- lapply(burned_poly@polygons , slot , "Polygons") pols_areas <- lapply(pols[[2]], function(x) slot(x, "area"))
但是,像这样访问大型SpatialPolygonsDataFrame

bp <- burned_poly@polygons[[1]]@Polygons[pols_areas >= 9000]

给了我一个我目前无法强制进入SpatialPolygonsDataFrame的列表。

有人可以告诉我最后一步该怎么做(我对

Sf

参数感到困惑,但我不知道它在SpatialPolygonsDataFrame函数中是什么),或者可能存在其他差异更好的方法将火灾范围提取为多边形?
我想计算野火的面积。我通过减去在大火之前和之后的Landsat图像上计算出的NDVI来尝试进行此操作,并查看NDVI的减少量。但是,不是...
r sp
1个回答
0
投票
如果使用的是简单功能sf库,则可以使用tidyverse中的功能。过滤数据是使用

filter()

函数的问题。请注意,您可以使用st_as_sf()
© www.soinside.com 2019 - 2024. All rights reserved.