|
|
|
@ -1150,6 +1150,26 @@ public class TbUtilsTest { |
|
|
|
Assertions.assertTrue(TbUtils.isNaN(Double.NaN)); |
|
|
|
} |
|
|
|
|
|
|
|
@Test |
|
|
|
public void isInsidePolygon() { |
|
|
|
// outside the polygon
|
|
|
|
String perimeter = "[[[50.75581142688204,29.097910166341073],[50.16785158177623,29.35066098977171],[50.164329922384674,29.773743889862114],[50.16785158177623,30.801230932938843],[50.459245308833495,30.92760634465418],[50.486522489629564,30.68548421850448],[50.703612031034005,30.872660513473573]],[[50.606017492632766,29.36165015600782],[50.54317104075835,29.762754723626013],[50.41021974600505,29.455058069014804]]]"; |
|
|
|
Assertions.assertFalse(TbUtils.isInsidePolygon(50.50869555168039, 30.80123093293884, perimeter)); |
|
|
|
// inside the polygon
|
|
|
|
Assertions.assertTrue(TbUtils.isInsidePolygon(50.50520628167696, 30.339685951022016, perimeter)); |
|
|
|
// inside the hole
|
|
|
|
Assertions.assertFalse(TbUtils.isInsidePolygon(50.52265651287081, 29.488025567723156, perimeter)); |
|
|
|
} |
|
|
|
|
|
|
|
@Test |
|
|
|
public void isInsideCircle() { |
|
|
|
// outside the circle
|
|
|
|
String perimeter = "{\"latitude\":50.32254778825905,\"longitude\":28.207787701215757,\"radius\":47477.33130420423}"; |
|
|
|
Assertions.assertFalse(TbUtils.isInsideCircle(50.81490715736681, 28.05943395702824, perimeter)); |
|
|
|
// inside the circle
|
|
|
|
Assertions.assertTrue(TbUtils.isInsideCircle(50.599397971892444, 28.086906872618542, perimeter)); |
|
|
|
} |
|
|
|
|
|
|
|
private static List<Byte> toList(byte[] data) { |
|
|
|
List<Byte> result = new ArrayList<>(data.length); |
|
|
|
for (Byte b : data) { |
|
|
|
|