菜鸟教程小白 发表于 2022-12-11 20:30:25

android - GPS路线长度估计,考虑到位置的不确定性


                                            <p><p>因此,这是在旅途中(例如运行或骑自行车锻炼)跟踪您的位置的应用中的常见问题。</p>

<p>显然 GPS 导航器的麻烦更少,因为它们可以假设您捕捉到道路上的某个点 - 但是,如果您在公园里运行,捕捉到某个道路网格会给您带来完全疯狂的数字。</p>

<p>据我所知,问题是结合航路点之间的大圆距离,但要考虑到误差(精度值),这样您就不会因为低精度点偏离航线太远.我脑海中的粗略实现包括绘制一些贝塞尔曲线(使用该点的速度/方位来添加样条线方向和重量)并对其进行积分。</p>

<p>但是,显然这是人们以前解决过的问题。任何人都知道这些实现,还是它们都埋在专有软件中?</p>

<p><strong>奖励积分</strong>适用于还可以使用(大部分)不太准确的蜂窝塔点(带有不同/不同步的时间戳,并且没有速度或方位信息)的任何人。</strong> p>

<p>最终的实现将在 javascript 或 python 中,以更快者为准(我使用的是 SL4A),但我在这里寻找通用算法。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>为了让大家开始,这里是简单的算法,不使用任何速度或方位信息。</p>

<p>弧长 <code>s</code> 可以通过标准公式从我们将要开始的路段的两个(长、纬)对(起点和终点航路点)计算出来。</p>

<p>假设我们已将值对转换为标准球坐标 <code>phi</code> 和 <code>theta</code>(此处为数组,因此使用 <code>phi</code>而 <code>phi</code> 对于位置 0 和 1) 以弧度表示,弧长仅为:</p>

<pre><code>from math import sin, cos, arccos, sqrt

s = arccos(
sin(phi) * sin(phi) * cos(theta - theta) +
cos(phi) * cos(phi)
)
</code></pre>

<p>但是,由于我们有一个庞大的可怕函数,我们需要使用链式规则来计算一阶错误,我们会得到以下 <code>delta_s</code> 的怪物:</p>

<pre><code>delta_s = (1.0 / abs(sin(s))) * (
delta_phi * abs(
    sin(phi) * cos(phi) -
    cos(phi) * sin(phi) * cos(theta - theta)
) +
delta_phi * abs(
    sin(phi) * cos(phi) -
    cos(phi) * sin(phi) * cos(theta - theta)
) +
(delta_theta + delta_theta) * abs(
    sin(phi) * sin(phi) * sin(theta - theta)
)
)
</code></pre>

<p>我们按顺序对每一对连续点执行此操作,将<code>s</code>s相加,将误差正交相加:</p>

<pre><code>accumulator = 0.0
for error in errors:
accumulator += error * error

journey_error = sqrt(accumulator)
</code></pre>

<p>因此,我们知道垃圾距离估计的不确定性。 (如果我们在末尾添加几个点,我们甚至可以保留 <code>accumulator</code> 以加快计算速度——就像我们在实践中使用实时数据一样。)</p>

<p>但是,这会给我们带来巨大的错误,并且只会让我们对我们实际走了多远有一个非常模糊的概念。这不可能是实际 GPS 设备估计距离的方式,因为它永远不会足够准确,除非它一直都有惊人的信号:</p>

<p> <img src="/image/ATBH2.png" alt="Rubbish approximation to the path"/> </p>

<p>我们需要的是一些更细微的路径近似,它只会使路径偏离所示类型的不准确点,而不是完全转移它并大量增加距离估计——在提出我希望找到的问题时找出所有现有实现(可能)是如何做到的!</p></p>
                                   
                                                <p style="font-size: 20px;">关于android - GPS路线长度估计,考虑到位置的不确定性,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/8151767/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/8151767/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: android - GPS路线长度估计,考虑到位置的不确定性