将大星星对象转换为科幻对象

问题描述

我的最终目标是将Landcover栅格(.tif)对象转换为一个sf对象,该对象代表栅格的栅格以及每个几何图形中每个像元的原始值。我已经能够对较小的栅格执行以下操作:

library(sf) 
library(stars)

# import raster using stars
landcover_stars <- read_stars(my_raster.tif)

# convert to sf object using st_as_sf
landcover_grid_sf <- st_as_sf(landcover_stars)

但是在较大的栅格中(例如,我目前最大的栅格是11482x12607像元),read_stars()函数将栅格导入为“星星代理”,这是打包处理大型栅格数据集所采取的步骤。尽管st_as_sf函数不接受星形代理对象,但可以在函数中设置“ proxy = FALSE”。但是,如果我在最大的数据集中进行此操作,则对生成的对象运行st_as_sf(landcover_stars)会使笔记本电脑{16 GB RAM,i7 2.70GHz处理器}崩溃。

当将非常大的星体转换为sf时,是否可以减轻我机器的负担?

另外-可能实际上是新生成的sf对象正在耗尽我的机器吗?

这里是一个虚拟栅格,以供您测试,随机生成的整数值范围为1到10:

raster(nrows=12000,ncols=12000,xmn=0,xmx=10,vals = floor(runif(12000*12000,min=0,max=11)))

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...