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

r - 如何在国家边界内乘以栅格的像元值

我在 R 中有两个栅格对象,具有 216 个网格或具有相同经度和纬度坐标的单元格,一个具有每个网格的每日最大风速值,另一个具有代表单个网格中人口计数的数字。第一个栅格有 183 个图层,由以下信息表示。

第二个栅格只有 1 层,范围相同。可能会注意到,纬度坐标从 3.125 到 7.625,经度坐标从 50.625 到 53.625。这些坐标封装了荷兰。

所以我的目标是将人口栅格中的每个 I,Jth(I 表示行,J 表示列)单元格值与每层风速栅格中的每个 I,Jth 像元值相乘。但是,我只想对荷兰境内的像元值执行此操作,而不是对空间栅格覆盖的整个区域执行此操作。

有谁知道如何在 R 中做到这一点?

0 投票
1 回答
162 浏览

r - 从 terra 包中的图层中提取值

我有一个terra::rast图层n。我想只使用包提取某些层的值terra(我更喜欢这个包的答案而不是raster)。看来我不明白如何layer在函数中使用参数terra::extract。这是一个最小(几乎)工作示例:

此代码提供以下错误:

我不明白为什么层数应该等于y. 我想它应该是最大的层数x。如何专门提取第 1 层和第 4 层的给定坐标处的值(或任何其他层,这只是一个示例)?

0 投票
1 回答
96 浏览

r - 如何制作一个允许在光栅图像上绘制多个多边形的闪亮应用程序?

我想开发一个用户可以在图像shiny上绘制多边形的应用程序。raster用户完成多边形绘制后,我希望应用程序向他们显示所选像素的表格。

例如,terra提供一个draw可以用作draw("polygon"). 但是,我无法让它与我的shiny应用程序一起使用。

该应用程序的基本思想如下(我已用 注释了有问题的部分#):

0 投票
1 回答
81 浏览

r - 使用 terra 中的行/列索引对栅格进行子集化

我正在尝试在包 terra 中按行号和列号对栅格进行子集化。显然,这在栅格中很容易,至少没有地理范围和 crs: 使用 row/column index 对栅格进行子集。但我无法让它在 terra 中工作。必须有一个简单的方法。terra::subset 只选择栅格的图层。

期待有人问为什么:在对高程栅格进行采样并计算斜率和坡向之前,我用行和列填充了栅格,这依赖于相邻的单元格。现在我需要去掉那些填充的行和列。

0 投票
0 回答
64 浏览

r - R:在 GCP 上安装 terra 包

我正在尝试在 GCP 实例上托管 R Shiny 应用程序。使用的包之一是leaflet作为terra依赖项。我似乎无法使用主页上的terra安装说明进行安装。terra

输出cat /proc/version

我可以在安装文本中看到我有以下版本,所有以上terra的要求:

如果我在没有 的情况下运行以下命令,INSTALL_opts = "--no-lock"则会收到错误消息:

所以我根据这个相关的 SO question添加了这个论点。

但现在安装似乎挂在这部分:

0 投票
1 回答
71 浏览

r - 使用 sf 包中的 st_sample 在子几何图形中生成随机点

基本上我试图在 shapefile 的 polgons 中创建 5 个随机空间点。我正在尝试st_sample()sf包中使用,但我的for循环有问题。

例子:

循环看起来相当简单明了。我认为问题在于st_sample()每次迭代只存储 1 个值。我应该使用列表以外的东西来存储输出值,还是for循环不是这里的正确选项?

0 投票
1 回答
35 浏览

r - 在 terra 中保存和重新打开栅格时单位丢失

当我在 中保存并重新打开栅格时terra,我丢失了分配的单位。也许有一些文件类型可以保存它们,而另一些则不能,但我还没有找到相关文档。

0 投票
3 回答
104 浏览

r - R 上 sf::st_buffer 和 terra::buffer 之间的区别:直径和半径

我对 R 上的st_bufferfrom packagesfbufferfrom package 的使用感到困惑。terra

我正在围绕点创建缓冲区,使用时sf::st_buffer我知道我需要在参数中使用缓冲区的半径dist,但是在使用时terra::buffer我需要在参数中指定缓冲区的直径width

这个对吗?

我在这里检查过sf::st_buffer,参数disthttps ://rdrr.io/r/stats/dist.html

在这里terra::buffer,参数widthhttps ://rdrr.io/cran/terra/man/width.html

0 投票
1 回答
148 浏览

r - 使用 Rstudio 服务器加载一些包不起作用,而它适用于 R 服务器

Rstudio server在远程服务器上使用,并且已经安装了一些软件包。

当我尝试加载类似rasterterra使用的库时Rstudio server,出现错误:

请注意,使用Rstudio server诸如加载其他包tidyverse就可以了:

当我R在服务器中使用控制台而不使用Rstudio server时,可以毫无问题地加载raster和包:terra

我该如何解决这个问题,以便我也可以加载这些包Rstudio server

更新基于@user2554330 的评论:

  1. .libPaths()在两者中给出完全相同的结果。

  2. Sys.getenv("PATH") 并在和服务器控制台Sys.getenv("LD_LIBRARY_PATH")中给出不同的结果-似乎没有看到大多数路径变量。我在服务器中运行并输入,并复制结果并将它们分别粘贴到和中。这样做之后,当我加载库和.RRstudioRstudio serverpth = Sys.getenv("PATH")ld_pth = Sys.getenv("LD_LIBRARY_PATH")RSys.setenv(PATH = "result_of_pth")Sys.setenv(PATH = "result_of_ld_pth")Rstudio serverrasterterra

  3. 是的,两者都使用相同的用户名运行。

0 投票
1 回答
63 浏览

r - NULL值在foreach循环R中作为符号地址错误传递

我以前从来没有遇到过这个问题,但是当我尝试在 R 中使用 foreach 循环时遇到了这个错误:“{ 中的错误:任务 1 失败 - “NULL 值作为符号地址传递”。

我几乎不可能产生一个小的、可重复的例子(我已经试过了!),因为我试图从巨大的栅格中提取数据并从这些数据中制作 csv 文件。但是,这是我的代码。

这是数据示例。

出于某种原因,它不允许我从栅格中提取数据,并将其放在每个变量的特定行中。关于它为什么会这样做以及如何解决它的任何想法?当它没有放在 foreach 循环中时,它可以正常工作。谢谢。