aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2016-02-20 10:22:32 +1300
committerAnton Tananaev <anton.tananaev@gmail.com>2016-02-20 10:22:32 +1300
commitb71bea3e0503dc9008fa8cc1f4981686fc0ee540 (patch)
treeb1b37bccf736c5199f4fce737a986eb23a9009b7
parent591c6b74e8449f7d35c6c464e96b58f6d621bd6c (diff)
downloadtrackermap-server-b71bea3e0503dc9008fa8cc1f4981686fc0ee540.tar.gz
trackermap-server-b71bea3e0503dc9008fa8cc1f4981686fc0ee540.tar.bz2
trackermap-server-b71bea3e0503dc9008fa8cc1f4981686fc0ee540.zip
Calculate distance for valid positions (fix #1738)
-rw-r--r--src/org/traccar/DistanceHandler.java11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/org/traccar/DistanceHandler.java b/src/org/traccar/DistanceHandler.java
index 1586d116b..c737457f6 100644
--- a/src/org/traccar/DistanceHandler.java
+++ b/src/org/traccar/DistanceHandler.java
@@ -1,5 +1,6 @@
/*
* Copyright 2015 Amila Silva
+ * Copyright 2016 Anton Tananaev (anton.tananaev@gmail.com)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -40,11 +41,13 @@ public class DistanceHandler extends BaseDataHandler {
distance = ((Number) last.getAttributes().get(Event.KEY_DISTANCE)).doubleValue();
}
- distance += DistanceCalculator.distance(
- position.getLatitude(), position.getLongitude(),
- last.getLatitude(), last.getLongitude());
+ if (position.getValid()) {
+ distance += DistanceCalculator.distance(
+ position.getLatitude(), position.getLongitude(),
+ last.getLatitude(), last.getLongitude());
- distance = BigDecimal.valueOf(distance).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
+ distance = BigDecimal.valueOf(distance).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
+ }
}
position.set(Event.KEY_DISTANCE, distance);