首页 > 解决方案 > 如何找到 2D 数组和 3D 矩阵网格中的点之间的最近距离?

问题描述

我有 30 天的经度和纬度数组浮标数据,但是我想找到浮标位置与每天 0% 海冰浓度之间的最近距离。海冰浓度数据是一个 3D 矩阵,但是空间维度是 xy 坐标而不是纬度和经度。我已将所有高于 0% 的浓度转换为 Nan。我现在不确定如何将海冰的最近纬度+经度点定位到浮标轨迹上的每个点。

这是我的冰数据集:

尺寸:(时间:363,x:2528,y:2656)

坐标:

数据变量:

sea_ice_concentration  (time, y, x) float32 dask.array<shape=(363, 2656, 2528), chunksize=(1, 2656, 2528)>

land                   (time, y, x) int8 dask.array<shape=(363, 2656, 2528), chunksize=(1, 2656, 2528)>

标签: python

解决方案


您可以尝试使用Djikstras 最短路径算法。该链接包含 python 中的示例,这可能是您的起点。

然后,您需要将结果(x、y 维度)转换为纬度/经度。


推荐阅读