Closed zven closed 2 years ago
Managed to delete the straight lines when there's a start
.
Identified straight lines when there's no start
point, for example when loses gps signal or flight mode.
mapBounds
issue found.mapBounds
are fixed, but identified the issue when the user travels large distances. The map will show the whole trajectory, making it difficult to identify where the inferences are located within a small area.
mapBounds
could be redefined depending on the last records only and not on the whole trajectory.
Straight lines are only deleted when there's a start
identified. This keeps showing straight lines when there is GPS signal loss, for example when the user uses flight mode or when going through tunnels.
Continuous Logging: Uses a predefined threshold for the time difference between two consecutive points. Also possible having thresholds for speed, acceleration, heading and distance.
Movement Only Logging: Only compares the distance of two consecutive points when the trajectory is being recorded only when the device is moving.
Distance Logging: Compares also the distance between two consecutive points when the trajectory is being recorded depending on the distance. If this distance difference is greater than the defined for the recording, then there is a possible signal loss in that section.
@schrooom, @felixerdy and @jbraese What do you think? All of the solutions that @JuanFFranco has highlighted make assumptions that might not work for us. Distance logging could work but I am almost inclined to stick to the simple way of removing the straight lines between explicit stops and starts.
@schrooom, @felixerdy and @jbraese What do you think? All of the solutions that @JuanFFranco has highlighted make assumptions that might not work for us. Distance logging could work but I am almost inclined to stick to the simple way of removing the straight lines between explicit stops and starts.
I agree with you. We could consider distance logging using a fairly high threshold, which would at least roughly cleanup the trajectory by filtering out "extreme straights" with a negligible risk of false positives. That threshold could e.g. be set to 10km – a distance were we can be fairly sure, that such a straight line does not have any real value to our system.
@schrooom, @felixerdy and @jbraese What do you think? All of the solutions that @JuanFFranco has highlighted make assumptions that might not work for us. Distance logging could work but I am almost inclined to stick to the simple way of removing the straight lines between explicit stops and starts.
I agree with you. We could consider distance logging using a fairly high threshold, which would at least roughly cleanup the trajectory by filtering out "extreme straights" with a negligible risk of false positives. That threshold could e.g. be set to 10km – a distance were we can be fairly sure, that such a straight line does not have any real value to our system.
Agreed as well. I think some large cut-off based on distance can work. I am not sure which value I'd choose though; if the cut-off is too small, we would have many disjointed trajectories which I think would be quite disorienting, potentially more so than some large straight lines during a train journey.
I already tried applying a threshold for this, and found out that 6 km is the maximum for deleting the straight lines from the last screenshot, when certainly I was going through tunnels and on the subway, but faced the trouble that when I was on a highway, there still some gaps on the trajectory in the second screenshot.
But this approach also worked for the example trajectory in Nepal.
At the moment, we simply connect all the points of a trajectory with a straight line, regardless if there was a gap in the recording or not. This can result in rather odd looking trajectory with straight lines over long distances that look as if the user was flying from A to B.
Since we have the information when the tracking is started stored in the database, we can avoid the issue mentioned above.
Some guiding questions:
start
information is stored in the database. Does the model that is displayed on the map already contain this information?