From 38c285dc91f0960e3a4bd5804d42c7dd293fc7d3 Mon Sep 17 00:00:00 2001 From: Abyss777 Date: Mon, 24 Oct 2016 15:54:49 +0500 Subject: Add maximum coordinates error to CoordinatesHandler --- src/org/traccar/CoordinatesHandler.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/org') diff --git a/src/org/traccar/CoordinatesHandler.java b/src/org/traccar/CoordinatesHandler.java index 2dcb3c632..7d1c43284 100644 --- a/src/org/traccar/CoordinatesHandler.java +++ b/src/org/traccar/CoordinatesHandler.java @@ -20,11 +20,13 @@ import org.traccar.model.Position; public class CoordinatesHandler extends BaseDataHandler { - private final int coordinatesError; + private final int coordinatesMinError; + private final int coordinatesMaxError; public CoordinatesHandler() { Config config = Context.getConfig(); - coordinatesError = config.getInteger("coordinates.error", 50); + coordinatesMinError = config.getInteger("coordinates.minError", 50); + coordinatesMaxError = config.getInteger("coordinates.maxError", 1000000); } private Position getLastPosition(long deviceId) { @@ -40,7 +42,7 @@ public class CoordinatesHandler extends BaseDataHandler { if (last != null) { double distance = DistanceCalculator.distance( position.getLatitude(), position.getLongitude(), last.getLatitude(), last.getLongitude()); - if (distance < coordinatesError) { + if (distance < coordinatesMinError || distance > coordinatesMaxError) { position.setLatitude(last.getLatitude()); position.setLongitude(last.getLongitude()); } -- cgit v1.2.3