首页 > 解决方案 > 计算 Azumith 测量中的位置差异

问题描述

我正在处理熊猫数据框中的方位角和仰角数据。在这个参考系中,测量的方位角指定为 -180 到 180,仰角指定为 0 到 90。我的数据点在 180 度标记附近徘徊,因此有时它也会记录 -180,因为在那个参考框架中,它们彼此相邻。

这是我的数据框

Az      El
-179.90 2.43    
179.85  2.30
179.95  2.33
-179.99 2.40    
179.98  2.63    
-179.92 2.67

我试图找到 az 列中任何值之间的最大距离。如果我寻找最小值和最大值,并找到我会得到的差异,359.97即使真正的最大差异应该是 0.25。

有人知道可行的算法吗?

这是我当前的代码:

def findMaxDistanceInColumn(dataframe,dimension):
    array = dataframe[dimension].to_numpy().astype(np.float)
    min = np.min(array)
    max = np.max(array)
    difference = max-min
    return difference

标签: pythonpandasazimuth

解决方案


您似乎颠倒了计算:您需要 180 分割的每一侧的最低绝对值:取正值的最小值 179.85 和负值的最大值 -179.90。现在做数学:

neg_dist = neg_max + 180
pos_dist = 180 - pos_min
final = neg_dist + pos_dist

你能从那里完成吗?


推荐阅读