问题标签 [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.
r - R:变异函数拟合不佳,克里金结果不佳
我尝试在雅加达湾进行克里金法。我有一组具有适当坐标和属性(pH、盐度、...)的测量点
为了进行克里金法,我首先需要为我的变异函数找到一个模型。当我使用“变异函数”函数时,输出并不完美,但应该没问题,但是当我尝试拟合变异函数时,我收到一条警告消息:In fit.variogram(ph.vgm, model = vgm(0.12, " Sph", 0.1, 0.01)) :警告:变异函数拟合中的奇异模型,我有一个奇异模型。
在这里,我阅读了与变异函数计算相关的奇异模型。我可以做点什么让它变得更好吗?
我怎样才能更好地拟合我的变异函数?为什么我只能在测量点周围获得小圆圈?我想拥有带有预测值的完整地图。
我还尝试了更不灵活的“automap”库,我没有获得好的结果。
r - interpolate missing lat, lon in dataframe with multiple trips per individual
I have the following dataframe (df) and would like to interpolate Lat, Lon coordinates at an equidistant interval (e.g. every 250 m) or time interval (e.g. every 2 min).
I tried to do this using R package zoo and the following code I found in a similar question posted:
However, as my dataframe includes multiple trips (df$trip) of multiple individuals (df$ID), I get the following error message:
How can I run above code (in a loop?) accounting for individual trips?
algorithm - 寻找固定位置之间代理最佳二维间距的算法
我正在设计一个程序,其中N个代理中的每一个都被分配一个值K。有N个固定位置,每个位置都有坐标 ( x , y ),每个位置分配一个代理。
我可以使用什么算法在位置之间分配所有代理,以使具有最高K值的代理之间的线性距离最大化?(特别是在K值最高的五分之一的代理之间。)
如果重要的话,N可能会落在 10-30 的范围内。
python - 如何屏蔽 scipy.interpolate.RectBivariateSpline 中的数据
我有一些曲线网格数据,我正在尝试将这些数据插入到新网格中。数据对于掩码数据具有不切实际的高变量,因此我尝试使用以下方法进行掩码:
如果我这样做,那么:
但是,当我运行时:
我最终再次得到了不切实际的高掩码值:
scipy.interpolate
显然是不接受我的面具。有谁知道如何设置掩码scipy.interpolate
或知道任何解决方法?谢谢。
python - 根据每个点的最近邻距离在最佳网格上插入非结构化 X、Y、Z 数据
这个问题是在我使用的显示最终解决方案的答案之后编辑的
我有来自不同来源的非结构化 2D 数据集,例如: 这些数据集是 3 个 numpy.ndarray(X、Y 坐标和 Z 值)。
我的最终目标是在网格上插入这些数据以转换为图像/矩阵。所以,我需要找到插入这些数据的“最佳网格”。而且,为此,我需要在该网格的像素之间找到最佳的 X 和 Y 步长。
根据点之间的欧几里德距离确定步长:
使用每个点与其最近邻点之间的欧几里得距离的平均值。
- 使用
KDTree
/cKDTree
来自 scipy.spacial 构建 X、Y 数据树。 - 使用for
query
方法k=2
获取距离(如果k=1
,距离仅为零,因为对每个点的查询都找到了自己)。
性能调整:
- 使用
scipy.spatial.cKDTree
而不是scipy.spatial.KDTree
因为它真的更快。 balanced_tree=False
与 一起使用scipy.spatial.cKDTree
:在我的情况下可以大大加快速度,但可能并非对所有数据都适用。- 使用
n_jobs=-1
withcKDTree.query
用于使用多线程。 - 使用
p=1
withcKDTree.query
for use 曼哈顿距离代替欧几里得距离 (p=2
):更快但可能不太准确。 - 仅查询点的随机子样本的距离:使用大型数据集可大大加快速度,但可能不太准确且可重复性较差。
在网格上插入点:
使用计算的步骤在网格上插入数据集点。
如果像素离初始点太远,则设置 NaN:
将 NaN 设置为与初始 X、Y、Z 数据中的点相距太远(距离 > 步长)的网格像素。使用之前生成的 KDTree。
image-processing - 当 Φ 为零且 θ 不确定时,笛卡尔到球坐标转换的具体情况,相位展开
以下是球坐标到笛卡尔坐标的转换
我们正在使用反向计算从定义为的笛卡尔坐标计算球坐标
当 Y 和 X 为零时会出现问题,因此 θ 可以取任意值,因此在 Matlab 计算期间,这会导致 NAN(不是数字),这会使 θ 不连续。是否有任何插值技术来消除这种不连续性以及在这种情况下如何解释 θ。
θ 是不同点的矩阵,它给出了以下结果,它具有代表不连续性的跳跃和黑色补丁,而我需要生成具有平滑变化的以下图像。请查看获得的 theta 并通过单击链接更正 theta 变化并提出一些更改建议。 Discontinuous_Theta_variation 正确的 Theta 变化
r - 在 R 中使用 gstat 或 automap 包时重复数据
我正在尝试使用普通克里金法使用 R 中的 gstat 或 automap 包根据预测变量在空间上预测动物将出现的数据。我有许多(超过 100 个)重复的坐标点,因为这些站点是采样的,所以我无法丢弃它们多年来多次。每次我为普通克里金运行下面的代码时,我都会收到一个 LDL 错误,这是由于重复点造成的。有谁知道如何在不丢弃数据的情况下解决这个问题?我已经尝试了 automap 包中应该纠正重复项的代码,但我无法让它工作。感谢您的帮助!
r - R:automap 包中的 Autokrige.cv 函数生成 NaN
我对 R 相当陌生,我正在尝试对从荷兰各地不同站点收集的温度测量值进行插值。我有大约 35 个站点的数据,这些站点每 10 分钟进行一次测量,时间跨度约为两周。因此,我认为最好创建一个循环来处理这个问题。要查看插值技术的效果如何,我想对每个时间戳进行交叉验证。
为了做到这一点,我使用了 automap 包中的 Autokrige 函数,接下来我使用了 automap 包中的 compare.cv 函数,以便获得所有时间戳的最重要统计数据的概览。除此之外,我确保只有在至少 25 个站注册测量时才进行交叉验证。
然而问题是,我的代码如下所述在大多数情况下都有效,但在 4 种情况下会发出以下警告:
当我尝试对包括所有交叉验证的总列表使用 compare.cv 命令时,它给了我以下错误:
我想知道是什么导致 Autokrige 函数在交叉验证中生成 NaN,更重要的是如何从 results.cv 中删除它们以便我可以使用 compare.cv 函数?
谢谢!
python - 使用 Copula 进行空间插值
我想知道是否有人知道在 Python 中使用 Copulas 进行空间插值的库。我已经尝试了copulalib
and 因此ambhas
,但它们都不适合空间插值。可以在此处找到对该问题的参考。
问候,
python - python中时间序列的二维网格插值
我正在处理来自 netCDF 文件的气候数据。来自不同模型的数据具有不同的分辨率——因此,有必要将模型“重新网格化”为通用网格分辨率。数据是 3-D(时间、纬度、经度)。为了重新网格化,我在每个时间步将旧网格线性插入到新网格上。
我正在寻找一种方法来提高循环每个时间步的过程效率,因为scipy.interpolate.interp2d
一次只能处理两个维度。
有没有什么方法可以有效地在时间序列的两个维度上进行线性重新网格/插值,而无需执行for
循环(如下所示)?
*注意:我使用 numpy memmaps 将文件写入磁盘和从磁盘写入文件,因为它们通常太大而无法在内存中处理,而 xarray DataArrays 则用于处理 netCDF 文件。