问题标签 [terra]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
343 浏览

r - 如何在 R 中使用 terra 包编写光栅分层?

terra我想使用包逐层编写栅格。我正在使用以下代码

它给了我以下错误

错误:[writeRaster] 无法打开文件:C:/Users/nn/Desktop/lyr.1 另外:警告消息:C:/Users/nn/Desktop/lyr.1:没有这样的文件或目录(GDAL 错误 4)

我想raster使用以下函数在包中提供相同的输出

0 投票
2 回答
294 浏览

r - 如何使用 terra 包将栅格堆栈中提取的值添加到 Spatial 对象的 data.frame?

我想使用包将光栅堆栈中提取的值添加到 Spatial 对象的terradata.frame

正如您从输出val文件中看到的那样,我们过去使用sp包的参数来获得它不存在raster。现在如何val在提取的 data.frame 中添加字段?

0 投票
1 回答
115 浏览

r - R Terra 包错误:[area] area(x, sum=FALSE) 将被删除。使用“cellSize(x)”

我正在尝试复制以下问题的答案,但在 R Terra area 命令上出现错误:

使用立体极坐标投影从卫星数据估计网格单元面积

我正在运行的确切代码如下:

打印 r 产量

我在使用 area() 命令时收到以下错误:

我已经在我的默认 R 实例上尝试过这个,并且还从头开始设置了一个干净的实例。我在两次安装中都遇到了同样的错误。两个系统都是 macOS。如果我尝试将 area 命令更改为 cellSize 命令,R 将完全退出并重新启动。

这是每个设置的 sessionInfo():

系统 2:全新安装 MacOS Big Sur

系统一:macOS Catalina

0 投票
1 回答
143 浏览

r - 为什么 terra::cellSize() 和 raster::area() 会产生不同的栅格单元面积估计值?

我刚刚注意到,terra::cellSize()产生的细胞面积估计与raster::area().

首先,为什么这两种方法不能提供相同的答案?第二,哪个估计最准确?请参见下面的示例。

reprex 包(v0.3.0)于 2021-07-08 创建

raster在过去的几年里,我一直在使用(并且喜欢它),最近被新terra软件包提供的速度和其他改进所震撼。我假设terra::cellSize()(或terra::expanse(),就此而言)提供的面积估计值比 更准确raster::area(),但我很想在更新之前的面积估计值之前了解更多有关变化的信息。

感谢您所做的一切,https://github.com/rspatial

0 投票
0 回答
186 浏览

r - 提高 R(terra 包和 vrt)中 150gb+ 栅格图块的区域统计计算速度

我在 R 中工作 - 我有一个分辨率为 60 厘米的栅格 (.tif) 切片目录,从 Google 地球引擎 (NAIP 2018 NDVI) 下载。(由于人类受试者对我的多边形数据的要求,我在 pc 上而不是在 Google 地球引擎中运行我的分析。)这 52 个图块的大小为 1.2-3.8GB。我也有 982 个多边形,我正在尝试从这些栅格中计算区域平均值。我的代码(如下)使用 terra 包,我没有将切片镶嵌成一个非常大的单一栅格,而是选择创建一个 VRT(虚拟栅格)文件。

我在 Xeon Gold 6134 @ 3.2GHZ 上运行此代码,并拥有 128GB 的​​内存。无论我将 terraOptions() 设置为什么,R 甚至都没有接近使用我的处理器或内存潜力的很大一部分。

使用此代码,所有 982 个多边形将需要 11.8 天才能运行。如果有人能指出我可能尚未尝试过的特定技巧/工具,我将不胜感激(例如,我尝试使用所有 terraOptions,我尝试了 raster 包和exact_extract 包。该exact_extract()功能不会t 对我有用,因为我使用 SpatRaster/VRT 和sf多边形对象作为输入 - 再次避免镶嵌非常大的奇异栅格。)

谢谢你。(我很抱歉我无法共享数据,因为它太大或与人类主题相关......)这是未循环的代码:

编辑:52 个 1.2-3.8GB 的​​磁贴。我最初对 150GB 总目录大小的报价不正确,因为这是 ArcGIS 中的压缩大小。

show(ras) 产生:

在此处输入图像描述

0 投票
2 回答
123 浏览

r - 在 R terra 提取中使用 xy=TRUE

我正在尝试提取像素质心的坐标,我的点落在该像素内。这是一个可重现的示例

我希望提取的 xy 坐标仅与原始坐标稍有偏差,但这些值似乎都混在一起了。我在我的代码中犯了错误还是有另一种获取这些值的方法?

0 投票
1 回答
69 浏览

overlay - SpatRaster 和使用 terra 包的向量之间的数学运算

我有一个关于app()家庭功能的简单问题

我想将一个向量(n个值)除以一个栅格并得到n个结果栅格

同样想知道如何使用 SpatRasterDataset。那可能吗?

这是一个例子:

0 投票
1 回答
104 浏览

r - 裁剪和屏蔽拉斯塔数据并将其转换为矢量

我正在尝试裁剪和屏蔽栅格数据并将栅格数据转换为矢量和带有 terra 的 sf 对象。但是,我总是收到以下错误消息: UseMethod 中的错误("st_as_sf")not applicable method for 'st_as_sf'applied to object of class "SpatVector"。对于克服这一障碍的任何帮助或建议,我将不胜感激。

我的代码如下所示

我正在使用 SEDAC 人口密度栅格数据(正式类 SpatRaster),我试图通过使用阿富汗形状文件 (adm_afg_sf) 将其限制为阿富汗的形状。

任何反馈都会非常受欢迎。

0 投票
1 回答
102 浏览

r - 使用 sapp() 将 terra::focal 应用于 SpatRaster 的每一层

我最近开始使用terra并且必须赞扬开发人员,在使用 R 中的许多大型栅格时,它让我的生活变得如此轻松。但是,我偶然发现了一个小问题,我正在尝试sappfocal函数应用于每一层在 SpatRater 中,focal一次只能应用于一层。

使用小型可重现的 RasterSpat,我可以运行以下命令作为所需输出的示例:

当我sapp使用与以下相同的语法运行上述可重现数据时sapply

我得到:

h(simpleError(msg,call))中的错误:在为函数“rast”选择方法时评估参数“x”时出错:未使用的参数(wopt = wopt)

如果我尝试:

我得到以下信息:

注意图层的最大值。如何调整我的代码以使 sapp 按需要工作?

我可以使用 sapply 获得所需的结果,但我认为如果我能让 sapp 工作,sapp 对于更大的数据会更有效率。

如果有人可以提供一些帮助,将不胜感激:)

0 投票
1 回答
162 浏览

r - 有没有办法使用 terra 包中的 rast 函数从带有缓冲区的栅格中提取数据?

我正在使用光栅包从光栅中提取一些坐标的值。我打算使用 1 公里的缓冲区进行提取。但是在 terra pakcage 中使用提取功能似乎是不可能的。

如果您能帮助我,将不胜感激。