将 tif 转换为 as.polygons shapefile

问题描述 投票:0回答:0

我需要帮助将 tif 栅格文件转换为多边形 shapefile,最好使用

sf
这样我就可以在转换后向 shapefile 添加更多的数据列。我在这里得到了文件:https://drive.google.com/file/d/1QFYYQqER1tefCCi7oz4XveM2PDC0e_HV/view?usp=sharing。该文件包含不连续的水单元,如果它们大于 10 米,我想将其丢弃。最终产品应该是来自
water_sf_tif
的裁剪 shapefile,只有小于 10 米的连续水单元。我试过:

library(terra)
  library(sf)
  library(mapview)
  library(raster)
  
water_sf_tif <- raster('xx_water.tif')
  ncell(water_sf_tif)
  water_sf_tif
  plot(water_sf_tif)
  mapview(water_sf_tif)

     #Convert water_sf_tif to shapefile
my_shp <- sf::as_Spatial(sf::st_as_sf(stars::st_as_stars(water_sf_tif), 
                            as_points = FALSE, merge = TRUE))
Error: cannot allocate vector of size 1.6 Gb

我有 32GB 内存。是内存不足导致的错误吗?

我不知道如何用小于 10 米的连续水数据裁剪 tif shapefile。任何帮助将不胜感激。

r raster sf terra mapview
© www.soinside.com 2019 - 2024. All rights reserved.