问题标签 [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.
r - Terra R - 使用自定义函数加速栅格数据的聚合()
我想使用包中的aggregate
函数terra
R
以分位数方法聚合栅格作为聚合函数。下面,我使用quantile
函数 fromR base
使用本地包目录中的栅格计算第 50 个百分位数(即中位数)。我选择了第 50 个百分位数与中位数进行比较,但我的目标确实是计算其他分位数......
我的电脑花了大约。6秒做20次。
时差 6.052727 秒
当我aggregate
使用中值内置函数运行相同的运行时,大约需要。执行相同的 20 次迭代的时间减少了 40 倍!
时间差 0.1456101 秒
由于我想计算第 50 位以外的其他百分位数,有人可以提供一些建议来加快aggregate
使用自定义函数的速度吗?
r - 如何放大地图的多个点并将它们全部包含在单独的面板中?
我有多个多边形和一个栅格来组成我的地图。我想“放大”每个多边形,以便更好地可视化每个多边形内的栅格信息。我想我最终可以将facet_grid
和的某种组合ggdraw
用于最终地图,但现在我需要帮助创建地图的“放大”部分。
例子:
我知道raster
和terra
包都有一个zoom
功能,但我无法将它与 ggplot 一起使用。欢迎任何指导,谢谢!
r - 如何使用 terra 包在 freq 函数的输出中添加图层名称?
我想在使用r 包的freq
函数输出中添加层名称来代替层号。terra
这是一个可重现的示例
从输出层可以看出,代表层数。现在如何freq
使用 terra 包在函数的输出中添加图层名称?
r - R terra - 将数组分配给不包含所有单元格值的 SpatRaster 对象的最有效方法
假设我们有一个数组modeldata
(数据来自陆地模型),其维度为:
第一个维度包括网格的单元格,第二个维度是时间序列1500:2017
。第一个维度的不寻常长度是由于单独存在陆地单元格以节省空间。
在raster
包中,我通过以下方式处理它:
请不要以这种方式评判我,
我对使用 terra 包的可比较(高性能)方法更感兴趣。
另一种很好的方法是使用SpatRaster
遮罩层而不是坐标。
谢谢 :-)
r - R - terra::distance() 等效于 raster::gridDistance(..., origin = x, omit = y)
更新- 这个问题与 相关terra 1.4-1
,现在已经过时terra 1.5-12
(或更早?)。
我正在寻找terra
相当于raster::gridDistance(..., origin = my_origin, omit = my_omit)
.
terra::gridDistance
我从terra v0.2-8
这里发现了一个旧网页,但我可以收集terra::distance
到的是当前的替换raster::gridDistance
(替换功能列表terra's
)。
但是,我不知道omit = my_omit
在terra::distance
. 从文档页面看来,任何非 NA 都被视为origin
,但没有提及 ,也没有omit
将 更改origin
为特定值的选项(与raster::gridDistance
下面的示例不同)。
这是来自的示例raster::gridDistance
:
任何人都可以使用复制这个例子terra::distance
吗?
我可以使用 做我需要做的事情raster
,但我仍在学习如何正确处理空间栅格数据,并且正在努力学习新terra
包。
r - 光栅砖对于功能来说太大:每个网格单元中最大值的 20% 阈值
我有一个全球 fAPAR 数据的栅格块b ,它是 35 年的日常数据(即大数据)。
目的
有没有办法可以循环遍历这块砖并一次在 365 层(天)上运行一个函数?最终目标是运行一个函数来识别每个网格单元的值超过该网格单元每年最大值的 20% 的阈值的层(日期)。
所以代码需要:
- 计算出一年内每个网格单元的最大值
- 返回每个网格单元超过该最大值的 20% 的图层(日期)
代码
以下代码查找每年的最大值,但由于其大小(每日、全球、0.5 度数据)而不适用于我的数据。关键可能是一次使用 365 层,而不是整个砖块(如果可能的话)。
我的目标与this和this非常相似。考虑到大小问题,我还想知道是否需要将我的数据划分为单独的年份并在多个文件上运行某些东西。
for-loop - 如何调试这个使用单个shapefile屏蔽多个栅格的for循环?
我在一个文件夹中有一组多波段栅格,我想使用单个 shapefile 进行遮罩。我希望屏蔽的输出(光栅)进入一个单独的文件夹。不久前,我在这里获得了帮助,以for
循环完成此操作。它工作得很好,但是当我放大它(增加 shapefile 中的多边形数量,并添加更多栅格)时,它就不再工作了。具体来说,它有时会正确掩盖栅格,有时则不会。我无法辨别任何模式,因为我已经多次运行此代码,并且每次没有被屏蔽的栅格集都是不同的。
到目前为止的代码:
需要明确的是,我知道上面的代码运行正确。出于某种原因,它不能与我较长的数据集一起运行,我想知道是否有人可以阐明这种for
循环的任何潜在缺陷。
r - terra::nearest() to_id 列的含义
我正在尝试使用R
'sterra::nearest()
函数,但我无法理解输出格式以及如何实际找出最近的点!这是一个简单的例子:
好的,所以to_x
和to_y
列distance
对我来说很有意义并且看起来正确。但to_id
对我来说没有任何意义。我会假设该列会有索引dest
,但它显然没有,因为dest[1, ]
不是。(0, 0)
(5, 0)
我的最终目标是找出最接近每个点attr
的点的值。如何找到最接近的点以便查找它的值?dest
src
dest
attr
(这是使用 terra 版本1.3-4
)
cell - terra的面积计算中的椭圆体或球体?
terra
使用地理坐标(经度/纬度)时,如何计算面积?
1 - 在球体或椭球体上?
2 - 使用在包装中完成的单元格的恒定宽度(中值宽度)raster
,还是使用更准确的算法?
我的问题涉及expanse
和cellSize
功能。
我试图在terra
手册和帮助页面中找到答案,但没有成功。谢谢您的帮助。