我的移动网络应用程序使用navigator.geolocation.watchPosition来跟踪历史徒步旅行的折线和航点。 (客户要求无本地应用程序)
我的第一次测试是在天气恶劣的情况下在车辆中完成的,并且在嵌入式Google地图上实时绘制折线时似乎产生了合理的结果。但是,走路时会产生更多的曲折线。
一些研究表明,我需要过滤检索到的位置,而不是仅计算两点的距离。
建议的过滤器,卡尔曼过滤器,似乎是我头脑中的东西,我想知道是否有可用的JavaScript开源实现,这对我的用例有帮助。
可以使用emscripten编译为JavaScript的Kalman过滤器的开源C / C ++实现也可能有所帮助。
答案 0 :(得分:1)
我发布了一个简单的卡尔曼滤波器,可用于回答这个问题的地理定位数据:Smooth GPS data。它是专为Android设计的,GPS位置读数附带一个名为accuracy
的错误条码,以米为单位。这意味着对于每个GPS位置读数,具有67%概率的真实位置在以指定位置为中心的圆内,并且圆的半径由accuracy
数给出。如果您的情况不同,则需要进行一些工作,如果是这样,我建议您编辑问题以更详细地说明您对卡尔曼滤波器的输入。