6

给定具有未知误差值的地理编码位置列表和靠近真实位置的噪声较小的公共更正数据库(其中大部分是可靠的),我应该如何设计一种算法来考虑所有更正以近似真实位置最准确?

静止坐标和传感器读数都有噪声,因此类似于地理签到问题。它让我想起了多个噪声传感器的一个已知问题,您可以在其中对噪声进行建模并计算最可能的值,但我不记得解决方案。

所有坐标都存储为geography::POINTSQL Server 2008 中的类型,因此该平台的有效解决方案将是最有用的。


澄清:坐标不是时间的。每个读数都来自一个独特的传感器,无需重复测量。

4

1 回答 1

2

虽然我不确定如何在 SQL Server 2008 中实现它,但一个好的算法可能是http://en.wikipedia.org/wiki/Kalman_filter(参见http://www.developerstation.org/2011/09/kalman-filter -for-dummies-tutorials.html)。

对于实现,使用 SQL Server 中的空间索引可能会有所帮助 - 参见例如http://blogs.msdn.com/b/isaac/archive/2007/05/16/sql-server-spatial-support-an -introduction.aspx

SQL Server 中另一个关于空间支持的有趣资源是http://www.jasonfollas.com/blog/archive/2008/03/14/sql-server-2008-spatial-data-part-1.aspx

虽然在 C 中卡尔曼滤波器的一些应用见http://interactive-matter.eu/2009/12/filtering-sensor-data-with-a-kalman-filter/

编辑 - 根据评论:

根据要求,使用修改版的卡尔曼滤波可能更有意义,它不仅考虑了白噪声,还考虑了与时间相关的错误 - 例如参见http://hss.ulb.uni-bonn.de/ 2011/2605/2605.pdf

编辑 2 - 在 OP 澄清之后:

在您的场景中,除了噪音较小的公共位置之外,没有什么可以“猜测”错误...您可以使用任何噪声感知统计算法...您甚至可以选择 3 或 5 个最近的坐标(请参阅有关空间支持的链接) 并校正您的测量,例如类似于磁棒...另一种选择是通过加权类似于三角测量等的差异来应用误差校正。

编辑 3 - 来自 OP 的评论后:

一种这样的算法是点集的最小权重三角剖分...见http://en.wikipedia.org/wiki/Minimum-weight_triangulationhttp://code.google.com/p/minimum-weight-triangulator /

于 2011-09-05T19:36:42.450 回答