【问题标题】:GPS heading in PythonPython中的GPS航向
【发布时间】:2015-04-14 18:38:11
【问题描述】:

我正在使用 Python 进行 GPS 项目,需要一些帮助。我不知道如何让标题部分工作。我希望声明是真实的,标题为例如355 度数 +/- 一点错误。我的问题是绕过360 度数。喜欢

if ((heading – headerror) % 360) <= Gps.heading <= ((heading + headerror) % 360):

如果我使用 355 的标题,错误为 20 并且 gps 读取 4 ,它们都在北方。

335 <= 4 <= 15

如何让它检查它是否在33515 的范围内,实际上是335360015

【问题讨论】:

    标签: python gps heading


    【解决方案1】:

    一个简单的实现:

    def between(head, low, high):
        """Whether the heading head is between headings low and high."""
        head, low, high = map(lambda x: x % 360, (head, low, high))
        if high >= low:
            return low <= head <= high
        return low <= head < 360 or 0 <= head <= high
    

    首先它将所有参数转换为0360之间的标题,然后确定我们处于哪种情况,是否可以进行简单比较,或者需要考虑0/360。在后一种情况下,它会在low 值和360 之间以及0high 值之间进行显式检查。

    使用中:

    >>> between(4, 355-20, 355+20)
    True
    

    你可以重构它来使用它,例如equal(4, 355, 20) 如果你愿意的话。

    【讨论】:

    • 感谢您的帮助!看你做的很简单,我什至可以理解。虽然,我不认为我可以自己解决这个问题。现在只是为了确保它在现场工作,而不仅仅是笔记本电脑。
    猜你喜欢
    • 2013-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-11
    • 2016-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多