问题标签 [spatial-interpolation]

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

r - 使用附加栅格(数字高程模型)重新分类 RasterBrick 中的值

我有一个RasterBrick,其中包含每日积雪数据,其值为 1、2 和 3(1= 下雪,2= 无雪,3= 被云遮挡)。

一天的积雪示例:

在此处输入图像描述

现在我希望插入被云遮挡的像素(但仅限于单个 RasterLayer 中云量少于 90% 的情况,否则应为该图层保留原始值)。

对于空间插值,我想使用数字高程模型(相同的研究区域并且已经具有相同的分辨率)分别为RasterBrick 的每个图层提取上下雪线边界。上方的雪线表示所有无云像素都归类为雪的海拔高度。较低的雪线标识了所有无云像素也无雪的高度。

在此处输入图像描述

对于上部雪线,我需要雪覆盖像素的最小高度(值 = 1)。现在,RasterBrick 的 RasterLayer 中高于此最小高程的所有值为 3 的像素都应重新分类为值 1(假设被雪覆盖)。

另一方面,对于较低的雪线,我需要确定无雪像素的最大海拔(值 = 2)。现在,RasterBrick 的 RasterLayer 中高于此最大高程的所有值为 3 的像素都应重新分类为值 2(假设无雪)。

这可能使用R吗?

我试图利用覆盖功能,但我被困在那里。

0 投票
1 回答
292 浏览

python - 在python中将1D数组插入3D数组网格

我有一个包含 81 个数字的 1D 数组,对应于每 2.5 米深度的 81 个温度,我需要将其插入到一个 3D 数组网格中,该网格在 z-dir 中有 100 个点,在 x-dir 中有 6 个点,在 y-中有 599 个点目录 我创建一维值的功能是:

下面是我的网格的横截面 在此处输入图像描述

我不知道我是否清楚我的要求,但如果有人知道一种方法,我将非常感激。

问候,

0 投票
0 回答
145 浏览

python - 使用字典对具有特定结构的熊猫数据帧进行空间插值

假设我有一个如下所示的 pd DataFrame:

假设我有一本字典,其键是邮政编码,其值是附近邮政编码的列表(在它们关键邮政编码的 x 公里内),按它们与关键邮政编码的接近程度排序,最接近的邮政编码首先出现。这本字典看起来像:

我怎样才能有效地插入数据,所以如果对于任何列,所有值都是邮政编码索引中的 NaN,找到该列具有非 NaN 值的最近邮政编码,并使用这些值填写所有邮政编码列的 NaN 值。

对于上述示例 DataFrame 的参考输出如下所示:

请注意邮政编码索引 91111.0 和 96666.0 中的数据以及它们的变化方式。

0 投票
0 回答
113 浏览

r - R-interp:相同的输入和输出坐标(x,y,xo,yo),多个数据值向量(z)。我可以跳过一些步骤吗?

我必须从相同的输入坐标(x,y)到相同的输出坐标(xo,yo)执行多个二维线性插值。每次只有数据值 (z) 发生变化 (z1,z2,z3,...)。

我一直在 R 上使用包 interp。到目前为止,我已经多次调用命令“interp”。像这样:

但是,我怀疑有一种方法可以大大加快我的计算速度。插值过程由多个步骤组成。我认为其中一些只需要执行一次,然后将它们的结果多次用于多个数据向量。

有没有办法做到这一点?

0 投票
1 回答
596 浏览

python-3.x - 将数据插入三角形网格

有很多问题(和答案)可供人们将非结构化数据插入结构化输出。解决方案包括网格或双变量样条。但是我正在寻找相反的情况。如何将结构化数据内插到非结构化(delaulany)三角形(快速)?

我拥有的数据作为 pygmsh 的一部分加载了 meshio。

显示下图海岸线数据。我有新数据要在这个三角形网格上更新。我计划将规则结构化数据的值插入到空间中的相同点,然后更新三角形网格的值。

0 投票
0 回答
378 浏览

python - Python,将 1d 数据投影和插值到 3d 网格(头部表面脑电图功率)

我有一个用于 26 个 EEG 通道的 1d 阵列(EEG 电压),我也有 EEG 通道的 3d 坐标。

现在我想根据通道位置(x、y 和 z)将 1d 数组(数据)投影到 3d 插值表面上。

我的问题是我不知道如何将 1d 向量塑造成反映点的位置和值的 3d 数组,然后对它们进行插值以制作更易解释的图。此外,我还可以在绘制它时使用一些帮助。

我正在使用 > python 3,用于绘图我主要使用 matplotlib。

使用 scipy.interpolate.griddata 进行 2d 插值(最终制作 2d 拓扑图)。

尝试对 data.shape 和坐标进行类似的 3d 插值不会累加。

我知道在这里选择轴上的最小值/最大值也不是正确的做法,但我不确定还能做什么。

我确实想出了如何制作通道的 x、y、z 坐标的 3d 散点图。

我很抱歉不是很精确,但我完全处于黑暗之中......

0 投票
1 回答
75 浏览

r - r - 如何给地图/土地区域着色,给定2个类别的点?

我将在 R中创建与此类似的巴布亚语/南岛语种语言分布图。

为此,我收集了transnewguinea.org南岛语基本词汇数据库中列出的语言的地理参考,以及它们被分类为南岛语或巴布亚语的分类。这些数据可以很容易地在地图上绘制为彩色点:

在上面的代码中,我只是给出了 100 条语言记录的样本。然而,原始数据库要大得多(参见所附图片,其中包含来自所考虑区域的所有语言样本的图):

在此处输入图像描述

但是,我想知道如何根据空间样本分布估计语言组的近似区域,以及如何将这些估计的语言区域绘制为地图上的彩色区域。

任何帮助表示赞赏!提前非常感谢!

0 投票
1 回答
3094 浏览

scikit-learn - 如何在 Python 中使用克里金法对 2D 空间数据进行插值?

我有一个空间二维域,比如 [0,1]×[0,1]。在这个域中,有 6 个点可以观察到一些感兴趣的标量(例如,温度、机械应力、流体密度等)。如何预测未观察点的兴趣数量?换句话说,我如何在 Python 中插入空间数据?

例如,考虑 2D 域(输入)中的点的以下坐标和感兴趣数量的相应观察值(输出)。

X 和 Y 坐标可以通过以下方式提取:

以下脚本创建一个散点图,其中黄色(分别为蓝色)代表高(分别为低)输出值。

6 点的观察

我想使用克里金法预测二维输入域内规则网格上的感兴趣标量。我怎样才能在 Python 中做到这一点?

0 投票
0 回答
325 浏览

python - 在python中使用自然邻居对分散数据进行空间插值

我试图在一个由称为 PbWO4 的闪烁体制成的巨大物体中插入温度。有 10 个称为“卫星”的外部温度传感器,它们仅帮助我参考 4 个点的内部温度。我面临的主要问题是,scipy 的 griddata 方法和https://pypi.org/project/naturalneighbor/的 griddata 方法计算身体所有顶点的温度,加起来可以达到 200 万(200mm *100 毫米*100 毫米)。这个任务必须做很多次,我问自己,这里是否有人有类似的问题,解决方案只在这 4 个点而不是 200 万个点进行插值。你可以在下面看到我的尝试

代码执行如下:为了研究测试用例,我使用了一个边长为 20 毫米的立方体,中心位于

0 投票
0 回答
135 浏览

python - 如何对 GPS 坐标进行样条插值?

我在 csv 文件中有 GPS 坐标,我使用回归模型预测它,只有两列代表赛道的经度和纬度。现在我想把它画在谷歌地图上看看它的样子。

当我这样做时,我注意到曲线并不平滑,这是有道理的,因为我用我的回归模型预测了这些值,并且它们不是直接从 GPS 获取的。

我搜索了如何解决这个问题,我发现通常使用样条插值,但我不知道如何使用它。我在互联网上找到的所有示例都假设我们有 x 是数据,y 是函数,在我的情况下没有函数,我只是将数据提供给模型,它预测那些值就是它。因此,如果我有经度和纬度,是否可以进行某种插值,以便绘制曲线时曲线看起来很平滑?

例子:

假设这些是我的数据

当我绘制这些数据时,它给了我某种图,其中每个点都用直线连接到另一个点,但我想要的是平滑它。仅当我将经度和纬度作为变量而仅此而已时,这是否可行?我会很感激任何帮助