Коррекция шума в показаниях нескольких географических датчиков - PullRequest
6 голосов
/ 05 сентября 2011

Учитывая список геокодированных местоположений с неизвестным значением ошибки и базу данных с менее шумными общедоступными исправлениями ближе к истинному местоположению ( большинство из которых являются надежными), как мне разработать алгоритм, чтобы взять всепоправки, учитываемые для наиболее точного аппроксимации истинного местоположения?

Как стационарные координаты, так и показания датчиков являются шумными, поэтому это похоже на проблему с географической регистрацией.Это напоминает мне об известной проблеме с несколькими шумовыми датчиками, где вы моделируете шум и вычисляете наиболее вероятное значение, но я не помню решение.

Все координаты сохраняются как тип geography::POINT вSQL Server 2008, поэтому наиболее полезным было бы эффективное решение для этой платформы.


Уточнение: Координаты не временные.Каждое показание поступает от уникального датчика без повторных измерений.

1 Ответ

2 голосов
/ 05 сентября 2011

Хотя я не уверен, как реализовать, что в 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

Еще один интересный ресурс пространственной поддержки regargind в 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-data-with-a-kalman-filter /

РЕДАКТИРОВАТЬ - согласно комментарию:

В зависимости от требований может иметь смысл использовать модифицированную версию фильтрации Калмана, которая не только учитывает белый шум, но и учитывает коррелированные по времени ошибки - см., Например, http://hss.ulb.uni -bonn.de / 2011/2605 / 2605.pdf

РЕДАКТИРОВАТЬ 2 - после разъяснения от ОП:

В вашем сценарии нет ничего, чтобы как-то "угадать" ошибку, кроме менее шумного публичного местоположения ... вы могли бы использовать любой статистический алгоритм с учетом шума ... вы могли бы даже выбрать 3 или 5 ближайших координат (см. Ссылку относительно пространственной поддержки) и скорректируйте ваши измерения, например, аналогично магнитной палочке ... другой вариант - применить исправление ошибок, взвешивая различия, подобные триангуляции и т. д.

РЕДАКТИРОВАТЬ 3 - после комментария от OP:

Одним из таких алгоритмов является триангуляция минимального веса для точечных множеств ... см. http://en.wikipedia.org/wiki/Minimum-weight_triangulation и http://code.google.com/p/minimum-weight-triangulator/

...