我试图通过使用 terra::extract() 来获取地块中的平均 NDVI 值。我注意到来自 terra::extract() 的数据框为我提供了 NA 值(实际上,在 4519 个观察值中,我有 2494 个 NA 值)。我的 NDVI 栅格的空间分辨率约为 0.5 英尺(0.15 米)。下面是我的代码。我也尝试过exactextractr::exact_extract(),但它没有给我与raster::extract() 相同的值。根据我的阅读,exactextractr::exact_extract() 说明了位于多边形内的单元格部分。我想知道哪个更好用,exactextractr::exact_extract() 或 terra::extract()。任何帮助/指导都会很棒!
epa_fatparcels_sidewalk_adjacent <-
epa_parcels_sidewalk_adjacent %>%
st_transform(projection) %>%
st_buffer(330) %>%
st_transform(st_crs(epa_ndvi))
tictoc::tic()
epa_ndvi_sr<- terra::rast(epa_ndvi)
epa_fatparcels_sidewalk_adjacent_sv <- epa_yards_sidewalk_adjacent %>%
st_transform(st_crs(epa_ndvi)) %>%
#--- convert to a SpatVector object ---#
as(., "Spatial") %>% terra::vect()
epa_fatparcels_ndvi_v2 <- terra::extract(
epa_ndvi_sr,
epa_fatparcels_sidewalk_adjacent_sv,
fun="mean"
)
tictoc::toc() #took 17.92 sec elapsed