diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/org/traccar/FilterHandler.java | 4 | ||||
-rw-r--r-- | src/org/traccar/protocol/WondexProtocolDecoder.java | 6 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/org/traccar/FilterHandler.java b/src/org/traccar/FilterHandler.java index 5e1214aba..f2a80a98f 100644 --- a/src/org/traccar/FilterHandler.java +++ b/src/org/traccar/FilterHandler.java @@ -84,7 +84,9 @@ public class FilterHandler extends BaseDataHandler { } private boolean filterInvalid(Position position) { - return filterInvalid && !position.getValid(); + return filterInvalid && (!position.getValid() + || position.getLatitude() > 90 || position.getLongitude() > 180 + || position.getLatitude() < -90 || position.getLongitude() < -180); } private boolean filterZero(Position position) { diff --git a/src/org/traccar/protocol/WondexProtocolDecoder.java b/src/org/traccar/protocol/WondexProtocolDecoder.java index 8249d2c68..8be5e09b8 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; @@ -106,9 +105,8 @@ public class WondexProtocolDecoder extends BaseProtocolDecoder { position.setCourse(parser.nextDouble(0)); position.setAltitude(parser.nextDouble(0)); - int satellites = parser.nextInt(0); - position.setValid(satellites >= 3); - position.set(Position.KEY_SATELLITES, satellites); + position.setValid(true); + position.set(Position.KEY_SATELLITES, parser.nextInt(0)); position.set(Position.KEY_EVENT, parser.next()); position.set(Position.KEY_BATTERY, parser.nextDouble()); |