python - 计算 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
解决方案
您似乎颠倒了计算:您需要 180 分割的每一侧的最低绝对值:取正值的最小值 179.85 和负值的最大值 -179.90。现在做数学:
neg_dist = neg_max + 180
pos_dist = 180 - pos_min
final = neg_dist + pos_dist
你能从那里完成吗?
推荐阅读
- java - 我的片段不会同时创建
- java - 比较 JSP 中两个列表的元素并根据比较隐藏字段
- javascript - 如何在传递控制器名称和操作方法时使用 javascript 提交 mvc 表单
- javascript - 删除复制对象的孙子对象会将其从原始对象中删除
- python - Python多线程在另一个线程中使用来自一个线程的数据
- ios - 按下单元格内的按钮时如何扩展单元格?
- python - 尝试在 ubuntu 中的 jenkins 上运行 python 代码
- java - Tomcat:当连接数超过线程数时会发生什么?
- java - 如何比较来自firebase的一组时间戳?
- android - 在 Kotlin 中组合协程上下文的目的是什么?