3

I am using MyTracks GPS app (available on Google play store) installed on my smart-phone to track my movement. The record contains time order spatio-temporal points in the format of (X,Y,T) where X= longitude, Y= latitude and T= timestamp.
I set the accuracy level to be 10 m. But after tracking my travel I can see there are lots of GPS points which are unreasonable and may be due to multipath or some other issues.

Can anybody advise me how can i get rid of these errors?

Please note- I don't have any known coordinate in the entire record so there is no question of assessing of error estiamtion and error propagation. I have decided to use a Gaussian filter for this. But when I started developing the kernel I got stuck as I am dealing with two variables X,Y.

My question is, how can I address this issue? Do I need a bivariate gaussian kernel?
If yes, then whether lat and long are correlated to each other?

The last question (whether lat , long are correlated to each other) is really intriguing and I searched a lot but could not find the proper answer. Pls advise.

AlexWien
  • 28,470
  • 6
  • 53
  • 83
user26161
  • 131
  • 1
  • 1
  • 7
  • a graphical display of the track helps to identify the cause of the bad locations. ask yourself for that locations: Was the view to sky unobstructed? Was I moving or standing still? – AlexWien Jul 22 '14 at 10:06
  • The question is how to define the bivariate gaussian filter. Not the reasons why the GPS errors crept in. As I mentioned the error is mostly contributed by urban canyons (multipath). I have more than 100 tracks in my database and a mere visual inspection (and perhaps filtration) won't work. I need to develop a filter which can reduce the random error to some extent across all the tracks. – user26161 Jul 22 '14 at 10:50
  • OK, if they were caused by standing still which usually causes heavy distortions it would be easier to solve. Why do you thimk that a gaussian filter is the right way to solve that issues? – AlexWien Jul 22 '14 at 11:12
  • I am not very sure. But since Gaussian can incorporate all the points based on their weight, so I am thinking to use it. But any other suggestion is also welcome. – user26161 Jul 22 '14 at 11:23
  • But There are different circumstances such as moving in a train, tram, walking, standing still etc etc where the reading went wrong. I need to develop an automated process to handle this problem. I cannot inspect all the tracks and most importantly I may have some unknown tracks (unknown in the sense- the activity and travel mode are not known) collected by other users with the same receiver settings. I came up with Axhaussen's paper where he mentioned Gaussian filter. But it was not clear how he defined the kernel with two variables (X and Y). – user26161 Jul 22 '14 at 11:23
  • by the way you cannot say standing still will always create heavy distortions. It depends on several factors. From systematic error perspective it depends on how strong the signal reception is., how many satellites are in view and their geometry. From random error perspective you have atmospheric effect, receiver antenna phase centre and so on. So, the distortion can take place anytime at any modal state (as in standing still, moving in a car/train whatever). This also depends on where the phone was kept (that affects the signal reception) – user26161 Jul 22 '14 at 11:28
  • I have now read the first part of Axhaussen's paper: He used that filtering because he had to use locations with reduced attributes (lat,lon and time). Usually you also have hdop (or in android location.horicontalAcccEstim). In your case you have more info: horrAcc, speed and course. So the gaussian apporach my not be the best in your case. Look at horrAcc, there will be a dependency of very bad location and high horrAcc value. Axhausen states that in his paper too. (PDOP) – AlexWien Jul 22 '14 at 12:02
  • I don't have any other info except X, Y , T. and I don't know which paper you went through. Let me find the link. I will forward you. – user26161 Jul 22 '14 at 12:16
  • Thanks here my link: http://e-collection.library.ethz.ch/eserv/eth:30636/eth-30636-01.pdf Ok I see with lat,lon and T this is a very poor data set, this is not sufficient to decide for "good" or "bad" location. – AlexWien Jul 22 '14 at 12:17
  • First of all, in this paper, Axhausen didn't use PDOP or hor acc value. If you read the paper carefully, you can find on page 3 (on pdf) under data cleaning and smoothing section 4th para, Axahusen mentioned he didn't have access to PDOP and other error measures. He also mentioned why Gaussian is a good choice. Read the paper carefully. Another thing, I would like to mention, it is a smart-phone, not a dedicated stand alone GPS device. So, you cannot expect all the attributes in your log. and here the challenge is to bridge the semantic gap between the raw trajectory and travel behaviour – user26161 Jul 22 '14 at 12:52
  • That is what i meant, He had no access to pdop so he was forced to use another technic. Cite. "Previous studies ( e.g. 20, 9) showed that the number of satellites in view and the PDOP value are fairly efficient measures to determine systematic errors. Unfortunately, they are not acces- sible here" Ad smartphone: The limittaion is not the smartphone, it is the application. The smartphone has horrrAccuracyEstimate, only the app developpers decied to not output it. horrAccEstimate may include the effects of multipath propagation errors, while hdop and pdop does not. – AlexWien Jul 22 '14 at 15:15
  • But you are in the same sitaution than Axhjausen, so this paper fits well. – AlexWien Jul 22 '14 at 15:18
  • There's a very nice discussion about this subject on following thread [Smooth GPS Data](http://stackoverflow.com/questions/1134579/smooth-gps-data). Kalman filter seems to be the best option but you also find some scientific suggestions at [GIS Stackexchange](http://gis.stackexchange.com/questions/19683/what-algorithm-should-i-use-to-remove-outliers-in-trace-data) – Marcio Jasinski Oct 31 '15 at 01:38

1 Answers1

0

As I have understood the article of Schuessler & Axhausen, they smoothed x, y (and z) independently:
Cite of Processing GPS Raw Data Without Additional Information:

For each coordinate dimension c from x;y;z the smoothed value is individually calculated as ...

Just apply the gaussian kernel to x and then to y. With an graphical output, e.g kml file you immediatley see if that works.

To the question: Whether lat , long are correlated to each other:

Try it out, open an excel table and pass in the x and y and let Excel calculate the correlation coeeficient.

I expect that while moving lat and long are more or less correlated - especially when moving straight without turn. But when standig still, and don't using an stand still filter, random signal delay errors caused by ionospheric wheather, will cause a smaller correlation. (fixes are jumping arround at android, while at ios an stand still filter is applied by apple)

A general adivse to specific filtering technics:
be warned, they developped an filter for their task, (detecting whether a person is walking, cycling), this might or might not be usefull for your task (I don't know what you need the filtering for)

AlexWien
  • 28,470
  • 6
  • 53
  • 83