【问题标题】:Convert lat/long coordinates to Cardinal directions将纬度/经度坐标转换为基本方向
【发布时间】:2020-11-25 15:02:06
【问题描述】:

是否有一个明显的数学公式可以将纬度/经度坐标转换为基本方向(北、南、东、西)?

【问题讨论】:

  • 嗯。坐标是一个点。方向是.. 一个方向(一个单一的向量)。你的意思是:从一个固定点,有一个坐标,这个点是哪个方向?要获得好的答案:第二个点是否在附近,或者您想处理特殊情况(半个地球之外)?
  • 我可能没有完全理解这个概念。但我很想将 lat/long 转换为 N/S/E/W 位置以获取更多数据。
  • 草图和示例(带有实数,以便我们了解您的预期输入和输出)可能有助于理解您的要求。

标签: gps coordinates


【解决方案1】:

我想你会发现这个将 lat long 转换为包含基本方向的示例非常有趣:

#这里是来自 Luciano Ramalho 的代码 sn-p - Pythonic Objects:Python 中的惯用 OOP - #PyCon 2019

def __str__(self): ns =”NS”[self.lat <0} #boolean expression using 0 or 1, and 1 means S we =”EW”[self.long <0] return f”{abs(self.lat):.1f}{ns},{abs(self.long):.1f}{we}”

#视频链接在这里 #https://youtu.be/mUu_4k6a5-I?t=2445

所以诀窍是使用布尔值,因为它们继承自 in 类,因此您的字符串“NS”将因为布尔值而产生 0 位置或第 1 位置。然后return取绝对值并将基本方向作为后缀。来自 Ramalho 先生的非常酷的想法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-23
    • 1970-01-01
    • 1970-01-01
    • 2013-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多