diff options
Diffstat (limited to 'src/org')
-rw-r--r-- | src/org/traccar/FilterHandler.java | 7 | ||||
-rw-r--r-- | src/org/traccar/protocol/WondexProtocolDecoder.java | 3 |
2 files changed, 7 insertions, 3 deletions
diff --git a/src/org/traccar/FilterHandler.java b/src/org/traccar/FilterHandler.java index 5e1214aba..da2562955 100644 --- a/src/org/traccar/FilterHandler.java +++ b/src/org/traccar/FilterHandler.java @@ -84,7 +84,12 @@ public class FilterHandler extends BaseDataHandler { } private boolean filterInvalid(Position position) { - return filterInvalid && !position.getValid(); + if (filterInvalid) { + return !position.getValid() || position.getLatitude() > 90 + || position.getLongitude() > 180 || position.getLatitude() < -90 + || position.getLongitude() < -180; + } + return false; } private boolean filterZero(Position position) { diff --git a/src/org/traccar/protocol/WondexProtocolDecoder.java b/src/org/traccar/protocol/WondexProtocolDecoder.java index 8249d2c68..b1e63e154 100644 --- a/src/org/traccar/protocol/WondexProtocolDecoder.java +++ b/src/org/traccar/protocol/WondexProtocolDecoder.java @@ -78,7 +78,6 @@ public class WondexProtocolDecoder extends BaseProtocolDecoder { position.setProtocol(getProtocolName()); position.setDeviceId(deviceSession.getDeviceId()); getLastLocation(position, new Date()); - position.setValid(false); position.set(Position.KEY_RESULT, buf.toString(StandardCharsets.US_ASCII)); return position; @@ -107,7 +106,7 @@ public class WondexProtocolDecoder extends BaseProtocolDecoder { position.setAltitude(parser.nextDouble(0)); int satellites = parser.nextInt(0); - position.setValid(satellites >= 3); + position.setValid(true); position.set(Position.KEY_SATELLITES, satellites); position.set(Position.KEY_EVENT, parser.next()); |