aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/org/traccar/geofence/GeofencePolyline.java2
-rw-r--r--src/org/traccar/helper/DistanceCalculator.java2
-rw-r--r--test/org/traccar/geofence/GeofencePolylineTest.java25
-rw-r--r--test/org/traccar/helper/DistanceCalculatorTest.java6
4 files changed, 14 insertions, 21 deletions
diff --git a/src/org/traccar/geofence/GeofencePolyline.java b/src/org/traccar/geofence/GeofencePolyline.java
index e99987207..cadc69da6 100644
--- a/src/org/traccar/geofence/GeofencePolyline.java
+++ b/src/org/traccar/geofence/GeofencePolyline.java
@@ -38,7 +38,7 @@ public class GeofencePolyline extends GeofenceGeometry {
public boolean containsPoint(double latitude, double longitude) {
double longitude360 = longitude + Coordinate.DEGREE360;
for (int i = 1; i < coordinates.size(); i++) {
- if (DistanceCalculator.distanceToInterval(
+ if (DistanceCalculator.distanceToLine(
latitude, longitude360, coordinates.get(i - 1).getLat(), coordinates.get(i - 1).getLon360(),
coordinates.get(i).getLat(), coordinates.get(i).getLon360()) <= distance) {
return true;
diff --git a/src/org/traccar/helper/DistanceCalculator.java b/src/org/traccar/helper/DistanceCalculator.java
index 873e84977..88d4ef8a4 100644
--- a/src/org/traccar/helper/DistanceCalculator.java
+++ b/src/org/traccar/helper/DistanceCalculator.java
@@ -34,7 +34,7 @@ public final class DistanceCalculator {
return d * 1000;
}
- public static double distanceToInterval(
+ public static double distanceToLine(
double pointLat, double pointLon, double lat1, double lon1, double lat2, double lon2) {
double d0 = distance(pointLat, pointLon, lat1, lon1);
double d1 = distance(lat1, lon1, lat2, lon2);
diff --git a/test/org/traccar/geofence/GeofencePolylineTest.java b/test/org/traccar/geofence/GeofencePolylineTest.java
index df939d8ba..e281c3dd6 100644
--- a/test/org/traccar/geofence/GeofencePolylineTest.java
+++ b/test/org/traccar/geofence/GeofencePolylineTest.java
@@ -12,7 +12,7 @@ public class GeofencePolylineTest {
String test = "LINESTRING (55.75474 37.61823, 55.75513 37.61888, 55.7535 37.6222, 55.75315 37.62165)";
GeofenceGeometry geofenceGeometry = new GeofencePolyline();
try {
- geofenceGeometry.fromWkt(test);
+ geofenceGeometry.fromWkt(test);
} catch (ParseException e){
Assert.assertTrue("ParseExceprion: " + e.getMessage(), true);
}
@@ -22,33 +22,26 @@ public class GeofencePolylineTest {
@Test
public void testContainsPolyline1Interval() {
String test = "LINESTRING (56.83777 60.59833, 56.83766 60.5968)";
-
try {
- GeofenceGeometry geofenceGeometry = new GeofencePolyline(test, 35);
- Assert.assertTrue(geofenceGeometry.containsPoint(56.83801, 60.59748));
-
- ((GeofencePolyline) geofenceGeometry).setDistance(15);
- Assert.assertTrue(!geofenceGeometry.containsPoint(56.83801, 60.59748));
-
+ GeofenceGeometry geofenceGeometry = new GeofencePolyline(test, 35);
+ Assert.assertTrue(geofenceGeometry.containsPoint(56.83801, 60.59748));
+ ((GeofencePolyline) geofenceGeometry).setDistance(15);
+ Assert.assertTrue(!geofenceGeometry.containsPoint(56.83801, 60.59748));
} catch (ParseException e){
Assert.assertTrue("ParseExceprion: " + e.getMessage(), true);
}
}
-
@Test
public void testContainsPolyline3Intervals() {
String test = "LINESTRING (56.836 60.6126, 56.8393 60.6114, 56.83887 60.60811, 56.83782 60.5988)";
-
try {
- GeofenceGeometry geofenceGeometry = new GeofencePolyline(test, 15);
- Assert.assertTrue(geofenceGeometry.containsPoint(56.83847, 60.60458));
- Assert.assertTrue(!geofenceGeometry.containsPoint(56.83764, 60.59725));
- Assert.assertTrue(!geofenceGeometry.containsPoint(56.83861, 60.60822));
-
+ GeofenceGeometry geofenceGeometry = new GeofencePolyline(test, 15);
+ Assert.assertTrue(geofenceGeometry.containsPoint(56.83847, 60.60458));
+ Assert.assertTrue(!geofenceGeometry.containsPoint(56.83764, 60.59725));
+ Assert.assertTrue(!geofenceGeometry.containsPoint(56.83861, 60.60822));
} catch (ParseException e){
Assert.assertTrue("ParseExceprion: " + e.getMessage(), true);
}
}
-
}
diff --git a/test/org/traccar/helper/DistanceCalculatorTest.java b/test/org/traccar/helper/DistanceCalculatorTest.java
index 2ce54c583..22e41c9a3 100644
--- a/test/org/traccar/helper/DistanceCalculatorTest.java
+++ b/test/org/traccar/helper/DistanceCalculatorTest.java
@@ -12,11 +12,11 @@ public class DistanceCalculatorTest {
}
@Test
- public void testDistanceToInterval() {
- Assert.assertEquals(DistanceCalculator.distanceToInterval(
+ public void testDistanceToLine() {
+ Assert.assertEquals(DistanceCalculator.distanceToLine(
56.83801, 60.59748, 56.83777, 60.59833, 56.83766, 60.5968), 33.0, 5.0);
- Assert.assertEquals(DistanceCalculator.distanceToInterval(
+ Assert.assertEquals(DistanceCalculator.distanceToLine(
56.83753, 60.59508, 56.83777, 60.59833, 56.83766, 60.5968), 105.0, 5.0);
}