aboutsummaryrefslogtreecommitdiff
path: root/src/org
diff options
context:
space:
mode:
Diffstat (limited to 'src/org')
-rw-r--r--src/org/traccar/FilterHandler.java4
-rw-r--r--src/org/traccar/protocol/WondexProtocolDecoder.java6
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());