问题标签 [automap]

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 回答
448 浏览

r - R autoKrige 循环(包自动映射)

我有一个包含每日观察的数据框,我想对其进行插值。我使用 automap 为每一天构建一个变异函数,然后应用于新数据。我尝试运行一个循环并将结果放入一个新的数据框中。不幸的是,带有结果的数据框只包含最后预测的日期。

结果如下所示,所有列都应填充值,而不仅仅是最后一个:

我也收到警告,说:

如果我为每一行手动执行 autoKrige,一切正常。循环似乎不像往常那样工作。这是 automap 包中的一些问题吗?

非常感谢!

0 投票
0 回答
97 浏览

python - Python的automap双向关系

Automap能够生成双向关系,但是文档比较模糊,没有给出具体的例子。谁能分享一些经验或示例代码?谢谢。

0 投票
1 回答
358 浏览

r - 如何使用边界多边形剪切/裁剪/遮罩 autoKrige 结果?

我正忙于开发一个模块,该模块在 20x20m 单元大小的土壤样本数据上实现 autoKrige(自动地图库)。克里金法完成后,我想用字段边界裁剪/掩盖克里金法结果。

裁剪/遮罩的问题在于(由于 20x20 单元格)字段的边界会产生“阶梯”效果。我正在寻找的是一个平滑的边界(穿过细胞)。

下面是生成上述两种场景的代码:

目前,调用 autoKrige 时,上述网格 (boundary.grid.stepped) 作为“new_data”参数传递。

哪种方法更好,我该如何实施:

1) 事先准备好目标网格并将其用作“new_data”,或者,

2)在边界框网格上进行克里金法并在之后进行剪切/裁剪/蒙版?

0 投票
1 回答
1192 浏览

r - 如何在 R 中有效地从单个数据集中绘制多个半变异函数?

我有一个名为 seoul1to7 的数据框,其中包含 2012 年 3 月 1 日至 3 月 7 日的每小时 PM10 浓度数据。请下载。在此数据集中,时间采用 yyyymmddhr 格式。例如,2012030101 表示 2012 年 3 月 1 日凌晨 1 点

数据看起来像:

我的最终目标是每小时绘制半变异函数。例如,对于 2012 年 3 月 1 日上午 1 点(2012030101),有 107 个 PM10 数据。我想绘制 2012030101 到 2012030723 的半变异函数(总共 7*24 半变异函数)。我在 R 中写了一些代码:

起初,我尝试通过函数制作我想要的(7 * 24)数据帧,subset()然后我想为每个数据帧绘制半变异函数。例如,我seoul311通过以下代码绘制了(对于 2012030101)的半变异函数:

但我知道我的代码效率很低!我正在写(7 * 24)次subset(seoul1to7, time==2012030101)这段代码。然后再次(7 * 24)次绘制半变异函数的代码!我认为这是非常不合适的方式。

那么,如何从我的数据集中非常有效地绘制这些(7*24)半变异函数seoul1to7(通过使用循环或任何其他函数)?如果您需要任何进一步的信息,请告诉我。

0 投票
1 回答
473 浏览

r - 如何使用 loop/lapply 函数绘制具有不同标题的多个变异函数图?

我有一个 csv 文件,其中包含 3 月 1 日至 3 月 7 日的每小时 PM10 浓度。请从这里下载。我已经通过 automap 包在一个循环中绘制了所有变异函数(总共 161 个)。

在这里,我可以通过 etc 获取单个图,vars[[1]],vars[[2]]...但所有变异函数都有相同的标题。现在,我想在一个循环中绘制所有具有不同标题的变异函数图像。我希望我的变异函数标题类似于“2012-03-01 1.00 变异函数”、“2012-03-01 2.00 变异函数”......等。

我将我想要的不同标题保留在hours“2012-03-01 01:00”、“2012-03-01 02:00”、“2012-03-01 03:00”等变量中。

如何使用循环绘制具有不同标题的所有变异函数(共 161 个)?

0 投票
1 回答
3394 浏览

r - R 通用克里金法与 autoKrige()

我正在尝试使用 automap 包中的 autoKrige() 函数来简单地应用通用克里金法。我有一个不规则间隔的测量网格,我想在它们之间以精细的空间尺度进行插值。示例代码:

这会导致错误:

我尝试让 new_data 与原始数据具有相同的行数,甚至尝试使 new_data 中的坐标与原始数据完全相同,但我仍然收到此错误。我是地质统计学技术的新手,如果我犯了一个基本错误,我深表歉意。谁能告诉我哪里出错了?谢谢。

0 投票
1 回答
585 浏览

gstat - Automap 包:负值和变异函数拟合

两天前,我开始使用 automap 包进行自动变异函数建模并尝试使用它(手动操作很乏味,并且没有太多优势......虽然我觉得很奇怪 automap 似乎真的很喜欢 Matérn 函数用于对变异函数进行建模)。我想到的是数据集中存在负值,而该包生成的地图上未显示负值。

这是我刚刚粘在一起的一个数字:Nr。1 是使用 autoFitVariogram 和 autoKrige 后的输出。它似乎没有负值。由于我不喜欢图形输出,我使用 gstat 执行了普通克里金法,它使用来自 autoFitVariogram(来自 automap)(Nr. 2)的变异函数,它清楚地显示了负降水区域。我将 autoKrige 生成的地图导出到 QGIS 并仔细检查,还有很多负值(Nr. 3;黑色区域)。

在此处输入图像描述

所以我的问题:

1.) 由 autoKrige 生成的克里金预测图显然会生成遵循“if var.pred < 0 then 0”等方案的地图。我可以看到这对于生成这样的地图很有用,但是这对实际数据有什么意义呢?我想使用我的数据集进行进一步分析,而负降雨量值似乎有点……不现实。将这种“如果 var.pred < 0 则 0”方案也应用于数据是否在数学上是合理的,如果这会使它在物理上合理吗?

2.) 您可以使用广义最小二乘法 (GLS) 作为 automap 包中的自变量来确定变异函数参数。但是,我想使用 gstat ( fit.variogram.reml ) 的 REML 拟合。我尝试variogram$var_model用我的 REML 估计值代替(这也产生了我修改过的变异函数),但是当使用 autoKrige 执行克里金法时,会再次使用原始变异函数模型。除了软件包提供的方法之外,还有其他方法可以拟合模型吗?(autoKrige 手册中有一个参数“data_variogram”,但这似乎有别的作用)。

谢谢!

0 投票
3 回答
712 浏览

r - 在 R 中使用 gstat 或 automap 包时重复数据

我正在尝试使用普通克里金法使用 R 中的 gstat 或 automap 包根据预测变量在空间上预测动物将出现的数据。我有许多(超过 100 个)重复的坐标点,因为这些站点是采样的,所以我无法丢弃它们多年来多次。每次我为普通克里金运行下面的代码时,我都会收到一个 LDL 错误,这是由于重复点造成的。有谁知道如何在不丢弃数据的情况下解决这个问题?我已经尝试了 automap 包中应该纠正重复项的代码,但我无法让它工作。感谢您的帮助!

0 投票
1 回答
515 浏览

r - R:automap 包中的 Autokrige.cv 函数生成 NaN

我对 R 相当陌生,我正在尝试对从荷兰各地不同站点收集的温度测量值进行插值。我有大约 35 个站点的数据,这些站点每 10 分钟进行一次测量,时间跨度约为两周。因此,我认为最好创建一个循环来处理这个问题。要查看插值技术的效果如何,我想对每个时间戳进行交叉验证。

为了做到这一点,我使用了 automap 包中的 Autokrige 函数,接下来我使用了 automap 包中的 compare.cv 函数,以便获得所有时间戳的最重要统计数据的概览。除此之外,我确保只有在至少 25 个站注册测量时才进行交叉验证。

然而问题是,我的代码如下所述在大多数情况下都有效,但在 4 种情况下会发出以下警告:

当我尝试对包括所有交叉验证的总列表使用 compare.cv 命令时,它给了我以下错误:

我想知道是什么导致 Autokrige 函数在交叉验证中生成 NaN,更重要的是如何从 results.cv 中删除它们以便我可以使用 compare.cv 函数?

谢谢!

0 投票
1 回答
777 浏览

r - 无法正确使用 automap 包中的 autokrige(R 无法很好地读取预测位置)

我正在尝试使用 R 执行从伊比利亚半岛收集的数据的插值频率地图。(类似这样的https://gis.stackexchange.com/questions/147660/strange-spatial-interpolation-results-from-ordinary-kriging

我的问题是,由于 autokrige 函数的属性 new_data 中存在某种错误,该图没有显示插值数据。

https://cran.r-project.org/web/packages/automap/automap.pdf new_data: 包含预测位置的 sp 对象。new_data 可以是点集、网格或多边形。不得包含 NA。如果未提供此对象,则计算默认值。这是通过获取 input_data 的凸包并在该凸包中放置大约 5000 个网格单元来完成的。

我认为问题在于 R 没有很好地读取转换为 poligons 的地图,因为如果我避免使用这个 new_data 属性,我会得到一个 krigging 值的适当图。但我没有获得伊比利亚半岛的良好形状。有人能帮助我吗?我将不胜感激

在这里你可以看到我的数据: http: //pastebin.com/QHjn4qjP

实际代码:现在,由于我将数据坐标转换为 UTM 投影,我没有收到错误消息,但最后一个图没有插值,整个地图显示为一种颜色:(