Noise correction in multiple geographic sensors

Given a list of geocoded locations with an unknown error value and a database with less noisy public corrections closer to the true location (most of which are reliable), how should I develop an algorithm so that, taking into account all the corrections, the true location is most accurate?

Both stationary coordinates and sensor readings are noisy, so it looks like a geographic recording problem. This reminds me of a known problem with several noisy sensors, where you simulate noise and calculate the most probable value, but I don’t remember the solution.

All coordinates are saved as the type geography::POINT in SQL Server 2008, so an effective solution for this platform would be most useful.


Clarification: The coordinates are not temporary. Each reading comes from a unique sensor without repeated measurements.

+6
source share
1 answer

At the same time, I'm not sure how to implement this in SQL Server 2008, a good algorithm could be http://en.wikipedia.org/wiki/Kalman_filter (see http://www.developerstation.org/2011/09/ kalman-filter-for-dummies-tutorials.html ).

For implementation, it would be useful to use a spatial index from SQL Server - see, for example, http://blogs.msdn.com/b/isaac/archive/2007/05/16/sql-server-spatial-support-an-introduction .aspx

Another interesting resource that supports spatial support for SQL Server is http://www.jasonfollas.com/blog/archive/2008/03/14/sql-server-2008-spatial-data-part-1.aspx

Although in C there is some application of the Kalman filter, see http://interactive-matter.eu/2009/12/filtering-sensor-data-with-a-kalman-filter/

EDIT - as per the comment:

Depending on the requirements, it would be more reasonable to use a modified version of Kalman filtering, which takes into account not only white noise, but also takes into account time-correlated errors - see, for example, http://hss.ulb.uni-bonn.de/2011/2605 /2605.pdf

EDIT 2 - after clarification from the OP:

There is nothing in your scenario to somehow β€œguess” the error, except for a less noisy public location ... you could use any statistical algorithm that matches the noise ... you could even choose 3 or 5 nearest coordinates (see link regarding spatial support) and correct your measurements, for example, like a magnetic stick ... another option is to apply error correction by weighing differences like triangulation, etc.

EDIT 3 - after a comment from OP:

One such algorithm is the minimal triangulation of point sets ... see http://en.wikipedia.org/wiki/Minimum-weight_triangulation and http://code.google.com/p/minimum-weight-triangulator/

+2
source

Source: https://habr.com/ru/post/896659/


All Articles