问题标签 [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 投票
2 回答
172 浏览

r - 如何从 terra SpatRaster 构建 lon、lat、value 数据框

我已经使用优秀的terra包将单变量 .nc 文件作为 SpatRaster 对象读入 R,目的是根据单元质心拟合地统计模型。为此,我需要使用来自 SpatRaster 的数据构建一个数据框,其列对应于“lon、lat、value”。这感觉像是一项可能有标准解决方案的任务,但我不熟悉 R 的空间统计生态系统。

任何建议/建议将不胜感激。

0 投票
0 回答
65 浏览

r - 这是裁剪、重新投影和重新采样光栅文件的正确方法吗?

我正在使用来自拉丁美洲 WorldClim V2.1(30 秒分辨率)的环境栅格图层。我希望图层具有精确的分辨率(50km2 像素大小)。但是,我有点不确定我是否按照正确的步骤来处理文件。任何有关检查过程的帮助将不胜感激。

最后一件事,我想知道 s 在terra::resample做什么NA。谢谢 !


这是一个年平均温度的例子

图书馆

底图

环境层

关注

tavg_Latam

干杯,弗洛

0 投票
1 回答
78 浏览

r - R terra tif 导入颜色图

使用 导入 .tif 栅格时terra::rast(),还会导入颜色图。有什么方法可以强制函数不导入颜色图,或者将其设置为 NULL 以使用默认的绘图调色板?

您可以通过以下方式查看颜色表:

0 投票
1 回答
164 浏览

r - r 多类别栅格的 Terra 问题。如何在不丢失数据的情况下正确地将类别及其值提取到图层中?

我正在与 rTerra 合作,并且在此处发现了来自 LANDFIRE 的 CONUS 历史干扰数据集的问题:https ://landfire.gov/version_download.php (HDist 是名称)。总结一下我想做的事情,我想把这个数据集,裁剪和投影到我的范围内,然后取单元格的值并将它们分离为层。所以我想要一个严重性层,一个用于干扰类型等。历史干扰数据将这些东西都放在一个属性表中。在 terra 中,此属性表是在类别下设置的,这带来了很多问题。我没有遇到裁剪或重新投影的问题,它正在进入值并将类别分成层。我有以下代码

然后,这给出了我想要的范围和投影的输出,但主要关注的是类别

所以我了解到,对于这些类型的数据集,值存储在这些类别下。如果我用我绘图,plot(h3) 我只会得到计数类别的第一行。为了切换该类别,我可以使用

我会得到

默认的活动类别是计数,但现在它的 DIST_TYPE,第四个类别,没什么太疯狂的。我尝试绘图

我只绘制了 NoData。其他都没有。有一个名为catalyze()That 声称可以获取您的类别并将它们全部转换为数字层的功能

这给了我一个 13 层的数据集,这是有道理的,因为有 13 个类别,它需要它们并将它们转换为数字层。我试着绘图

它只绘制 8 的值,并且看起来只显示可能的 noData 值。该地图大部分为绿色,与 HDist 中的 NoData 内联。每当我尝试直接访问值时,它都会崩溃。当我查看最小值和最大值时,我得到 8 和 8 的 min 和 max 的“名称” names: DIST_TYPE min values: 8 max values: 8。其他类别显示类似的模式。所以它似乎只取每个类别的第一行值并使其成为整个层。

总之,很明显,如果将数据集引入 arcgis,则 terra 存储了属性表中很容易看到的所有值。但是,每当我尝试绘制它或使用它时,即使在任何真正的操作之前,它也只会访问该属性表的第一行,而当我催化时,它似乎只会让一切变得更加混乱。我知道这在 arcgis pro 中很容易解决,但是从文档一致性的角度来看,我想将所有内容都保留在 r 中。任何 terra 高手知道该怎么做吗?我认为它必须非常简单,但我真的不知道还有什么可以尝试的。也许这也是一些重大问题。我对 LANDFIRE evt 数据有同样的问题。对于简单的栅格,例如 dem、树冠盖等,我没有遇到过这个问题。

编辑这是中断图像 这张图片显示了即使在现在修复之后它正在绘制的内容

0 投票
1 回答
60 浏览

r - terra R coord.ref 未命名

我正在使用terra具有协调 HLS 数据的库 ( https://hls.gsfc.nasa.gov/ )。这些是 HDF4_EOS 文件(您可以在此处下载图像:https ://hls.gsfc.nasa.gov/data/v1.4/S30/2020/11/T/M/M/ )。

一旦下载场景并尝试使用 sds 函数加载到 R 中,(即datat=sds(ImageIn))它可以工作,但未coord.ref命名,如下所示:

当我使用 时terra::crs(ImageIn),我收到以下错误消息:

(函数(类,fdef,mtable)中的错误:无法为签名“字符”的函数“crs”找到继承的方法</p>

如果我使用库中的函数和库中的函数get_subdatasets()(即),则找到 crs(即)。gdalUtilsraster()rasterraster(imageIn[2])+proj=utm +zone=11 +datum=WGS84 +units=m +no_defs

有没有办法让terra图书馆找到栅格的投影?

谢谢!!

0 投票
1 回答
119 浏览

r - Terra从分类栅格中提取不正确的值

我正在尝试更新我以前使用 raster to terra 的旧代码。我遇到了从 LANDFIRE 栅格图层中提取主要植被类型的问题。在 ArcGIS 中,我为我的浓缩植被类型(即 1="Aspen"、2="Other" 等)创建了一个名为“CONDENSED”的新列,这是我想从中提取的活动类别。我有8个类别。由于某种原因,提取的值比应有的“高”一个类别。例如,对于 aspen,一个点的值应该是 1,但提取的值是 2/Other。这在所有蔬菜类型中都是一致的,无论我的观点是 sf 还是 SpatVector。我正在使用 terra 版本 1.4.11。

我尝试从头开始创建一个可重现的示例,并且与来自 的值相比,它工作得非常好raster::extract(),所以我不确定问题是否与我如何指定活动层有关?我已经上传了我在这里使用的栅格和点的小样本:https ://github.com/Cara-Thompson/Elk-resource-selection

有谁知道可能会发生什么?下面是我的 SpatRaster 和我的步骤的描述。

奖励:当使用 Raster* 对象时,我注意到terra::extract()使用完整形式的 sf 对象。所以我可以让它正确提取而不使用 SpatVect/SpatRast 格式,但这比使用更快raster::extract()吗?

0 投票
1 回答
66 浏览

r - 如何聚合分类 SpatRaster

我是 terra 包的新手。我正在尝试aggregate只有一层的分类栅格(或更准确地说是 SpatRaster)。结果应该是一个栅格,其层数与原始栅格中的类别一样多;单元格的值应具有每个类别中原始(较小)单元格的数量。

这是一个示例,显示了我试图实现的目标:

这适用于这个例子。但这既不实用也不高效。对于大型栅格数据集(数量级 1GB-10GB)和许多类别,这可能(?)不可行。

那么,terra专业人士将如何做到这一点?

0 投票
1 回答
50 浏览

warnings - terra 包在提取过程中产生奇怪的警告

我在使用 terra 包时遇到了问题。当我对 weights=TRUE 的多边形数据集执行栅格提取时,有时会收到许多警告消息。从对警告的解释来看,似乎 terra 正在尝试写入临时文件来执行此操作(?)并且没有写入权限。因此,我将 terra 包的 tempdir 重新指定为我创建的具有读写权限的文件夹,但我仍然收到这些警告。

是否有其他人收到来自 terra 的类似警告并且知道如何解决问题,或者这些警告是否可能产生任何后果(即它们会影响提取值的可靠性)?

谢谢阅读。

在下面的代码中, bisondist 是一个栅格图层,US.County 是一个带有多边形的 sf 对象(10 是包含几何图形的列)

0 投票
2 回答
363 浏览

r - 我应该怎么做才能响应这个警告?“请注意,rgdal 将于 2023 年底退役”

当我加载 rgdal 包时,我一直注意到这条消息:

“请注意,rgdal 将于 2023 年底退役,计划在您方便的时候尽早使用 GDAL 和 PROJ 过渡到 sf/stars/terra 功能。”

我不知道这是什么意思。这是否意味着有些 sf/stars/terra 函数使用 rgdal 而其他函数不使用?或者这是否意味着 sf/stars/terra 根本不使用 rgdal,我应该使用这些包而不是其他依赖 rgdal 的包?

哪些常见的依赖 rgdal 的软件包会受到影响?

0 投票
1 回答
43 浏览

r - 如何在将 varnames() 和 longnames() 分配给 SpatRaster 之前将其写入 NetCDF 文件?

我正在尝试terra使用R. 但是,我无法更改变量名称,无论是短名称还是长名称,您可以在数据信息以及所附图像中进行更改。

可重现的例子:

SpatRaster 信息:

来自Panoply的图片: 在此处输入图像描述

编辑: