问题标签 [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 回答
113 浏览

r - 使用 terra 包 R 投影点

我需要在 terra 包中投影经度/纬度坐标,但我不相信它工作正常,因为我正在尝试使用此投影从栅格中提取数据,但未正确提取数据。

这是我的 lon/lat 点和我用来尝试投影它们的代码。

我正在使用的栅格数据(grib_data)来自这里(它太大了,我放在这里)。https://nomads.ncep.noaa.gov/pub/data/nccf/com/hrrr/prod/hrrr.20210612/conus/hrrr.t00z.wrfsubhf00.grib2

我不确定我在这里做错了什么,因为我以前使用过这种方法,而且它似乎工作正常。任何帮助都会很棒。

编辑:我遇到的具体问题是我没有为每个 lon/lat 对获得任何不同的值。每个变量的值不同,但所有站点的值(不同的经度/纬度相同)。

0 投票
1 回答
70 浏览

r - 如何将类名添加到 terra SpatRaster 中的数值栅格值?

我正在使用极地北极植被地图。存储为带有 terra 的 SpatRaster,该栅格具有 21 个土地覆盖类别。

但是,我想将 PHYSIOG 层中的每个值与其实际的土地覆盖类名称相关联。这对我在 ArcGis 中查看文件以及评估某些调查地块属于哪种栖息地类型很有用。

如何将此数据添加到 SpatRaster?

(我不确定如何制作一个可重现的 SpatRaster 示例。我将在一个单独的问题中提出这个问题)

0 投票
1 回答
68 浏览

r - 如何创建 SpatRaster (terra) 的可重现示例?

对于特定于我的特定数据集的问题,如果我将其存储为 R 中的 SpatRaster,如何制作该数据集的可重现示例?

数据结构足够复杂,以至于我不知道如何徒手发明一个更简单的版本并将其读取为 SpatRast(即 x <- rast(????????)

我也无法弄清楚如何使用包或命令来提取足够的信息来提供功能上可重现的示例

有关示例,请参见我之前的问题:如何将类名添加到 terra SpatRaster 中的数字栅格值?

0 投票
1 回答
131 浏览

r - 来自 terra 的错误:未使用的参数(类型 =“xyz”)

我正在尝试将 xyz 坐标和值转换为 SpatRaster 但是,我不断收到以下错误:

未使用的参数(类型 =“xyz”)

即使我将其运行为:

这是我正在使用的数据:

0 投票
2 回答
1677 浏览

r - 突然出现错误“无法从此文件创建 RasterLayer 对象。” 在以前工作的脚本中

我有一个脚本,我在其中读取存储为 .tif 的栅格:

几个月前该脚本运行良好,但现在我收到以下错误消息:

我可以在 terra 中使用“rast”功能读取文件:

但是,脚本中的所有其他对象都是 RasterLayers ,所以我也需要这个对象是一个。我尝试将生成的 SpatRaster 强制转换为 Raster

,但这会导致与最初尝试读取 .tif 文件时相同的错误消息。

我可能同时安装了光栅包的更新版本(现在使用 3.4-10),这会导致问题吗?

0 投票
1 回答
160 浏览

r - 当多边形小于栅格单元时,terra::extract 给出 NaN

在下面的例子中,extract 函数正确地告诉我们多边形 x2 内 r 的平均值是 5.14。但是,对于像 x1 这样小于栅格的多边形,提取返回值“NaN”

如何在 x1 处获得 r 的值在此处输入图像描述

0 投票
1 回答
53 浏览

raster - 根据数据类型, terra::writeRaster 的意外最大可能值

使用 时terra::writeRaster,允许写入的最大可能值取决于数据类型(INT1UINT2SINT2U...)。

该文档告诉“当写入整数值时,最低可用值(给定数据类型)用于[存储NA,我想]用于有符号类型,最高值用于无符号值。”。这应该为无符号类型提供以下范围:

INT1U: 0-254 (2^8-1, 减一用于NA存储)

INT2U: 0-65,534 (2^16-1, 减一用于NA存储)

INT4U: 0-4,294,967,294 (2^32-1, 减一用于NA存储)

但是,对于无符号数据类型INT2UINT4U,我在机器上观察到的最大值不符合这些期望:

INT2U: 65,532 INT4U: 4,294,967,292

为什么会出现这个意想不到的最大值?我问这个问题是因为对于安全的代码编写来说,在编写文件之前准确地知道这些最大值并不是微不足道的。

我在 Windows 10 下工作。这是我用来检查的几行代码:

0 投票
1 回答
165 浏览

copy - 将 netCDF 文件裁剪为 shapefile 并在 R 中克隆元数据变量

我有 NetCDF 文件(例如https://data.ceda.ac.uk/neodc/esacci/lakes/data/lake_products/L3S/v1.0/2019全局域),我想根据 shapefile 提取数据边界(在这种情况下是湖 - https://www.sciencebase.gov/catalog/item/530f8a0ee4b0e7e46bd300dd),然后将剪辑的数据保存为 NetCDF 文件,但保留剪辑文件中的所有原始元数据和变量名称。这是我到目前为止所做的

我的主要问题是当我读入剪辑的 netCDF 文件时,我似乎无法保留原始 NetCDF 的数据变量的名称。当我使用 writeCDF 函数将剪辑的数据集保存为新的 netCDF 时,它们都会自动重命名。

那么,当剪辑到 R 中较小的域/shapefile 时,是否可以从原始 NetCDF 数据集中克隆/复制所有元数据变量,然后另存为 NetCDF?任何有关如何在 R 中执行此操作的指导将不胜感激。(NetCDF 和 R 对我来说都是新的,所以我不确定我缺少什么或有深入的知识来排序)。

0 投票
0 回答
30 浏览

r - 如何使用多个字段值进行栅格化?

如何在光栅化期间在字段中包含多个字符向量?

SpatRaster 数据:

警告消息:在 if (field != "") { 中:条件的长度 > 1 并且只使用第一个元素

一些代码:

0 投票
1 回答
29 浏览

spatial - 如何在保留属性的同时将 GPX 文件直接转换为线的 SpatVector?

我正在尝试自学空间数据分析的编码技能。我一直在使用 Robert Hijmans 的文档“R 中的空间数据”,到目前为止,它非常棒。为了测试我的技能,我正在处理我在跑步期间从智能手表获得的 GPX 文件,但是我在将我的数据放入线的 SpatVector(或者更具体地说是线)时遇到问题。我无法在网上找到有关此主题的任何内容。

正如您在下面的数据示例中看到的那样,即使指定了“线”,SpatVector“运行”也具有点几何形状。从 Hijman 的带有线条的 SpatVectors 示例中,我收集到添加“id”和“part”都等于 1 的列可以使数据转换为具有线条几何形状的 SpatVector。因此,在 SpatVector“run2”中,几何是线。

我的问题是 1)是否需要添加“id”和“part”列?2)他们实际上做了什么?即为什么这些列是必要的?3)有没有办法直接从原始数据到线的 SpatVector?在我以前获取“run2”的过程中,我丢失了原始数据中的所有属性,我不想丢失它们。

谢谢!