aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/FilterHandler.java
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2017-06-20 22:37:50 +1200
committerGitHub <noreply@github.com>2017-06-20 22:37:50 +1200
commit98ba0e282a64ecddb7bb8f1b2075b5bab0ef3eac (patch)
tree825c03638ad5f3fb73016035c35c97523edc8784 /src/org/traccar/FilterHandler.java
parent6f569b6d62b110c2679772c4a56122db6a614ed9 (diff)
parent9129b6f4eb6ab58a83107e47c888bb4a3bbf0f90 (diff)
downloadtraccar-server-98ba0e282a64ecddb7bb8f1b2075b5bab0ef3eac.tar.gz
traccar-server-98ba0e282a64ecddb7bb8f1b2075b5bab0ef3eac.tar.bz2
traccar-server-98ba0e282a64ecddb7bb8f1b2075b5bab0ef3eac.zip
Merge pull request #3269 from Abyss777/distance_optimization
Distance calculation optimization
Diffstat (limited to 'src/org/traccar/FilterHandler.java')
-rw-r--r--src/org/traccar/FilterHandler.java10
1 files changed, 2 insertions, 8 deletions
diff --git a/src/org/traccar/FilterHandler.java b/src/org/traccar/FilterHandler.java
index f2a80a98f..973dfc205 100644
--- a/src/org/traccar/FilterHandler.java
+++ b/src/org/traccar/FilterHandler.java
@@ -15,7 +15,6 @@
*/
package org.traccar;
-import org.traccar.helper.DistanceCalculator;
import org.traccar.helper.Log;
import org.traccar.helper.UnitsConverter;
import org.traccar.model.Position;
@@ -111,19 +110,14 @@ public class FilterHandler extends BaseDataHandler {
private boolean filterDistance(Position position, Position last) {
if (filterDistance != 0 && last != null) {
- double distance = DistanceCalculator.distance(
- position.getLatitude(), position.getLongitude(),
- last.getLatitude(), last.getLongitude());
- return distance < filterDistance;
+ return position.getDouble(Position.KEY_DISTANCE) < filterDistance;
}
return false;
}
private boolean filterMaxSpeed(Position position, Position last) {
if (filterMaxSpeed != 0 && last != null) {
- double distance = DistanceCalculator.distance(
- position.getLatitude(), position.getLongitude(),
- last.getLatitude(), last.getLongitude());
+ double distance = position.getDouble(Position.KEY_DISTANCE);
long time = position.getFixTime().getTime() - last.getFixTime().getTime();
return UnitsConverter.knotsFromMps(distance / time) > filterMaxSpeed;
}