diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/quadtree/QuadTree.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/quadtree/QuadTree.java
index 83affd8560c..db07e07ee36 100755
--- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/quadtree/QuadTree.java
+++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/quadtree/QuadTree.java
@@ -1,12 +1,35 @@
+// **********************************************************************
+//
+//
+//
+// BBN Technologies
+// 10 Moulton Street
+// Cambridge, MA 02138
+// (617) 873-8000
+//
+// Copyright (C) BBNT Solutions LLC. All rights reserved.
+//
+//
+// **********************************************************************
+//
+// $Source$
+// $RCSfile$
+// $Revision: 184 $
+// $Date: 2008-09-16 16:17:21 +0200 (Tue, 16 Sep 2008) $
+// $Author: axel.uhl $
+//
+// **********************************************************************
+
package com.sap.sailing.domain.common.quadtree;
import java.io.Serializable;
import java.util.Collection;
import java.util.Vector;
+import com.sap.sailing.domain.common.Bounds;
import com.sap.sailing.domain.common.Position;
+import com.sap.sailing.domain.common.impl.BoundsImpl;
import com.sap.sailing.domain.common.impl.DegreePosition;
-import com.sap.sailing.domain.common.quadtree.impl.Bounds;
import com.sap.sailing.domain.common.quadtree.impl.QuadTreeNode;
/**
@@ -25,11 +48,11 @@ public class QuadTree implements Serializable {
private QuadTreeNode top;
public QuadTree() {
- this(new Bounds(new DegreePosition(-90.0, -180.0), new DegreePosition(90.0, 180.0)), 20, QuadTreeNode.NO_MIN_SIZE);
+ this(new BoundsImpl(new DegreePosition(-90.0, -180.0), new DegreePosition(90.0, 180.0)), 20, QuadTreeNode.NO_MIN_SIZE);
}
public QuadTree(Position southWest, Position northEast, int maxItems) {
- this(new Bounds(southWest, northEast), maxItems, QuadTreeNode.NO_MIN_SIZE);
+ this(new BoundsImpl(southWest, northEast), maxItems, QuadTreeNode.NO_MIN_SIZE);
}
public QuadTree(Bounds bounds, int maxItems, double minSize) {
@@ -126,8 +149,8 @@ public class QuadTree implements Serializable {
// where there might be a smudge overlap for very small
// scales.
if (rect.getSouthWest().getLngDeg() > rect.getNorthEast().getLngDeg() || (Math.abs(rect.getSouthWest().getLngDeg() - rect.getNorthEast().getLngDeg()) < .001)) {
- return getTop().get(new Bounds(rect.getSouthWest(), new DegreePosition(rect.getNorthEast().getLatDeg(), 180)),
- getTop().get(new Bounds(new DegreePosition(rect.getSouthWest().getLatDeg(), -180), rect.getNorthEast()), vector));
+ return getTop().get(new BoundsImpl(rect.getSouthWest(), new DegreePosition(rect.getNorthEast().getLatDeg(), 180)),
+ getTop().get(new BoundsImpl(new DegreePosition(rect.getSouthWest().getLatDeg(), -180), rect.getNorthEast()), vector));
} else
return getTop().get(rect, vector);
}
diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/quadtree/impl/Bounds.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/quadtree/impl/Bounds.java
deleted file mode 100644
index 9599f7e5f69..00000000000
--- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/quadtree/impl/Bounds.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.sap.sailing.domain.common.quadtree.impl;
-
-import com.sap.sailing.domain.common.Position;
-
-public class Bounds {
- private final Position southWest;
- private final Position northEast;
-
- public Bounds(Position southWest, Position northEast) {
- this.southWest = southWest;
- this.northEast = northEast;
- }
-
- public Position getSouthWest() {
- return southWest;
- }
-
- public Position getNorthEast() {
- return northEast;
- }
-
- public boolean contains(Position p) {
- return p.getLatDeg() >= getSouthWest().getLatDeg() && p.getLatDeg() <= getNorthEast().getLatDeg() &&
- (getNorthEast().getLngDeg() >= getSouthWest().getLngDeg() && p.getLngDeg() >= getSouthWest().getLngDeg() && p.getLngDeg() <= getNorthEast().getLngDeg() ||
- // cross date line bounds
- getNorthEast().getLngDeg() < getSouthWest().getLngDeg() &&
- (p.getLngDeg() <= 180 && p.getLngDeg() >= getSouthWest().getLngDeg() ||
- p.getLngDeg() >= -180 && p.getLngDeg() <= getNorthEast().getLngDeg()));
- }
-
- public boolean containsBounds(Bounds rect) {
- return this.contains(rect.getSouthWest()) && this.contains(rect.getNorthEast()) ||
- rect.contains(this.getSouthWest()) && rect.contains(this.getNorthEast());
- }
-
-}
diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/quadtree/impl/QuadTreeNode.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/quadtree/impl/QuadTreeNode.java
index ee6229d64a6..19ed664bd3e 100644
--- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/quadtree/impl/QuadTreeNode.java
+++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/quadtree/impl/QuadTreeNode.java
@@ -27,7 +27,9 @@ import java.util.Collection;
import java.util.Iterator;
import java.util.Vector;
+import com.sap.sailing.domain.common.Bounds;
import com.sap.sailing.domain.common.Position;
+import com.sap.sailing.domain.common.impl.BoundsImpl;
import com.sap.sailing.domain.common.impl.DegreePosition;
import com.sap.sailing.domain.common.quadtree.QuadTree;
@@ -121,10 +123,10 @@ public class QuadTreeNode implements Serializable {
double nsHalf = (bounds.getNorthEast().getLatDeg() + bounds.getSouthWest().getLatDeg()) / 2.0;
double ewHalf = (bounds.getNorthEast().getLngDeg() + bounds.getSouthWest().getLngDeg()) / 2.0;
children = new QuadTreeNode[4];
- children[NORTHWEST] = new QuadTreeNode(new Bounds(new DegreePosition(nsHalf, bounds.getSouthWest().getLngDeg()), new DegreePosition(bounds.getNorthEast().getLatDeg(), ewHalf)), maxItems);
- children[NORTHEAST] = new QuadTreeNode(new Bounds(new DegreePosition(nsHalf, ewHalf), bounds.getNorthEast()), maxItems);
- children[SOUTHEAST] = new QuadTreeNode(new Bounds(new DegreePosition(bounds.getSouthWest().getLatDeg(), ewHalf), new DegreePosition(nsHalf, bounds.getNorthEast().getLngDeg())), maxItems);
- children[SOUTHWEST] = new QuadTreeNode(new Bounds(bounds.getSouthWest(), new DegreePosition(nsHalf, ewHalf)), maxItems);
+ children[NORTHWEST] = new QuadTreeNode(new BoundsImpl(new DegreePosition(nsHalf, bounds.getSouthWest().getLngDeg()), new DegreePosition(bounds.getNorthEast().getLatDeg(), ewHalf)), maxItems);
+ children[NORTHEAST] = new QuadTreeNode(new BoundsImpl(new DegreePosition(nsHalf, ewHalf), bounds.getNorthEast()), maxItems);
+ children[SOUTHEAST] = new QuadTreeNode(new BoundsImpl(new DegreePosition(bounds.getSouthWest().getLatDeg(), ewHalf), new DegreePosition(nsHalf, bounds.getNorthEast().getLngDeg())), maxItems);
+ children[SOUTHWEST] = new QuadTreeNode(new BoundsImpl(bounds.getSouthWest(), new DegreePosition(nsHalf, ewHalf)), maxItems);
Vector> temp = new Vector>(items);
items.removeAllElements();
for (Iterator> i=temp.iterator(); i.hasNext(); ) {
@@ -391,13 +393,13 @@ public class QuadTreeNode implements Serializable {
if (children == null) {
for (Iterator> i=items.iterator(); i.hasNext(); ) {
QuadTreeLeaf qtl = i.next();
- if (rect.contains(new DegreePosition(qtl.getPoint().getLatDeg(), qtl.getPoint().getLngDeg()))) {
+ if (rect.contains(qtl.getPoint())) {
vector.add(qtl.getObject());
}
}
} else {
for (int i = 0; i < children.length; i++) {
- if (children[i].bounds.containsBounds(rect)) {
+ if (rect.intersects(children[i].bounds)) {
children[i].get(rect, vector);
}
}
diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/QuadTreeTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/QuadTreeTest.java
index 6ceaee8e313..4bf3b931ada 100755
--- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/QuadTreeTest.java
+++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/QuadTreeTest.java
@@ -2,12 +2,24 @@ package com.sap.sailing.domain.test;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
import org.junit.Test;
import com.sap.sailing.domain.common.Position;
+import com.sap.sailing.domain.common.impl.BoundsImpl;
import com.sap.sailing.domain.common.impl.DegreePosition;
import com.sap.sailing.domain.common.quadtree.QuadTree;
+import com.sap.sailing.domain.test.measurements.Measurement;
+import com.sap.sailing.domain.test.measurements.MeasurementCase;
+import com.sap.sailing.domain.test.measurements.MeasurementXMLFile;
public class QuadTreeTest {
private class GLatLngQuadTree extends QuadTree {
@@ -21,6 +33,1148 @@ public class QuadTreeTest {
super.put(x, x);
}
}
+
+ private DegreePosition p1;
+ private DegreePosition p2;
+ private DegreePosition p3;
+ private GLatLngQuadTree quadtree;
+ private static MeasurementXMLFile performanceReport;
+ private static MeasurementCase performanceReportCase;
+
+ @BeforeClass
+ public static void setUpMeasurement() {
+ performanceReport = new MeasurementXMLFile(QuadTreeTest.class);
+ performanceReportCase = performanceReport.addCase(QuadTreeTest.class.getSimpleName());
+ }
+
+ @Before
+ public void setUp() {
+ quadtree = new GLatLngQuadTree(new DegreePosition(49,
+ 7), new DegreePosition(51, 9), /* maxItems */30);
+ quadtree.put(new DegreePosition(50.88505000000001, 7.995520000000001));
+ quadtree.put(new DegreePosition(50.884930000000004, 7.996440000000001));
+ quadtree.put(new DegreePosition(50.884840000000004, 7.99666));
+ quadtree.put(new DegreePosition(50.8843, 7.997490000000001));
+ quadtree.put(new DegreePosition(50.884240000000005, 7.997730000000001));
+ quadtree.put(new DegreePosition(50.88423, 7.997980000000001));
+ quadtree.put(new DegreePosition(50.8847, 7.999010000000001));
+ quadtree.put(new DegreePosition(50.884600000000006, 7.999130000000001));
+ quadtree.put(new DegreePosition(50.88448, 7.99938));
+ quadtree.put(new DegreePosition(50.88421, 8.00014));
+ quadtree.put(new DegreePosition(50.88382000000001, 8.00174));
+ quadtree.put(new DegreePosition(50.88355000000001, 8.00263));
+ quadtree.put(new DegreePosition(50.883570000000006, 8.00309));
+ quadtree.put(new DegreePosition(50.883700000000005, 8.003530000000001));
+ quadtree.put(new DegreePosition(50.88212000000001, 8.00539));
+ quadtree.put(new DegreePosition(50.881620000000005, 8.006260000000001));
+ quadtree.put(new DegreePosition(50.881080000000004, 8.007610000000001));
+ quadtree.put(new DegreePosition(50.88103, 8.007900000000001));
+ quadtree.put(new DegreePosition(50.88103, 8.009030000000001));
+ quadtree.put(new DegreePosition(50.880880000000005, 8.009640000000001));
+ quadtree.put(new DegreePosition(50.88047, 8.010860000000001));
+ quadtree.put(new DegreePosition(50.880030000000005, 8.012500000000001));
+ quadtree.put(new DegreePosition(50.87866, 8.016810000000001));
+ quadtree.put(new DegreePosition(50.87832, 8.017790000000002));
+ quadtree.put(new DegreePosition(50.878240000000005, 8.01793));
+ quadtree.put(new DegreePosition(50.878150000000005, 8.01795));
+ quadtree.put(new DegreePosition(50.87803, 8.01782));
+ quadtree.put(new DegreePosition(50.87776, 8.01717));
+ quadtree.put(new DegreePosition(50.8774, 8.01654));
+ quadtree.put(new DegreePosition(50.87709, 8.01622));
+ quadtree.put(new DegreePosition(50.87585000000001, 8.013850000000001));
+ quadtree.put(new DegreePosition(50.87538000000001, 8.01304));
+ quadtree.put(new DegreePosition(50.87402, 8.01111));
+ quadtree.put(new DegreePosition(50.87028, 8.003960000000001));
+ quadtree.put(new DegreePosition(50.869670000000006, 8.003160000000001));
+ quadtree.put(new DegreePosition(50.86925, 8.002780000000001));
+ quadtree.put(new DegreePosition(50.86858, 8.00244));
+ quadtree.put(new DegreePosition(50.868, 8.002310000000001));
+ quadtree.put(new DegreePosition(50.86739000000001, 8.00237));
+ quadtree.put(new DegreePosition(50.867070000000005, 8.00248));
+ quadtree.put(new DegreePosition(50.86674000000001, 8.00267));
+ quadtree.put(new DegreePosition(50.865950000000005, 8.00333));
+ quadtree.put(new DegreePosition(50.86545, 8.00398));
+ quadtree.put(new DegreePosition(50.86459000000001, 8.0053));
+ quadtree.put(new DegreePosition(50.86424, 8.00577));
+ quadtree.put(new DegreePosition(50.863870000000006, 8.00618));
+ quadtree.put(new DegreePosition(50.86352, 8.0065));
+ quadtree.put(new DegreePosition(50.862970000000004, 8.006820000000001));
+ quadtree.put(new DegreePosition(50.862370000000006, 8.00703));
+ quadtree.put(new DegreePosition(50.86110000000001, 8.00722));
+ quadtree.put(new DegreePosition(50.86061, 8.00721));
+ quadtree.put(new DegreePosition(50.859860000000005, 8.00711));
+ quadtree.put(new DegreePosition(50.85918, 8.006920000000001));
+ quadtree.put(new DegreePosition(50.85824, 8.006120000000001));
+ quadtree.put(new DegreePosition(50.85784, 8.005640000000001));
+ quadtree.put(new DegreePosition(50.85757, 8.0052));
+ quadtree.put(new DegreePosition(50.85752, 8.00496));
+ quadtree.put(new DegreePosition(50.85752, 8.00463));
+ quadtree.put(new DegreePosition(50.85963, 8.00209));
+ quadtree.put(new DegreePosition(50.86046, 8.0008));
+ quadtree.put(new DegreePosition(50.86081, 8.00008));
+ quadtree.put(new DegreePosition(50.86113, 7.999230000000001));
+ quadtree.put(new DegreePosition(50.86128, 7.998690000000001));
+ quadtree.put(new DegreePosition(50.861430000000006, 7.997870000000001));
+ quadtree.put(new DegreePosition(50.86149, 7.99706));
+ quadtree.put(new DegreePosition(50.86149, 7.996150000000001));
+ quadtree.put(new DegreePosition(50.86144, 7.9955300000000005));
+ quadtree.put(new DegreePosition(50.86130000000001, 7.99476));
+ quadtree.put(new DegreePosition(50.86106, 7.993900000000001));
+ quadtree.put(new DegreePosition(50.860220000000005, 7.991490000000001));
+ quadtree.put(new DegreePosition(50.859970000000004, 7.990360000000001));
+ quadtree.put(new DegreePosition(50.859930000000006, 7.987780000000001));
+ quadtree.put(new DegreePosition(50.859970000000004, 7.98737));
+ quadtree.put(new DegreePosition(50.86059, 7.984820000000001));
+ quadtree.put(new DegreePosition(50.86065000000001, 7.984260000000001));
+ quadtree.put(new DegreePosition(50.860620000000004, 7.98359));
+ quadtree.put(new DegreePosition(50.8605, 7.9831900000000005));
+ quadtree.put(new DegreePosition(50.860310000000005, 7.98284));
+ quadtree.put(new DegreePosition(50.86001, 7.982540000000001));
+ quadtree.put(new DegreePosition(50.85971000000001, 7.982450000000001));
+ quadtree.put(new DegreePosition(50.859410000000004, 7.98251));
+ quadtree.put(new DegreePosition(50.85918, 7.982670000000001));
+ quadtree.put(new DegreePosition(50.85898, 7.98291));
+ quadtree.put(new DegreePosition(50.858790000000006, 7.983370000000001));
+ quadtree.put(new DegreePosition(50.858520000000006, 7.9846));
+ quadtree.put(new DegreePosition(50.8584, 7.98488));
+ quadtree.put(new DegreePosition(50.858140000000006, 7.9851600000000005));
+ quadtree.put(new DegreePosition(50.85756000000001, 7.9855100000000006));
+ quadtree.put(new DegreePosition(50.85616, 7.985920000000001));
+ quadtree.put(new DegreePosition(50.85548000000001, 7.98603));
+ quadtree.put(new DegreePosition(50.85210000000001, 7.9863100000000005));
+ quadtree.put(new DegreePosition(50.850970000000004, 7.98662));
+ quadtree.put(new DegreePosition(50.849230000000006, 7.98739));
+ quadtree.put(new DegreePosition(50.849030000000006, 7.98758));
+ quadtree.put(new DegreePosition(50.84798000000001, 7.988300000000001));
+ quadtree.put(new DegreePosition(50.84763, 7.988600000000001));
+ quadtree.put(new DegreePosition(50.84695000000001, 7.989240000000001));
+ quadtree.put(new DegreePosition(50.84591, 7.9903900000000005));
+ quadtree.put(new DegreePosition(50.84514, 7.99143));
+ quadtree.put(new DegreePosition(50.844370000000005, 7.992660000000001));
+ quadtree.put(new DegreePosition(50.84355000000001, 7.994140000000001));
+ quadtree.put(new DegreePosition(50.842800000000004, 7.9958800000000005));
+ quadtree.put(new DegreePosition(50.84174, 7.99898));
+ quadtree.put(new DegreePosition(50.84141, 7.9998700000000005));
+ quadtree.put(new DegreePosition(50.84085, 8.00121));
+ quadtree.put(new DegreePosition(50.84001000000001, 8.00285));
+ quadtree.put(new DegreePosition(50.83823, 8.00586));
+ quadtree.put(new DegreePosition(50.83747, 8.00736));
+ quadtree.put(new DegreePosition(50.83702, 8.008410000000001));
+ quadtree.put(new DegreePosition(50.83662, 8.00956));
+ quadtree.put(new DegreePosition(50.83628, 8.01093));
+ quadtree.put(new DegreePosition(50.83605000000001, 8.012160000000002));
+ quadtree.put(new DegreePosition(50.83545, 8.016810000000001));
+ quadtree.put(new DegreePosition(50.83491, 8.01938));
+ quadtree.put(new DegreePosition(50.834250000000004, 8.02161));
+ quadtree.put(new DegreePosition(50.83332000000001, 8.025210000000001));
+ quadtree.put(new DegreePosition(50.8331, 8.0264));
+ quadtree.put(new DegreePosition(50.83299, 8.027230000000001));
+ quadtree.put(new DegreePosition(50.832890000000006, 8.028220000000001));
+ quadtree.put(new DegreePosition(50.832820000000005, 8.0296));
+ quadtree.put(new DegreePosition(50.83283, 8.030740000000002));
+ quadtree.put(new DegreePosition(50.832950000000004, 8.03252));
+ quadtree.put(new DegreePosition(50.833180000000006, 8.034790000000001));
+ quadtree.put(new DegreePosition(50.833200000000005, 8.036140000000001));
+ quadtree.put(new DegreePosition(50.83316000000001, 8.03739));
+ quadtree.put(new DegreePosition(50.83312, 8.03801));
+ quadtree.put(new DegreePosition(50.83299, 8.03907));
+ quadtree.put(new DegreePosition(50.832730000000005, 8.04087));
+ quadtree.put(new DegreePosition(50.83243, 8.042290000000001));
+ quadtree.put(new DegreePosition(50.831880000000005, 8.04424));
+ quadtree.put(new DegreePosition(50.83072000000001, 8.047070000000001));
+ quadtree.put(new DegreePosition(50.8286, 8.051340000000001));
+ quadtree.put(new DegreePosition(50.82793, 8.052610000000001));
+ quadtree.put(new DegreePosition(50.827650000000006, 8.053410000000001));
+ quadtree.put(new DegreePosition(50.827290000000005, 8.054680000000001));
+ quadtree.put(new DegreePosition(50.82674, 8.05762));
+ quadtree.put(new DegreePosition(50.826620000000005, 8.05882));
+ quadtree.put(new DegreePosition(50.826550000000005, 8.06226));
+ quadtree.put(new DegreePosition(50.82645, 8.0639));
+ quadtree.put(new DegreePosition(50.8263, 8.065420000000001));
+ quadtree.put(new DegreePosition(50.82591000000001, 8.06756));
+ quadtree.put(new DegreePosition(50.825540000000004, 8.06884));
+ quadtree.put(new DegreePosition(50.82486, 8.070490000000001));
+ quadtree.put(new DegreePosition(50.82444, 8.07141));
+ quadtree.put(new DegreePosition(50.82368, 8.07266));
+ quadtree.put(new DegreePosition(50.821760000000005, 8.075130000000001));
+ quadtree.put(new DegreePosition(50.821020000000004, 8.07614));
+ quadtree.put(new DegreePosition(50.8205, 8.077));
+ quadtree.put(new DegreePosition(50.819950000000006, 8.078240000000001));
+ quadtree.put(new DegreePosition(50.81955000000001, 8.079450000000001));
+ quadtree.put(new DegreePosition(50.819120000000005, 8.08103));
+ quadtree.put(new DegreePosition(50.81859000000001, 8.08351));
+ quadtree.put(new DegreePosition(50.818130000000004, 8.08783));
+ quadtree.put(new DegreePosition(50.81796000000001, 8.088840000000001));
+ quadtree.put(new DegreePosition(50.81774000000001, 8.08971));
+ quadtree.put(new DegreePosition(50.817420000000006, 8.090670000000001));
+ quadtree.put(new DegreePosition(50.81671000000001, 8.09238));
+ quadtree.put(new DegreePosition(50.81647, 8.09285));
+ quadtree.put(new DegreePosition(50.81557, 8.094370000000001));
+ quadtree.put(new DegreePosition(50.814960000000006, 8.09521));
+ quadtree.put(new DegreePosition(50.81427000000001, 8.09603));
+ quadtree.put(new DegreePosition(50.81369, 8.0966));
+ quadtree.put(new DegreePosition(50.81291, 8.09722));
+ quadtree.put(new DegreePosition(50.81228, 8.09763));
+ quadtree.put(new DegreePosition(50.81022, 8.098590000000002));
+ quadtree.put(new DegreePosition(50.80885000000001, 8.098980000000001));
+ quadtree.put(new DegreePosition(50.806900000000006, 8.09918));
+ quadtree.put(new DegreePosition(50.805350000000004, 8.09904));
+ quadtree.put(new DegreePosition(50.804460000000006, 8.098790000000001));
+ quadtree.put(new DegreePosition(50.803180000000005, 8.09833));
+ quadtree.put(new DegreePosition(50.79974000000001, 8.09685));
+ quadtree.put(new DegreePosition(50.798950000000005, 8.09665));
+ quadtree.put(new DegreePosition(50.797990000000006, 8.09664));
+ quadtree.put(new DegreePosition(50.79683000000001, 8.096760000000002));
+ quadtree.put(new DegreePosition(50.795730000000006, 8.09699));
+ quadtree.put(new DegreePosition(50.794630000000005, 8.097520000000001));
+ quadtree.put(new DegreePosition(50.79238, 8.099340000000002));
+ quadtree.put(new DegreePosition(50.79153, 8.10016));
+ quadtree.put(new DegreePosition(50.79068, 8.10111));
+ quadtree.put(new DegreePosition(50.789970000000004, 8.10195));
+ quadtree.put(new DegreePosition(50.78891, 8.103380000000001));
+ quadtree.put(new DegreePosition(50.78833, 8.104230000000001));
+ quadtree.put(new DegreePosition(50.78759, 8.10539));
+ quadtree.put(new DegreePosition(50.786970000000004, 8.10646));
+ quadtree.put(new DegreePosition(50.78605, 8.10823));
+ quadtree.put(new DegreePosition(50.78566000000001, 8.10905));
+ quadtree.put(new DegreePosition(50.784890000000004, 8.11107));
+ quadtree.put(new DegreePosition(50.784670000000006, 8.11194));
+ quadtree.put(new DegreePosition(50.78437, 8.11344));
+ quadtree.put(new DegreePosition(50.784200000000006, 8.11463));
+ quadtree.put(new DegreePosition(50.78407000000001, 8.11609));
+ quadtree.put(new DegreePosition(50.78407000000001, 8.11761));
+ quadtree.put(new DegreePosition(50.78412, 8.118820000000001));
+ quadtree.put(new DegreePosition(50.784240000000004, 8.11996));
+ quadtree.put(new DegreePosition(50.78457, 8.121500000000001));
+ quadtree.put(new DegreePosition(50.785250000000005, 8.12428));
+ quadtree.put(new DegreePosition(50.78555, 8.125720000000001));
+ quadtree.put(new DegreePosition(50.78586000000001, 8.12766));
+ quadtree.put(new DegreePosition(50.786060000000006, 8.129610000000001));
+ quadtree.put(new DegreePosition(50.78614, 8.13101));
+ quadtree.put(new DegreePosition(50.78609, 8.13326));
+ quadtree.put(new DegreePosition(50.78598, 8.13451));
+ quadtree.put(new DegreePosition(50.78578, 8.135900000000001));
+ quadtree.put(new DegreePosition(50.7854, 8.137880000000001));
+ quadtree.put(new DegreePosition(50.78511, 8.13907));
+ quadtree.put(new DegreePosition(50.784330000000004, 8.14145));
+ quadtree.put(new DegreePosition(50.783840000000005, 8.14282));
+ quadtree.put(new DegreePosition(50.78352, 8.143510000000001));
+ quadtree.put(new DegreePosition(50.78285, 8.1446));
+ quadtree.put(new DegreePosition(50.781650000000006, 8.14638));
+ quadtree.put(new DegreePosition(50.781330000000004, 8.146920000000001));
+ quadtree.put(new DegreePosition(50.780280000000005, 8.148060000000001));
+ quadtree.put(new DegreePosition(50.77908000000001, 8.149090000000001));
+ quadtree.put(new DegreePosition(50.7781, 8.14973));
+ quadtree.put(new DegreePosition(50.77716, 8.150160000000001));
+ quadtree.put(new DegreePosition(50.77579, 8.15053));
+ quadtree.put(new DegreePosition(50.773810000000005, 8.150770000000001));
+ quadtree.put(new DegreePosition(50.772470000000006, 8.15085));
+ quadtree.put(new DegreePosition(50.77046000000001, 8.15074));
+ quadtree.put(new DegreePosition(50.76778, 8.15074));
+ quadtree.put(new DegreePosition(50.76690000000001, 8.15079));
+ quadtree.put(new DegreePosition(50.76615, 8.15093));
+ quadtree.put(new DegreePosition(50.76543, 8.15116));
+ quadtree.put(new DegreePosition(50.764480000000006, 8.151670000000001));
+ quadtree.put(new DegreePosition(50.763690000000004, 8.15222));
+ quadtree.put(new DegreePosition(50.76299, 8.152890000000001));
+ quadtree.put(new DegreePosition(50.76243, 8.15352));
+ quadtree.put(new DegreePosition(50.76185, 8.15432));
+ quadtree.put(new DegreePosition(50.761190000000006, 8.15549));
+ quadtree.put(new DegreePosition(50.760670000000005, 8.1567));
+ quadtree.put(new DegreePosition(50.76019, 8.15832));
+ quadtree.put(new DegreePosition(50.759910000000005, 8.15996));
+ quadtree.put(new DegreePosition(50.75983, 8.16092));
+ quadtree.put(new DegreePosition(50.75974, 8.16243));
+ quadtree.put(new DegreePosition(50.759780000000006, 8.164000000000001));
+ quadtree.put(new DegreePosition(50.75992, 8.16568));
+ quadtree.put(new DegreePosition(50.75997, 8.168050000000001));
+ quadtree.put(new DegreePosition(50.75992, 8.16923));
+ quadtree.put(new DegreePosition(50.759820000000005, 8.170480000000001));
+ quadtree.put(new DegreePosition(50.75959, 8.172130000000001));
+ quadtree.put(new DegreePosition(50.759190000000004, 8.17365));
+ quadtree.put(new DegreePosition(50.75893000000001, 8.17436));
+ quadtree.put(new DegreePosition(50.75638000000001, 8.18037));
+ quadtree.put(new DegreePosition(50.755810000000004, 8.181840000000001));
+ quadtree.put(new DegreePosition(50.755410000000005, 8.18307));
+ quadtree.put(new DegreePosition(50.755160000000004, 8.184000000000001));
+ quadtree.put(new DegreePosition(50.75482, 8.185960000000001));
+ quadtree.put(new DegreePosition(50.75464, 8.18824));
+ quadtree.put(new DegreePosition(50.75457, 8.19096));
+ quadtree.put(new DegreePosition(50.754670000000004, 8.193750000000001));
+ quadtree.put(new DegreePosition(50.75482, 8.19589));
+ quadtree.put(new DegreePosition(50.75533, 8.20124));
+ quadtree.put(new DegreePosition(50.75542, 8.202910000000001));
+ quadtree.put(new DegreePosition(50.755390000000006, 8.20532));
+ quadtree.put(new DegreePosition(50.75526000000001, 8.206850000000001));
+ quadtree.put(new DegreePosition(50.75502, 8.20803));
+ quadtree.put(new DegreePosition(50.75486, 8.20864));
+ quadtree.put(new DegreePosition(50.75448, 8.209750000000001));
+ quadtree.put(new DegreePosition(50.75424, 8.210320000000001));
+ quadtree.put(new DegreePosition(50.75347000000001, 8.211730000000001));
+ quadtree.put(new DegreePosition(50.75301, 8.21236));
+ quadtree.put(new DegreePosition(50.75206000000001, 8.213370000000001));
+ quadtree.put(new DegreePosition(50.74982000000001, 8.215440000000001));
+ quadtree.put(new DegreePosition(50.748900000000006, 8.21657));
+ quadtree.put(new DegreePosition(50.74851, 8.21718));
+ quadtree.put(new DegreePosition(50.748200000000004, 8.21775));
+ quadtree.put(new DegreePosition(50.74777, 8.21879));
+ quadtree.put(new DegreePosition(50.7475, 8.21968));
+ quadtree.put(new DegreePosition(50.747240000000005, 8.220880000000001));
+ quadtree.put(new DegreePosition(50.7471, 8.22189));
+ quadtree.put(new DegreePosition(50.74703, 8.222710000000001));
+ quadtree.put(new DegreePosition(50.746990000000004, 8.22573));
+ quadtree.put(new DegreePosition(50.74696, 8.22653));
+ quadtree.put(new DegreePosition(50.74687, 8.22747));
+ quadtree.put(new DegreePosition(50.746680000000005, 8.228530000000001));
+ quadtree.put(new DegreePosition(50.746410000000004, 8.22976));
+ quadtree.put(new DegreePosition(50.74609, 8.23095));
+ quadtree.put(new DegreePosition(50.74515, 8.23367));
+ quadtree.put(new DegreePosition(50.744620000000005, 8.235650000000001));
+ quadtree.put(new DegreePosition(50.744310000000006, 8.237150000000002));
+ quadtree.put(new DegreePosition(50.744150000000005, 8.238480000000001));
+ quadtree.put(new DegreePosition(50.7441, 8.240540000000001));
+ quadtree.put(new DegreePosition(50.74418000000001, 8.24193));
+ quadtree.put(new DegreePosition(50.74445000000001, 8.24365));
+ quadtree.put(new DegreePosition(50.745020000000004, 8.245940000000001));
+ quadtree.put(new DegreePosition(50.74539000000001, 8.24769));
+ quadtree.put(new DegreePosition(50.74557, 8.24881));
+ quadtree.put(new DegreePosition(50.74562, 8.249590000000001));
+ quadtree.put(new DegreePosition(50.7456, 8.250290000000001));
+ quadtree.put(new DegreePosition(50.74542, 8.25223));
+ quadtree.put(new DegreePosition(50.74519, 8.253340000000001));
+ quadtree.put(new DegreePosition(50.7449, 8.2543));
+ quadtree.put(new DegreePosition(50.74461, 8.25505));
+ quadtree.put(new DegreePosition(50.74306000000001, 8.25831));
+ quadtree.put(new DegreePosition(50.74279000000001, 8.25904));
+ quadtree.put(new DegreePosition(50.74255, 8.25988));
+ quadtree.put(new DegreePosition(50.742270000000005, 8.2612));
+ quadtree.put(new DegreePosition(50.74213, 8.262070000000001));
+ quadtree.put(new DegreePosition(50.742070000000005, 8.26314));
+ quadtree.put(new DegreePosition(50.742090000000005, 8.26567));
+ quadtree.put(new DegreePosition(50.741980000000005, 8.26735));
+ quadtree.put(new DegreePosition(50.74181, 8.2687));
+ quadtree.put(new DegreePosition(50.741670000000006, 8.26931));
+ quadtree.put(new DegreePosition(50.741080000000004, 8.27088));
+ quadtree.put(new DegreePosition(50.74072, 8.27158));
+ quadtree.put(new DegreePosition(50.740030000000004, 8.27257));
+ quadtree.put(new DegreePosition(50.73962, 8.273000000000001));
+ quadtree.put(new DegreePosition(50.73875, 8.27365));
+ quadtree.put(new DegreePosition(50.73783, 8.27405));
+ quadtree.put(new DegreePosition(50.73745, 8.27416));
+ quadtree.put(new DegreePosition(50.736830000000005, 8.27424));
+ quadtree.put(new DegreePosition(50.734120000000004, 8.274090000000001));
+ quadtree.put(new DegreePosition(50.73353, 8.27411));
+ quadtree.put(new DegreePosition(50.732890000000005, 8.27424));
+ quadtree.put(new DegreePosition(50.73174, 8.274790000000001));
+ quadtree.put(new DegreePosition(50.73114, 8.27524));
+ quadtree.put(new DegreePosition(50.7306, 8.27574));
+ quadtree.put(new DegreePosition(50.72831000000001, 8.27865));
+ quadtree.put(new DegreePosition(50.727430000000005, 8.279480000000001));
+ quadtree.put(new DegreePosition(50.72471, 8.28134));
+ quadtree.put(new DegreePosition(50.72368, 8.282210000000001));
+ quadtree.put(new DegreePosition(50.7229, 8.28307));
+ quadtree.put(new DegreePosition(50.72126, 8.28542));
+ quadtree.put(new DegreePosition(50.72023, 8.28669));
+ quadtree.put(new DegreePosition(50.71963, 8.28725));
+ quadtree.put(new DegreePosition(50.71885, 8.287880000000001));
+ quadtree.put(new DegreePosition(50.718120000000006, 8.28832));
+ quadtree.put(new DegreePosition(50.7173, 8.2887));
+ quadtree.put(new DegreePosition(50.71656, 8.28897));
+ quadtree.put(new DegreePosition(50.71553, 8.28916));
+ quadtree.put(new DegreePosition(50.71408, 8.28923));
+ quadtree.put(new DegreePosition(50.713060000000006, 8.28913));
+ quadtree.put(new DegreePosition(50.709050000000005, 8.28805));
+ quadtree.put(new DegreePosition(50.70792, 8.28781));
+ quadtree.put(new DegreePosition(50.70673000000001, 8.28772));
+ quadtree.put(new DegreePosition(50.705130000000004, 8.28782));
+ quadtree.put(new DegreePosition(50.70335000000001, 8.28827));
+ quadtree.put(new DegreePosition(50.70219, 8.28876));
+ quadtree.put(new DegreePosition(50.70096, 8.289520000000001));
+ quadtree.put(new DegreePosition(50.697030000000005, 8.29296));
+ quadtree.put(new DegreePosition(50.69567000000001, 8.294));
+ quadtree.put(new DegreePosition(50.69485, 8.294540000000001));
+ quadtree.put(new DegreePosition(50.69411, 8.29495));
+ quadtree.put(new DegreePosition(50.6933, 8.295300000000001));
+ quadtree.put(new DegreePosition(50.692690000000006, 8.295490000000001));
+ quadtree.put(new DegreePosition(50.692040000000006, 8.29561));
+ quadtree.put(new DegreePosition(50.69153000000001, 8.29564));
+ quadtree.put(new DegreePosition(50.69035, 8.295390000000001));
+ quadtree.put(new DegreePosition(50.68981, 8.29517));
+ quadtree.put(new DegreePosition(50.68932, 8.2949));
+ quadtree.put(new DegreePosition(50.688970000000005, 8.29465));
+ quadtree.put(new DegreePosition(50.68847, 8.29418));
+ quadtree.put(new DegreePosition(50.687760000000004, 8.293230000000001));
+ quadtree.put(new DegreePosition(50.68713, 8.29218));
+ quadtree.put(new DegreePosition(50.68657, 8.29096));
+ quadtree.put(new DegreePosition(50.68558, 8.289000000000001));
+ quadtree.put(new DegreePosition(50.684940000000005, 8.28805));
+ quadtree.put(new DegreePosition(50.684430000000006, 8.28739));
+ quadtree.put(new DegreePosition(50.682970000000005, 8.2859));
+ quadtree.put(new DegreePosition(50.68198, 8.28515));
+ quadtree.put(new DegreePosition(50.68065000000001, 8.28434));
+ quadtree.put(new DegreePosition(50.679410000000004, 8.28377));
+ quadtree.put(new DegreePosition(50.67868000000001, 8.28353));
+ quadtree.put(new DegreePosition(50.67734, 8.283330000000001));
+ quadtree.put(new DegreePosition(50.676190000000005, 8.28331));
+ quadtree.put(new DegreePosition(50.674110000000006, 8.28378));
+ quadtree.put(new DegreePosition(50.672760000000004, 8.28443));
+ quadtree.put(new DegreePosition(50.67183000000001, 8.28505));
+ quadtree.put(new DegreePosition(50.671130000000005, 8.28561));
+ quadtree.put(new DegreePosition(50.67058, 8.286140000000001));
+ quadtree.put(new DegreePosition(50.66993, 8.28687));
+ quadtree.put(new DegreePosition(50.66884, 8.28832));
+ quadtree.put(new DegreePosition(50.66789000000001, 8.28984));
+ quadtree.put(new DegreePosition(50.667030000000004, 8.291440000000001));
+ quadtree.put(new DegreePosition(50.66601000000001, 8.29364));
+ quadtree.put(new DegreePosition(50.665350000000004, 8.295240000000002));
+ quadtree.put(new DegreePosition(50.66480000000001, 8.29676));
+ quadtree.put(new DegreePosition(50.66442000000001, 8.29808));
+ quadtree.put(new DegreePosition(50.66405, 8.299660000000001));
+ quadtree.put(new DegreePosition(50.663720000000005, 8.30133));
+ quadtree.put(new DegreePosition(50.66330000000001, 8.304300000000001));
+ quadtree.put(new DegreePosition(50.66290000000001, 8.307960000000001));
+ quadtree.put(new DegreePosition(50.662670000000006, 8.309560000000001));
+ quadtree.put(new DegreePosition(50.6623, 8.31123));
+ quadtree.put(new DegreePosition(50.66174, 8.313260000000001));
+ quadtree.put(new DegreePosition(50.660970000000006, 8.315370000000001));
+ quadtree.put(new DegreePosition(50.660320000000006, 8.316650000000001));
+ quadtree.put(new DegreePosition(50.659740000000006, 8.317590000000001));
+ quadtree.put(new DegreePosition(50.65899, 8.318570000000001));
+ quadtree.put(new DegreePosition(50.658210000000004, 8.3193));
+ quadtree.put(new DegreePosition(50.657070000000004, 8.31994));
+ quadtree.put(new DegreePosition(50.65578000000001, 8.320300000000001));
+ quadtree.put(new DegreePosition(50.65391, 8.320400000000001));
+ quadtree.put(new DegreePosition(50.65328, 8.320500000000001));
+ quadtree.put(new DegreePosition(50.65240000000001, 8.32074));
+ quadtree.put(new DegreePosition(50.65128000000001, 8.32118));
+ quadtree.put(new DegreePosition(50.65091, 8.32137));
+ quadtree.put(new DegreePosition(50.6465, 8.32409));
+ quadtree.put(new DegreePosition(50.645360000000004, 8.32454));
+ quadtree.put(new DegreePosition(50.644740000000006, 8.32469));
+ quadtree.put(new DegreePosition(50.64193, 8.32482));
+ quadtree.put(new DegreePosition(50.639920000000004, 8.32511));
+ quadtree.put(new DegreePosition(50.63812, 8.325650000000001));
+ quadtree.put(new DegreePosition(50.63673000000001, 8.326400000000001));
+ quadtree.put(new DegreePosition(50.635740000000006, 8.32704));
+ quadtree.put(new DegreePosition(50.634570000000004, 8.32797));
+ quadtree.put(new DegreePosition(50.63354, 8.32891));
+ quadtree.put(new DegreePosition(50.63253, 8.32995));
+ quadtree.put(new DegreePosition(50.629650000000005, 8.33336));
+ quadtree.put(new DegreePosition(50.62903000000001, 8.33422));
+ quadtree.put(new DegreePosition(50.628550000000004, 8.335));
+ quadtree.put(new DegreePosition(50.62765, 8.33667));
+ quadtree.put(new DegreePosition(50.627250000000004, 8.33755));
+ quadtree.put(new DegreePosition(50.626760000000004, 8.33876));
+ quadtree.put(new DegreePosition(50.62648, 8.33961));
+ quadtree.put(new DegreePosition(50.62586, 8.341890000000001));
+ quadtree.put(new DegreePosition(50.62556000000001, 8.34319));
+ quadtree.put(new DegreePosition(50.62519, 8.34521));
+ quadtree.put(new DegreePosition(50.624990000000004, 8.34656));
+ quadtree.put(new DegreePosition(50.62485, 8.34781));
+ quadtree.put(new DegreePosition(50.6246, 8.3511));
+ quadtree.put(new DegreePosition(50.62435000000001, 8.352910000000001));
+ quadtree.put(new DegreePosition(50.624050000000004, 8.3544));
+ quadtree.put(new DegreePosition(50.623810000000006, 8.35543));
+ quadtree.put(new DegreePosition(50.62366, 8.35593));
+ quadtree.put(new DegreePosition(50.622240000000005, 8.359910000000001));
+ quadtree.put(new DegreePosition(50.621770000000005, 8.36156));
+ quadtree.put(new DegreePosition(50.62156, 8.362480000000001));
+ quadtree.put(new DegreePosition(50.621230000000004, 8.3644));
+ quadtree.put(new DegreePosition(50.62078, 8.36975));
+ quadtree.put(new DegreePosition(50.620520000000006, 8.37114));
+ quadtree.put(new DegreePosition(50.620160000000006, 8.37249));
+ quadtree.put(new DegreePosition(50.61988, 8.373320000000001));
+ quadtree.put(new DegreePosition(50.61932, 8.374690000000001));
+ quadtree.put(new DegreePosition(50.61887, 8.375950000000001));
+ quadtree.put(new DegreePosition(50.618570000000005, 8.37725));
+ quadtree.put(new DegreePosition(50.61827, 8.37898));
+ quadtree.put(new DegreePosition(50.618170000000006, 8.380270000000001));
+ quadtree.put(new DegreePosition(50.61816, 8.382190000000001));
+ quadtree.put(new DegreePosition(50.618520000000004, 8.389460000000001));
+ quadtree.put(new DegreePosition(50.618570000000005, 8.39309));
+ quadtree.put(new DegreePosition(50.618500000000004, 8.394480000000001));
+ quadtree.put(new DegreePosition(50.618410000000004, 8.395470000000001));
+ quadtree.put(new DegreePosition(50.61824000000001, 8.39675));
+ quadtree.put(new DegreePosition(50.618080000000006, 8.39764));
+ quadtree.put(new DegreePosition(50.61777000000001, 8.39906));
+ quadtree.put(new DegreePosition(50.61713, 8.40116));
+ quadtree.put(new DegreePosition(50.61679, 8.40215));
+ quadtree.put(new DegreePosition(50.612660000000005, 8.413));
+ quadtree.put(new DegreePosition(50.61168000000001, 8.415470000000001));
+ quadtree.put(new DegreePosition(50.611430000000006, 8.41623));
+ quadtree.put(new DegreePosition(50.61102, 8.41787));
+ quadtree.put(new DegreePosition(50.61056000000001, 8.42032));
+ quadtree.put(new DegreePosition(50.61019, 8.4238));
+ quadtree.put(new DegreePosition(50.60992, 8.42535));
+ quadtree.put(new DegreePosition(50.60947, 8.42707));
+ quadtree.put(new DegreePosition(50.60904000000001, 8.42833));
+ quadtree.put(new DegreePosition(50.60857000000001, 8.42956));
+ quadtree.put(new DegreePosition(50.60792000000001, 8.43158));
+ quadtree.put(new DegreePosition(50.60761, 8.432680000000001));
+ quadtree.put(new DegreePosition(50.60723, 8.434370000000001));
+ quadtree.put(new DegreePosition(50.60701, 8.43645));
+ quadtree.put(new DegreePosition(50.60698000000001, 8.43796));
+ quadtree.put(new DegreePosition(50.6071, 8.44045));
+ quadtree.put(new DegreePosition(50.60718000000001, 8.443100000000001));
+ quadtree.put(new DegreePosition(50.60717, 8.444220000000001));
+ quadtree.put(new DegreePosition(50.607020000000006, 8.446140000000002));
+ quadtree.put(new DegreePosition(50.606770000000004, 8.44772));
+ quadtree.put(new DegreePosition(50.60647, 8.44902));
+ quadtree.put(new DegreePosition(50.606100000000005, 8.450230000000001));
+ quadtree.put(new DegreePosition(50.60551, 8.45195));
+ quadtree.put(new DegreePosition(50.605030000000006, 8.45358));
+ quadtree.put(new DegreePosition(50.60465000000001, 8.45495));
+ quadtree.put(new DegreePosition(50.60445000000001, 8.455950000000001));
+ quadtree.put(new DegreePosition(50.60427000000001, 8.457230000000001));
+ quadtree.put(new DegreePosition(50.60421, 8.458060000000001));
+ quadtree.put(new DegreePosition(50.60419, 8.45945));
+ quadtree.put(new DegreePosition(50.6043, 8.46292));
+ quadtree.put(new DegreePosition(50.604290000000006, 8.46471));
+ quadtree.put(new DegreePosition(50.60416000000001, 8.4664));
+ quadtree.put(new DegreePosition(50.603930000000005, 8.468));
+ quadtree.put(new DegreePosition(50.603790000000004, 8.46873));
+ quadtree.put(new DegreePosition(50.603570000000005, 8.469650000000001));
+ quadtree.put(new DegreePosition(50.60318, 8.471));
+ quadtree.put(new DegreePosition(50.60242, 8.473030000000001));
+ quadtree.put(new DegreePosition(50.60193, 8.474110000000001));
+ quadtree.put(new DegreePosition(50.60146, 8.47493));
+ quadtree.put(new DegreePosition(50.600730000000006, 8.47606));
+ quadtree.put(new DegreePosition(50.599160000000005, 8.478340000000001));
+ quadtree.put(new DegreePosition(50.59787000000001, 8.480580000000002));
+ quadtree.put(new DegreePosition(50.59725, 8.48202));
+ quadtree.put(new DegreePosition(50.59673, 8.48366));
+ quadtree.put(new DegreePosition(50.596270000000004, 8.48583));
+ quadtree.put(new DegreePosition(50.59617, 8.48643));
+ quadtree.put(new DegreePosition(50.596000000000004, 8.48804));
+ quadtree.put(new DegreePosition(50.59592000000001, 8.490260000000001));
+ quadtree.put(new DegreePosition(50.59588, 8.49361));
+ quadtree.put(new DegreePosition(50.59581000000001, 8.49463));
+ quadtree.put(new DegreePosition(50.595710000000004, 8.49549));
+ quadtree.put(new DegreePosition(50.59539, 8.49712));
+ quadtree.put(new DegreePosition(50.59505000000001, 8.49849));
+ quadtree.put(new DegreePosition(50.594030000000004, 8.50145));
+ quadtree.put(new DegreePosition(50.59357000000001, 8.50289));
+ quadtree.put(new DegreePosition(50.593340000000005, 8.50379));
+ quadtree.put(new DegreePosition(50.593160000000005, 8.50468));
+ quadtree.put(new DegreePosition(50.59292000000001, 8.506120000000001));
+ quadtree.put(new DegreePosition(50.59279, 8.50716));
+ quadtree.put(new DegreePosition(50.592740000000006, 8.50793));
+ quadtree.put(new DegreePosition(50.592740000000006, 8.50988));
+ quadtree.put(new DegreePosition(50.59282, 8.51248));
+ quadtree.put(new DegreePosition(50.59273, 8.513850000000001));
+ quadtree.put(new DegreePosition(50.59245000000001, 8.5157));
+ quadtree.put(new DegreePosition(50.592110000000005, 8.51736));
+ quadtree.put(new DegreePosition(50.59109, 8.52072));
+ quadtree.put(new DegreePosition(50.58995, 8.52393));
+ quadtree.put(new DegreePosition(50.58919, 8.525780000000001));
+ quadtree.put(new DegreePosition(50.588350000000005, 8.52753));
+ quadtree.put(new DegreePosition(50.586940000000006, 8.53031));
+ quadtree.put(new DegreePosition(50.585660000000004, 8.5327));
+ quadtree.put(new DegreePosition(50.58467, 8.534270000000001));
+ quadtree.put(new DegreePosition(50.582950000000004, 8.53668));
+ quadtree.put(new DegreePosition(50.58055, 8.539750000000002));
+ quadtree.put(new DegreePosition(50.57909, 8.541250000000002));
+ quadtree.put(new DegreePosition(50.578230000000005, 8.542060000000001));
+ quadtree.put(new DegreePosition(50.57721, 8.542910000000001));
+ quadtree.put(new DegreePosition(50.57509, 8.544360000000001));
+ quadtree.put(new DegreePosition(50.572190000000006, 8.546000000000001));
+ quadtree.put(new DegreePosition(50.56996, 8.54697));
+ quadtree.put(new DegreePosition(50.567350000000005, 8.548210000000001));
+ quadtree.put(new DegreePosition(50.566590000000005, 8.548670000000001));
+ quadtree.put(new DegreePosition(50.565740000000005, 8.5493));
+ quadtree.put(new DegreePosition(50.56519, 8.54981));
+ quadtree.put(new DegreePosition(50.56466, 8.55035));
+ quadtree.put(new DegreePosition(50.56418000000001, 8.551010000000002));
+ quadtree.put(new DegreePosition(50.56376, 8.551630000000001));
+ quadtree.put(new DegreePosition(50.56293, 8.55311));
+ quadtree.put(new DegreePosition(50.56206, 8.55527));
+ quadtree.put(new DegreePosition(50.56136000000001, 8.55738));
+ quadtree.put(new DegreePosition(50.56071000000001, 8.55915));
+ quadtree.put(new DegreePosition(50.560230000000004, 8.560160000000002));
+ quadtree.put(new DegreePosition(50.55978, 8.560970000000001));
+ quadtree.put(new DegreePosition(50.55922, 8.56179));
+ quadtree.put(new DegreePosition(50.558910000000004, 8.56215));
+ quadtree.put(new DegreePosition(50.55834, 8.562700000000001));
+ quadtree.put(new DegreePosition(50.55731, 8.56347));
+ quadtree.put(new DegreePosition(50.55677000000001, 8.56377));
+ quadtree.put(new DegreePosition(50.55624, 8.563960000000002));
+ quadtree.put(new DegreePosition(50.55556000000001, 8.564110000000001));
+ quadtree.put(new DegreePosition(50.55353, 8.564390000000001));
+ quadtree.put(new DegreePosition(50.552040000000005, 8.56466));
+ quadtree.put(new DegreePosition(50.55109, 8.56494));
+ quadtree.put(new DegreePosition(50.550160000000005, 8.56536));
+ quadtree.put(new DegreePosition(50.549730000000004, 8.565620000000001));
+ quadtree.put(new DegreePosition(50.54919, 8.56601));
+ quadtree.put(new DegreePosition(50.548460000000006, 8.56667));
+ quadtree.put(new DegreePosition(50.54798, 8.567250000000001));
+ quadtree.put(new DegreePosition(50.5469, 8.56872));
+ quadtree.put(new DegreePosition(50.54536, 8.57126));
+ quadtree.put(new DegreePosition(50.542260000000006, 8.576590000000001));
+ quadtree.put(new DegreePosition(50.541430000000005, 8.577720000000001));
+ quadtree.put(new DegreePosition(50.540580000000006, 8.57877));
+ quadtree.put(new DegreePosition(50.539480000000005, 8.57994));
+ quadtree.put(new DegreePosition(50.537870000000005, 8.58139));
+ quadtree.put(new DegreePosition(50.53676, 8.582270000000001));
+ quadtree.put(new DegreePosition(50.534110000000005, 8.58411));
+ quadtree.put(new DegreePosition(50.53333000000001, 8.58478));
+ quadtree.put(new DegreePosition(50.53266000000001, 8.585450000000002));
+ quadtree.put(new DegreePosition(50.5317, 8.586540000000001));
+ quadtree.put(new DegreePosition(50.53099, 8.587610000000002));
+ quadtree.put(new DegreePosition(50.53056, 8.58835));
+ quadtree.put(new DegreePosition(50.530080000000005, 8.58932));
+ quadtree.put(new DegreePosition(50.52947, 8.590900000000001));
+ quadtree.put(new DegreePosition(50.529050000000005, 8.592310000000001));
+ quadtree.put(new DegreePosition(50.528800000000004, 8.593430000000001));
+ quadtree.put(new DegreePosition(50.528620000000004, 8.594510000000001));
+ quadtree.put(new DegreePosition(50.52828, 8.597700000000001));
+ quadtree.put(new DegreePosition(50.527750000000005, 8.60692));
+ quadtree.put(new DegreePosition(50.52731000000001, 8.61212));
+ quadtree.put(new DegreePosition(50.526300000000006, 8.62259));
+ quadtree.put(new DegreePosition(50.525800000000004, 8.626420000000001));
+ quadtree.put(new DegreePosition(50.52514000000001, 8.630510000000001));
+ quadtree.put(new DegreePosition(50.52481, 8.63277));
+ quadtree.put(new DegreePosition(50.524010000000004, 8.6376));
+ quadtree.put(new DegreePosition(50.52364000000001, 8.64067));
+ quadtree.put(new DegreePosition(50.522420000000004, 8.645380000000001));
+ quadtree.put(new DegreePosition(50.52181, 8.64794));
+ quadtree.put(new DegreePosition(50.521530000000006, 8.648950000000001));
+ quadtree.put(new DegreePosition(50.52031, 8.654100000000001));
+ quadtree.put(new DegreePosition(50.51888, 8.65944));
+ quadtree.put(new DegreePosition(50.51749, 8.66398));
+ quadtree.put(new DegreePosition(50.51699000000001, 8.66531));
+ quadtree.put(new DegreePosition(50.516650000000006, 8.666110000000002));
+ quadtree.put(new DegreePosition(50.515150000000006, 8.66932));
+ quadtree.put(new DegreePosition(50.5146, 8.67041));
+ quadtree.put(new DegreePosition(50.513670000000005, 8.6721));
+ quadtree.put(new DegreePosition(50.51285000000001, 8.673440000000001));
+ quadtree.put(new DegreePosition(50.511810000000004, 8.674930000000002));
+ quadtree.put(new DegreePosition(50.510630000000006, 8.67633));
+ quadtree.put(new DegreePosition(50.50940000000001, 8.677700000000002));
+ quadtree.put(new DegreePosition(50.508810000000004, 8.67824));
+ quadtree.put(new DegreePosition(50.50750000000001, 8.67932));
+ quadtree.put(new DegreePosition(50.50681, 8.679810000000002));
+ quadtree.put(new DegreePosition(50.50526000000001, 8.680760000000001));
+ quadtree.put(new DegreePosition(50.504470000000005, 8.68116));
+ quadtree.put(new DegreePosition(50.50274, 8.681830000000001));
+ quadtree.put(new DegreePosition(50.50198, 8.682070000000001));
+ quadtree.put(new DegreePosition(50.498810000000006, 8.682690000000001));
+ quadtree.put(new DegreePosition(50.49728, 8.68313));
+ quadtree.put(new DegreePosition(50.49476000000001, 8.68368));
+ quadtree.put(new DegreePosition(50.49369, 8.684050000000001));
+ quadtree.put(new DegreePosition(50.49269, 8.68449));
+ quadtree.put(new DegreePosition(50.49157, 8.68506));
+ quadtree.put(new DegreePosition(50.490520000000004, 8.685740000000001));
+ quadtree.put(new DegreePosition(50.48989, 8.68622));
+ quadtree.put(new DegreePosition(50.48901000000001, 8.686950000000001));
+ quadtree.put(new DegreePosition(50.488040000000005, 8.687940000000001));
+ quadtree.put(new DegreePosition(50.487010000000005, 8.68913));
+ quadtree.put(new DegreePosition(50.48583000000001, 8.69068));
+ quadtree.put(new DegreePosition(50.484260000000006, 8.69318));
+ quadtree.put(new DegreePosition(50.483340000000005, 8.69505));
+ quadtree.put(new DegreePosition(50.48272000000001, 8.69658));
+ quadtree.put(new DegreePosition(50.482110000000006, 8.698260000000001));
+ quadtree.put(new DegreePosition(50.481390000000005, 8.70049));
+ quadtree.put(new DegreePosition(50.48093, 8.70208));
+ quadtree.put(new DegreePosition(50.48021000000001, 8.705020000000001));
+ quadtree.put(new DegreePosition(50.47822000000001, 8.71437));
+ quadtree.put(new DegreePosition(50.477940000000004, 8.715430000000001));
+ quadtree.put(new DegreePosition(50.47721000000001, 8.717260000000001));
+ quadtree.put(new DegreePosition(50.47652, 8.718820000000001));
+ quadtree.put(new DegreePosition(50.476240000000004, 8.71929));
+ quadtree.put(new DegreePosition(50.475660000000005, 8.72009));
+ quadtree.put(new DegreePosition(50.47426, 8.72159));
+ quadtree.put(new DegreePosition(50.47375, 8.722000000000001));
+ quadtree.put(new DegreePosition(50.47307000000001, 8.7224));
+ quadtree.put(new DegreePosition(50.472390000000004, 8.72273));
+ quadtree.put(new DegreePosition(50.47173, 8.72295));
+ quadtree.put(new DegreePosition(50.471050000000005, 8.723090000000001));
+ quadtree.put(new DegreePosition(50.46989000000001, 8.723080000000001));
+ quadtree.put(new DegreePosition(50.46876, 8.72295));
+ quadtree.put(new DegreePosition(50.466840000000005, 8.72241));
+ quadtree.put(new DegreePosition(50.465230000000005, 8.721820000000001));
+ quadtree.put(new DegreePosition(50.46338, 8.72098));
+ quadtree.put(new DegreePosition(50.463100000000004, 8.72091));
+ quadtree.put(new DegreePosition(50.461200000000005, 8.71997));
+ quadtree.put(new DegreePosition(50.46023, 8.71925));
+ quadtree.put(new DegreePosition(50.459410000000005, 8.718570000000001));
+ quadtree.put(new DegreePosition(50.458600000000004, 8.7178));
+ quadtree.put(new DegreePosition(50.45769000000001, 8.716790000000001));
+ quadtree.put(new DegreePosition(50.456610000000005, 8.71546));
+ quadtree.put(new DegreePosition(50.455490000000005, 8.7139));
+ quadtree.put(new DegreePosition(50.45445, 8.712250000000001));
+ quadtree.put(new DegreePosition(50.45373000000001, 8.710980000000001));
+ quadtree.put(new DegreePosition(50.45327, 8.71006));
+ quadtree.put(new DegreePosition(50.45239, 8.70799));
+ quadtree.put(new DegreePosition(50.44941000000001, 8.70059));
+ quadtree.put(new DegreePosition(50.448820000000005, 8.69945));
+ quadtree.put(new DegreePosition(50.448460000000004, 8.69888));
+ quadtree.put(new DegreePosition(50.447900000000004, 8.69806));
+ quadtree.put(new DegreePosition(50.44698, 8.69688));
+ quadtree.put(new DegreePosition(50.44641000000001, 8.6963));
+ quadtree.put(new DegreePosition(50.44548, 8.695500000000001));
+ quadtree.put(new DegreePosition(50.44501, 8.695160000000001));
+ quadtree.put(new DegreePosition(50.44411, 8.69472));
+ quadtree.put(new DegreePosition(50.44333, 8.69443));
+ quadtree.put(new DegreePosition(50.44202000000001, 8.694180000000001));
+ quadtree.put(new DegreePosition(50.44145, 8.694170000000002));
+ quadtree.put(new DegreePosition(50.440560000000005, 8.69425));
+ quadtree.put(new DegreePosition(50.432640000000006, 8.69574));
+ quadtree.put(new DegreePosition(50.42264, 8.697370000000001));
+ quadtree.put(new DegreePosition(50.405300000000004, 8.70054));
+ quadtree.put(new DegreePosition(50.395720000000004, 8.70219));
+ quadtree.put(new DegreePosition(50.391580000000005, 8.70298));
+ quadtree.put(new DegreePosition(50.38085, 8.7048));
+ quadtree.put(new DegreePosition(50.375750000000004, 8.70561));
+ quadtree.put(new DegreePosition(50.374950000000005, 8.70569));
+ quadtree.put(new DegreePosition(50.373850000000004, 8.70564));
+ quadtree.put(new DegreePosition(50.37259, 8.705400000000001));
+ quadtree.put(new DegreePosition(50.37050000000001, 8.70457));
+ quadtree.put(new DegreePosition(50.369170000000004, 8.70387));
+ quadtree.put(new DegreePosition(50.367610000000006, 8.702910000000001));
+ quadtree.put(new DegreePosition(50.36612, 8.7018));
+ quadtree.put(new DegreePosition(50.36075, 8.6972));
+ quadtree.put(new DegreePosition(50.35831, 8.69533));
+ quadtree.put(new DegreePosition(50.356950000000005, 8.69443));
+ quadtree.put(new DegreePosition(50.35558, 8.69372));
+ quadtree.put(new DegreePosition(50.354400000000005, 8.69335));
+ quadtree.put(new DegreePosition(50.35246, 8.69284));
+ quadtree.put(new DegreePosition(50.35105, 8.692620000000002));
+ quadtree.put(new DegreePosition(50.350170000000006, 8.69257));
+ quadtree.put(new DegreePosition(50.34955, 8.692580000000001));
+ quadtree.put(new DegreePosition(50.34857, 8.69275));
+ quadtree.put(new DegreePosition(50.346230000000006, 8.693470000000001));
+ quadtree.put(new DegreePosition(50.341210000000004, 8.69532));
+ quadtree.put(new DegreePosition(50.34002, 8.695680000000001));
+ quadtree.put(new DegreePosition(50.33867000000001, 8.695910000000001));
+ quadtree.put(new DegreePosition(50.33753, 8.69594));
+ quadtree.put(new DegreePosition(50.3361, 8.695860000000001));
+ quadtree.put(new DegreePosition(50.333580000000005, 8.69542));
+ quadtree.put(new DegreePosition(50.32048, 8.69252));
+ quadtree.put(new DegreePosition(50.31851, 8.69196));
+ quadtree.put(new DegreePosition(50.31781, 8.6917));
+ quadtree.put(new DegreePosition(50.31709000000001, 8.69139));
+ quadtree.put(new DegreePosition(50.31595, 8.690760000000001));
+ quadtree.put(new DegreePosition(50.314600000000006, 8.68979));
+ quadtree.put(new DegreePosition(50.31338, 8.68871));
+ quadtree.put(new DegreePosition(50.31116, 8.68621));
+ quadtree.put(new DegreePosition(50.30666, 8.680890000000002));
+ quadtree.put(new DegreePosition(50.3034, 8.67722));
+ quadtree.put(new DegreePosition(50.302640000000004, 8.67643));
+ quadtree.put(new DegreePosition(50.301930000000006, 8.675830000000001));
+ quadtree.put(new DegreePosition(50.30136, 8.675410000000001));
+ quadtree.put(new DegreePosition(50.30044, 8.67488));
+ quadtree.put(new DegreePosition(50.298860000000005, 8.674140000000001));
+ quadtree.put(new DegreePosition(50.29008, 8.67112));
+ quadtree.put(new DegreePosition(50.286120000000004, 8.669820000000001));
+ quadtree.put(new DegreePosition(50.27376, 8.665550000000001));
+ quadtree.put(new DegreePosition(50.26568, 8.662920000000002));
+ quadtree.put(new DegreePosition(50.26428000000001, 8.662640000000001));
+ quadtree.put(new DegreePosition(50.26334000000001, 8.662560000000001));
+ quadtree.put(new DegreePosition(50.248900000000006, 8.662740000000001));
+ quadtree.put(new DegreePosition(50.24667, 8.662730000000002));
+ quadtree.put(new DegreePosition(50.231930000000006, 8.662970000000001));
+ quadtree.put(new DegreePosition(50.21923, 8.6631));
+ quadtree.put(new DegreePosition(50.21822, 8.66305));
+ quadtree.put(new DegreePosition(50.21732, 8.66291));
+ quadtree.put(new DegreePosition(50.216240000000006, 8.66267));
+ quadtree.put(new DegreePosition(50.215270000000004, 8.662370000000001));
+ quadtree.put(new DegreePosition(50.214200000000005, 8.66192));
+ quadtree.put(new DegreePosition(50.21316, 8.661370000000002));
+ quadtree.put(new DegreePosition(50.21162, 8.660350000000001));
+ quadtree.put(new DegreePosition(50.210660000000004, 8.659600000000001));
+ quadtree.put(new DegreePosition(50.209430000000005, 8.65841));
+ quadtree.put(new DegreePosition(50.20864, 8.6575));
+ quadtree.put(new DegreePosition(50.208090000000006, 8.656830000000001));
+ quadtree.put(new DegreePosition(50.206920000000004, 8.65522));
+ quadtree.put(new DegreePosition(50.206500000000005, 8.65456));
+ quadtree.put(new DegreePosition(50.20488, 8.651760000000001));
+ quadtree.put(new DegreePosition(50.203190000000006, 8.649080000000001));
+ quadtree.put(new DegreePosition(50.19881, 8.64192));
+ quadtree.put(new DegreePosition(50.196600000000004, 8.637440000000002));
+ quadtree.put(new DegreePosition(50.188770000000005, 8.6239));
+ quadtree.put(new DegreePosition(50.18795, 8.62259));
+ quadtree.put(new DegreePosition(50.187070000000006, 8.621360000000001));
+ quadtree.put(new DegreePosition(50.18627000000001, 8.6204));
+ quadtree.put(new DegreePosition(50.185120000000005, 8.619190000000001));
+ quadtree.put(new DegreePosition(50.18388, 8.61808));
+ quadtree.put(new DegreePosition(50.182770000000005, 8.61726));
+ quadtree.put(new DegreePosition(50.18178, 8.61665));
+ quadtree.put(new DegreePosition(50.17159, 8.61101));
+ quadtree.put(new DegreePosition(50.16395000000001, 8.606710000000001));
+ quadtree.put(new DegreePosition(50.15317, 8.600760000000001));
+ quadtree.put(new DegreePosition(50.149210000000004, 8.598640000000001));
+ quadtree.put(new DegreePosition(50.14303, 8.59515));
+ quadtree.put(new DegreePosition(50.13889, 8.592960000000001));
+ quadtree.put(new DegreePosition(50.13496000000001, 8.590810000000001));
+ quadtree.put(new DegreePosition(50.1332, 8.590190000000002));
+ quadtree.put(new DegreePosition(50.13172, 8.58994));
+ quadtree.put(new DegreePosition(50.13055000000001, 8.58993));
+ quadtree.put(new DegreePosition(50.129450000000006, 8.59008));
+ quadtree.put(new DegreePosition(50.12838000000001, 8.590340000000001));
+ quadtree.put(new DegreePosition(50.12713, 8.59083));
+ quadtree.put(new DegreePosition(50.12621000000001, 8.591320000000001));
+ quadtree.put(new DegreePosition(50.118970000000004, 8.595970000000001));
+ quadtree.put(new DegreePosition(50.10857000000001, 8.60274));
+ quadtree.put(new DegreePosition(50.105970000000006, 8.604600000000001));
+ quadtree.put(new DegreePosition(50.105050000000006, 8.605410000000001));
+ quadtree.put(new DegreePosition(50.104200000000006, 8.60622));
+ quadtree.put(new DegreePosition(50.10295000000001, 8.607560000000001));
+ quadtree.put(new DegreePosition(50.10038, 8.61049));
+ quadtree.put(new DegreePosition(50.09879, 8.61238));
+ quadtree.put(new DegreePosition(50.09743, 8.61368));
+ quadtree.put(new DegreePosition(50.09572000000001, 8.6151));
+ quadtree.put(new DegreePosition(50.09489000000001, 8.61561));
+ quadtree.put(new DegreePosition(50.093360000000004, 8.616290000000001));
+ quadtree.put(new DegreePosition(50.09149000000001, 8.616940000000001));
+ quadtree.put(new DegreePosition(50.087880000000006, 8.617780000000002));
+ quadtree.put(new DegreePosition(50.08559, 8.618160000000001));
+ quadtree.put(new DegreePosition(50.08471, 8.61824));
+ quadtree.put(new DegreePosition(50.083000000000006, 8.61814));
+ quadtree.put(new DegreePosition(50.081680000000006, 8.617930000000001));
+ quadtree.put(new DegreePosition(50.080400000000004, 8.617560000000001));
+ quadtree.put(new DegreePosition(50.0797, 8.6173));
+ quadtree.put(new DegreePosition(50.07835000000001, 8.61668));
+ quadtree.put(new DegreePosition(50.06631, 8.61067));
+ quadtree.put(new DegreePosition(50.06239, 8.608640000000001));
+ quadtree.put(new DegreePosition(50.05212, 8.60364));
+ quadtree.put(new DegreePosition(50.03866000000001, 8.596810000000001));
+ quadtree.put(new DegreePosition(50.03486, 8.59505));
+ quadtree.put(new DegreePosition(50.033010000000004, 8.5943));
+ quadtree.put(new DegreePosition(50.03032, 8.59347));
+ quadtree.put(new DegreePosition(50.02763, 8.59284));
+ quadtree.put(new DegreePosition(50.025240000000004, 8.59252));
+ quadtree.put(new DegreePosition(50.024260000000005, 8.59247));
+ quadtree.put(new DegreePosition(50.02208, 8.59247));
+ quadtree.put(new DegreePosition(50.020790000000005, 8.592550000000001));
+ quadtree.put(new DegreePosition(50.019270000000006, 8.59271));
+ quadtree.put(new DegreePosition(50.016510000000004, 8.593240000000002));
+ quadtree.put(new DegreePosition(49.983160000000005, 8.60124));
+ quadtree.put(new DegreePosition(49.976580000000006, 8.60275));
+ quadtree.put(new DegreePosition(49.97316000000001, 8.60363));
+ quadtree.put(new DegreePosition(49.96228000000001, 8.60614));
+ quadtree.put(new DegreePosition(49.95414, 8.60811));
+ quadtree.put(new DegreePosition(49.95309, 8.608310000000001));
+ quadtree.put(new DegreePosition(49.95217, 8.60857));
+ quadtree.put(new DegreePosition(49.948350000000005, 8.609440000000001));
+ quadtree.put(new DegreePosition(49.943200000000004, 8.610750000000001));
+ quadtree.put(new DegreePosition(49.941720000000004, 8.611040000000001));
+ quadtree.put(new DegreePosition(49.935280000000006, 8.612530000000001));
+ quadtree.put(new DegreePosition(49.933550000000004, 8.6128));
+ quadtree.put(new DegreePosition(49.93207, 8.612960000000001));
+ quadtree.put(new DegreePosition(49.93084, 8.61302));
+ quadtree.put(new DegreePosition(49.928740000000005, 8.61299));
+ quadtree.put(new DegreePosition(49.926950000000005, 8.61283));
+ quadtree.put(new DegreePosition(49.92591, 8.61269));
+ quadtree.put(new DegreePosition(49.92389000000001, 8.612260000000001));
+ quadtree.put(new DegreePosition(49.92083, 8.6113));
+ quadtree.put(new DegreePosition(49.91532, 8.609390000000001));
+ quadtree.put(new DegreePosition(49.914170000000006, 8.60905));
+ quadtree.put(new DegreePosition(49.91042, 8.60819));
+ quadtree.put(new DegreePosition(49.89902000000001, 8.60598));
+ quadtree.put(new DegreePosition(49.89663, 8.605450000000001));
+ quadtree.put(new DegreePosition(49.887750000000004, 8.603710000000001));
+ quadtree.put(new DegreePosition(49.886900000000004, 8.603610000000002));
+ quadtree.put(new DegreePosition(49.88288000000001, 8.60288));
+ quadtree.put(new DegreePosition(49.87717000000001, 8.60196));
+ quadtree.put(new DegreePosition(49.874700000000004, 8.60147));
+ quadtree.put(new DegreePosition(49.87281, 8.60119));
+ quadtree.put(new DegreePosition(49.870450000000005, 8.60072));
+ quadtree.put(new DegreePosition(49.86542000000001, 8.599530000000001));
+ quadtree.put(new DegreePosition(49.86164, 8.59872));
+ quadtree.put(new DegreePosition(49.861450000000005, 8.59861));
+ quadtree.put(new DegreePosition(49.86047000000001, 8.598360000000001));
+ quadtree.put(new DegreePosition(49.857470000000006, 8.597240000000001));
+ quadtree.put(new DegreePosition(49.85718000000001, 8.59717));
+ quadtree.put(new DegreePosition(49.85662000000001, 8.597150000000001));
+ quadtree.put(new DegreePosition(49.856350000000006, 8.59721));
+ quadtree.put(new DegreePosition(49.85586000000001, 8.59744));
+ quadtree.put(new DegreePosition(49.85559000000001, 8.597660000000001));
+ quadtree.put(new DegreePosition(49.855250000000005, 8.598090000000001));
+ quadtree.put(new DegreePosition(49.854940000000006, 8.59862));
+ quadtree.put(new DegreePosition(49.85474000000001, 8.599110000000001));
+ quadtree.put(new DegreePosition(49.85452, 8.599860000000001));
+ quadtree.put(new DegreePosition(49.85405, 8.60206));
+ quadtree.put(new DegreePosition(49.8539, 8.602490000000001));
+ quadtree.put(new DegreePosition(49.85325, 8.603750000000002));
+ quadtree.put(new DegreePosition(49.851670000000006, 8.605870000000001));
+ quadtree.put(new DegreePosition(49.85031000000001, 8.6079));
+ quadtree.put(new DegreePosition(49.84915, 8.609850000000002));
+ quadtree.put(new DegreePosition(49.846590000000006, 8.61508));
+ quadtree.put(new DegreePosition(49.84149000000001, 8.626510000000001));
+ quadtree.put(new DegreePosition(49.840500000000006, 8.62828));
+ quadtree.put(new DegreePosition(49.839980000000004, 8.62898));
+ quadtree.put(new DegreePosition(49.838530000000006, 8.63066));
+ quadtree.put(new DegreePosition(49.83744, 8.6317));
+ quadtree.put(new DegreePosition(49.83612, 8.632670000000001));
+ quadtree.put(new DegreePosition(49.83462, 8.63345));
+ quadtree.put(new DegreePosition(49.83399000000001, 8.63371));
+ quadtree.put(new DegreePosition(49.832080000000005, 8.63414));
+ quadtree.put(new DegreePosition(49.831320000000005, 8.63423));
+ quadtree.put(new DegreePosition(49.830540000000006, 8.6342));
+ quadtree.put(new DegreePosition(49.82978000000001, 8.63409));
+ quadtree.put(new DegreePosition(49.82876, 8.633780000000002));
+ quadtree.put(new DegreePosition(49.82734000000001, 8.633180000000001));
+ quadtree.put(new DegreePosition(49.82462, 8.63161));
+ quadtree.put(new DegreePosition(49.821630000000006, 8.62977));
+ quadtree.put(new DegreePosition(49.820370000000004, 8.6292));
+ quadtree.put(new DegreePosition(49.81908000000001, 8.62875));
+ quadtree.put(new DegreePosition(49.81687, 8.62841));
+ quadtree.put(new DegreePosition(49.81134, 8.62866));
+ quadtree.put(new DegreePosition(49.81027, 8.62861));
+ quadtree.put(new DegreePosition(49.80881, 8.62828));
+ quadtree.put(new DegreePosition(49.80682, 8.627690000000001));
+ quadtree.put(new DegreePosition(49.80575, 8.62719));
+ quadtree.put(new DegreePosition(49.804100000000005, 8.62627));
+ quadtree.put(new DegreePosition(49.80192, 8.624780000000001));
+ quadtree.put(new DegreePosition(49.79887, 8.622520000000002));
+ quadtree.put(new DegreePosition(49.797380000000004, 8.62151));
+ quadtree.put(new DegreePosition(49.796110000000006, 8.620750000000001));
+ quadtree.put(new DegreePosition(49.79467, 8.62005));
+ quadtree.put(new DegreePosition(49.79345000000001, 8.619520000000001));
+ quadtree.put(new DegreePosition(49.792060000000006, 8.61903));
+ quadtree.put(new DegreePosition(49.79064, 8.61869));
+ quadtree.put(new DegreePosition(49.78909, 8.618390000000002));
+ quadtree.put(new DegreePosition(49.78412, 8.61762));
+ quadtree.put(new DegreePosition(49.78295000000001, 8.61738));
+ quadtree.put(new DegreePosition(49.78119, 8.61692));
+ quadtree.put(new DegreePosition(49.77975000000001, 8.616380000000001));
+ quadtree.put(new DegreePosition(49.778780000000005, 8.61593));
+ quadtree.put(new DegreePosition(49.777640000000005, 8.61528));
+ quadtree.put(new DegreePosition(49.77610000000001, 8.61415));
+ quadtree.put(new DegreePosition(49.77506, 8.613190000000001));
+ quadtree.put(new DegreePosition(49.77357000000001, 8.611600000000001));
+ quadtree.put(new DegreePosition(49.77299000000001, 8.61087));
+ quadtree.put(new DegreePosition(49.770830000000004, 8.607850000000001));
+ quadtree.put(new DegreePosition(49.76859, 8.604610000000001));
+ quadtree.put(new DegreePosition(49.768170000000005, 8.60405));
+ quadtree.put(new DegreePosition(49.76608, 8.60152));
+ quadtree.put(new DegreePosition(49.764790000000005, 8.60018));
+ quadtree.put(new DegreePosition(49.762150000000005, 8.59793));
+ quadtree.put(new DegreePosition(49.76151, 8.597430000000001));
+ quadtree.put(new DegreePosition(49.76024, 8.59665));
+ quadtree.put(new DegreePosition(49.757780000000004, 8.59553));
+ quadtree.put(new DegreePosition(49.756260000000005, 8.59491));
+ quadtree.put(new DegreePosition(49.75267, 8.59369));
+ quadtree.put(new DegreePosition(49.75119, 8.593290000000001));
+ quadtree.put(new DegreePosition(49.74869, 8.59272));
+ quadtree.put(new DegreePosition(49.745580000000004, 8.592160000000002));
+ quadtree.put(new DegreePosition(49.742180000000005, 8.59171));
+ quadtree.put(new DegreePosition(49.739290000000004, 8.59154));
+ quadtree.put(new DegreePosition(49.735220000000005, 8.591550000000002));
+ quadtree.put(new DegreePosition(49.73221, 8.59176));
+ quadtree.put(new DegreePosition(49.72905, 8.59223));
+ quadtree.put(new DegreePosition(49.72579, 8.592830000000001));
+ quadtree.put(new DegreePosition(49.722390000000004, 8.59373));
+ quadtree.put(new DegreePosition(49.715450000000004, 8.59572));
+ quadtree.put(new DegreePosition(49.705760000000005, 8.599260000000001));
+ quadtree.put(new DegreePosition(49.6989, 8.602160000000001));
+ quadtree.put(new DegreePosition(49.698060000000005, 8.602400000000001));
+ quadtree.put(new DegreePosition(49.695820000000005, 8.602820000000001));
+ quadtree.put(new DegreePosition(49.693780000000004, 8.602960000000001));
+ quadtree.put(new DegreePosition(49.69301, 8.602960000000001));
+ quadtree.put(new DegreePosition(49.6916, 8.602860000000002));
+ quadtree.put(new DegreePosition(49.69035, 8.602640000000001));
+ quadtree.put(new DegreePosition(49.689150000000005, 8.60234));
+ quadtree.put(new DegreePosition(49.68645, 8.60135));
+ quadtree.put(new DegreePosition(49.68348, 8.600140000000001));
+ quadtree.put(new DegreePosition(49.68186000000001, 8.599680000000001));
+ quadtree.put(new DegreePosition(49.67985, 8.599250000000001));
+ quadtree.put(new DegreePosition(49.678070000000005, 8.59914));
+ quadtree.put(new DegreePosition(49.676970000000004, 8.599160000000001));
+ quadtree.put(new DegreePosition(49.67475, 8.59946));
+ quadtree.put(new DegreePosition(49.672610000000006, 8.60003));
+ quadtree.put(new DegreePosition(49.669450000000005, 8.6013));
+ quadtree.put(new DegreePosition(49.667790000000004, 8.60214));
+ quadtree.put(new DegreePosition(49.6655, 8.60356));
+ quadtree.put(new DegreePosition(49.66145, 8.60621));
+ quadtree.put(new DegreePosition(49.65959, 8.607330000000001));
+ quadtree.put(new DegreePosition(49.657700000000006, 8.6083));
+ quadtree.put(new DegreePosition(49.65603, 8.60891));
+ quadtree.put(new DegreePosition(49.65431, 8.609340000000001));
+ quadtree.put(new DegreePosition(49.65194, 8.60959));
+ quadtree.put(new DegreePosition(49.649770000000004, 8.609620000000001));
+ quadtree.put(new DegreePosition(49.64312, 8.609250000000001));
+ quadtree.put(new DegreePosition(49.64190000000001, 8.60926));
+ quadtree.put(new DegreePosition(49.64029000000001, 8.609380000000002));
+ quadtree.put(new DegreePosition(49.63906, 8.609530000000001));
+ quadtree.put(new DegreePosition(49.63758000000001, 8.60983));
+ quadtree.put(new DegreePosition(49.63456000000001, 8.610570000000001));
+ quadtree.put(new DegreePosition(49.632870000000004, 8.61125));
+ quadtree.put(new DegreePosition(49.630630000000004, 8.612340000000001));
+ quadtree.put(new DegreePosition(49.62894000000001, 8.61344));
+ quadtree.put(new DegreePosition(49.627930000000006, 8.61416));
+ quadtree.put(new DegreePosition(49.62348, 8.61804));
+ quadtree.put(new DegreePosition(49.622220000000006, 8.61931));
+ quadtree.put(new DegreePosition(49.618030000000005, 8.623240000000001));
+ quadtree.put(new DegreePosition(49.6152, 8.6256));
+ quadtree.put(new DegreePosition(49.61211, 8.627540000000002));
+ quadtree.put(new DegreePosition(49.61057, 8.62833));
+ quadtree.put(new DegreePosition(49.60898, 8.62899));
+ quadtree.put(new DegreePosition(49.607150000000004, 8.629620000000001));
+ quadtree.put(new DegreePosition(49.604940000000006, 8.630170000000001));
+ quadtree.put(new DegreePosition(49.603770000000004, 8.63035));
+ quadtree.put(new DegreePosition(49.60065, 8.630640000000001));
+ quadtree.put(new DegreePosition(49.59897, 8.63086));
+ quadtree.put(new DegreePosition(49.59581000000001, 8.63113));
+ quadtree.put(new DegreePosition(49.59308000000001, 8.63165));
+ quadtree.put(new DegreePosition(49.59147, 8.63212));
+ quadtree.put(new DegreePosition(49.58559, 8.634110000000002));
+ quadtree.put(new DegreePosition(49.58408000000001, 8.634540000000001));
+ quadtree.put(new DegreePosition(49.582060000000006, 8.635010000000001));
+ quadtree.put(new DegreePosition(49.580670000000005, 8.635200000000001));
+ quadtree.put(new DegreePosition(49.57885, 8.635330000000002));
+ quadtree.put(new DegreePosition(49.57715, 8.63531));
+ quadtree.put(new DegreePosition(49.57417, 8.6349));
+ quadtree.put(new DegreePosition(49.572190000000006, 8.63455));
+ quadtree.put(new DegreePosition(49.570730000000005, 8.63413));
+ quadtree.put(new DegreePosition(49.568430000000006, 8.6333));
+ quadtree.put(new DegreePosition(49.565090000000005, 8.63171));
+ quadtree.put(new DegreePosition(49.560050000000004, 8.62922));
+ quadtree.put(new DegreePosition(49.55922, 8.62894));
+ quadtree.put(new DegreePosition(49.55603000000001, 8.628010000000002));
+ quadtree.put(new DegreePosition(49.55425, 8.62767));
+ quadtree.put(new DegreePosition(49.55111, 8.62743));
+ quadtree.put(new DegreePosition(49.548930000000006, 8.62748));
+ quadtree.put(new DegreePosition(49.548120000000004, 8.62757));
+ quadtree.put(new DegreePosition(49.54666, 8.62784));
+ quadtree.put(new DegreePosition(49.54466000000001, 8.62827));
+ quadtree.put(new DegreePosition(49.54215000000001, 8.62898));
+ quadtree.put(new DegreePosition(49.539440000000006, 8.62991));
+ quadtree.put(new DegreePosition(49.537850000000006, 8.63052));
+ quadtree.put(new DegreePosition(49.52872000000001, 8.63442));
+ quadtree.put(new DegreePosition(49.527300000000004, 8.63508));
+ quadtree.put(new DegreePosition(49.52526, 8.635860000000001));
+ quadtree.put(new DegreePosition(49.52337000000001, 8.636510000000001));
+ quadtree.put(new DegreePosition(49.52058, 8.637360000000001));
+ quadtree.put(new DegreePosition(49.518550000000005, 8.637910000000002));
+ quadtree.put(new DegreePosition(49.51503, 8.638770000000001));
+ quadtree.put(new DegreePosition(49.51098, 8.639330000000001));
+ quadtree.put(new DegreePosition(49.50845, 8.63959));
+ quadtree.put(new DegreePosition(49.50417, 8.639740000000002));
+ quadtree.put(new DegreePosition(49.499810000000004, 8.63963));
+ quadtree.put(new DegreePosition(49.49546, 8.63912));
+ quadtree.put(new DegreePosition(49.49306000000001, 8.638910000000001));
+ quadtree.put(new DegreePosition(49.490320000000004, 8.638760000000001));
+ quadtree.put(new DegreePosition(49.48669, 8.63865));
+ quadtree.put(new DegreePosition(49.484480000000005, 8.638760000000001));
+ quadtree.put(new DegreePosition(49.48073, 8.639330000000001));
+ quadtree.put(new DegreePosition(49.4776, 8.640130000000001));
+ quadtree.put(new DegreePosition(49.476310000000005, 8.64052));
+ quadtree.put(new DegreePosition(49.468500000000006, 8.64342));
+ quadtree.put(new DegreePosition(49.464470000000006, 8.64483));
+ quadtree.put(new DegreePosition(49.461290000000005, 8.64577));
+ quadtree.put(new DegreePosition(49.458690000000004, 8.64629));
+ quadtree.put(new DegreePosition(49.457530000000006, 8.646460000000001));
+ quadtree.put(new DegreePosition(49.455380000000005, 8.64666));
+ quadtree.put(new DegreePosition(49.453050000000005, 8.64668));
+ quadtree.put(new DegreePosition(49.451750000000004, 8.64661));
+ quadtree.put(new DegreePosition(49.450430000000004, 8.64647));
+ quadtree.put(new DegreePosition(49.44711, 8.64578));
+ quadtree.put(new DegreePosition(49.445350000000005, 8.6453));
+ quadtree.put(new DegreePosition(49.44398, 8.64478));
+ quadtree.put(new DegreePosition(49.44091, 8.64338));
+ quadtree.put(new DegreePosition(49.439840000000004, 8.64282));
+ quadtree.put(new DegreePosition(49.438340000000004, 8.64193));
+ quadtree.put(new DegreePosition(49.43139000000001, 8.63724));
+ quadtree.put(new DegreePosition(49.42933000000001, 8.636080000000002));
+ quadtree.put(new DegreePosition(49.427890000000005, 8.63537));
+ quadtree.put(new DegreePosition(49.426460000000006, 8.634820000000001));
+ quadtree.put(new DegreePosition(49.42436000000001, 8.634160000000001));
+ quadtree.put(new DegreePosition(49.422200000000004, 8.63371));
+ quadtree.put(new DegreePosition(49.42033000000001, 8.633500000000002));
+ quadtree.put(new DegreePosition(49.41946, 8.63347));
+ quadtree.put(new DegreePosition(49.41798000000001, 8.63348));
+ quadtree.put(new DegreePosition(49.415710000000004, 8.633700000000001));
+ quadtree.put(new DegreePosition(49.41463, 8.6339));
+ quadtree.put(new DegreePosition(49.412670000000006, 8.63437));
+ quadtree.put(new DegreePosition(49.411120000000004, 8.6349));
+ quadtree.put(new DegreePosition(49.40739000000001, 8.636330000000001));
+ quadtree.put(new DegreePosition(49.40572, 8.636800000000001));
+ quadtree.put(new DegreePosition(49.39164, 8.63865));
+ quadtree.put(new DegreePosition(49.39021, 8.63879));
+ quadtree.put(new DegreePosition(49.38855, 8.638720000000001));
+ quadtree.put(new DegreePosition(49.38721, 8.638480000000001));
+ quadtree.put(new DegreePosition(49.38656, 8.638290000000001));
+ quadtree.put(new DegreePosition(49.38440000000001, 8.63746));
+ quadtree.put(new DegreePosition(49.37805, 8.63387));
+ quadtree.put(new DegreePosition(49.376940000000005, 8.63334));
+ quadtree.put(new DegreePosition(49.376000000000005, 8.63297));
+ quadtree.put(new DegreePosition(49.37500000000001, 8.63269));
+ quadtree.put(new DegreePosition(49.373780000000004, 8.632480000000001));
+ quadtree.put(new DegreePosition(49.36988, 8.63222));
+ quadtree.put(new DegreePosition(49.36872, 8.632190000000001));
+ quadtree.put(new DegreePosition(49.364360000000005, 8.631910000000001));
+ quadtree.put(new DegreePosition(49.35228000000001, 8.63127));
+ quadtree.put(new DegreePosition(49.34911, 8.631160000000001));
+ quadtree.put(new DegreePosition(49.33944, 8.63067));
+ quadtree.put(new DegreePosition(49.31497, 8.62917));
+ quadtree.put(new DegreePosition(49.312200000000004, 8.62892));
+ quadtree.put(new DegreePosition(49.31073000000001, 8.628670000000001));
+ quadtree.put(new DegreePosition(49.303380000000004, 8.626940000000001));
+ quadtree.put(new DegreePosition(49.30293, 8.62654));
+ quadtree.put(new DegreePosition(49.30285000000001, 8.62644));
+ quadtree.put(new DegreePosition(49.302690000000005, 8.62608));
+ quadtree.put(new DegreePosition(49.30268, 8.62584));
+ quadtree.put(new DegreePosition(49.30299, 8.62268));
+ quadtree.put(new DegreePosition(49.30303000000001, 8.622010000000001));
+ quadtree.put(new DegreePosition(49.30299, 8.621730000000001));
+ quadtree.put(new DegreePosition(49.30293, 8.6216));
+ quadtree.put(new DegreePosition(49.30274000000001, 8.62147));
+ quadtree.put(new DegreePosition(49.30238000000001, 8.62139));
+ quadtree.put(new DegreePosition(49.302290000000006, 8.621310000000001));
+ quadtree.put(new DegreePosition(49.301950000000005, 8.62127));
+ quadtree.put(new DegreePosition(49.30187, 8.62279));
+ quadtree.put(new DegreePosition(49.30172, 8.62456));
+ quadtree.put(new DegreePosition(49.30134, 8.62697));
+ quadtree.put(new DegreePosition(49.30116, 8.627690000000001));
+ quadtree.put(new DegreePosition(49.30053, 8.629800000000001));
+ quadtree.put(new DegreePosition(49.299820000000004, 8.63142));
+ quadtree.put(new DegreePosition(49.29916, 8.6327));
+ quadtree.put(new DegreePosition(49.299530000000004, 8.63279));
+ quadtree.put(new DegreePosition(49.30006, 8.63272));
+ quadtree.put(new DegreePosition(49.30068000000001, 8.63277));
+ quadtree.put(new DegreePosition(49.30082, 8.63283));
+ quadtree.put(new DegreePosition(49.301050000000004, 8.633040000000001));
+ quadtree.put(new DegreePosition(49.300340000000006, 8.634780000000001));
+ quadtree.put(new DegreePosition(49.29995, 8.63593));
+ quadtree.put(new DegreePosition(49.299690000000005, 8.63723));
+ quadtree.put(new DegreePosition(49.299600000000005, 8.638200000000001));
+ quadtree.put(new DegreePosition(49.29963, 8.63973));
+ quadtree.put(new DegreePosition(49.299710000000005, 8.64104));
+ quadtree.put(new DegreePosition(49.29831, 8.643080000000001));
+ quadtree.put(new DegreePosition(49.29796, 8.64334));
+ quadtree.put(new DegreePosition(49.297920000000005, 8.643450000000001));
+ quadtree.put(new DegreePosition(49.297920000000005, 8.643590000000001));
+ quadtree.put(new DegreePosition(49.29798, 8.64389));
+ quadtree.put(new DegreePosition(49.299420000000005, 8.646180000000001));
+ quadtree.put(new DegreePosition(49.299580000000006, 8.64652));
+ quadtree.put(new DegreePosition(49.29955, 8.646640000000001));
+ quadtree.put(new DegreePosition(49.29957, 8.64677));
+ quadtree.put(new DegreePosition(49.299710000000005, 8.64681));
+ quadtree.put(new DegreePosition(49.29977, 8.646730000000002));
+ quadtree.put(new DegreePosition(49.299780000000005, 8.646640000000001));
+ quadtree.put(new DegreePosition(49.299690000000005, 8.64648));
+ quadtree.put(new DegreePosition(49.2997, 8.64638));
+ quadtree.put(new DegreePosition(49.29992000000001, 8.64586));
+ quadtree.put(new DegreePosition(49.29995, 8.64563));
+ quadtree.put(new DegreePosition(49.300790000000006, 8.644));
+ quadtree.put(new DegreePosition(49.301120000000004, 8.643650000000001));
+ quadtree.put(new DegreePosition(49.301390000000005, 8.64348));
+ quadtree.put(new DegreePosition(49.30283000000001, 8.642980000000001));
+ quadtree.put(new DegreePosition(49.30346, 8.642560000000001));
+ quadtree.put(new DegreePosition(49.30378, 8.64241));
+ quadtree.put(new DegreePosition(49.309740000000005, 8.64105));
+ quadtree.put(new DegreePosition(49.309760000000004, 8.64207));
+ quadtree.put(new DegreePosition(49.309140000000006, 8.64212));
+ quadtree.put(new DegreePosition(49.309140000000006, 8.643880000000001));
+ quadtree.put(new DegreePosition(49.30917, 8.64403));
+ quadtree.put(new DegreePosition(49.30923000000001, 8.644110000000001));
+ quadtree.put(new DegreePosition(49.30937, 8.644110000000001));
+
+ p1 = new DegreePosition(50.47498691278631, 8.701171875);
+ p2 = new DegreePosition(50.47149085139956, 8.7066650390625);
+ p3 = new DegreePosition(50.47848271564207, 8.7066650390625);
+ }
@Test
public void testNoNPEDuringSecondPutInSameLeaf() {
@@ -63,1132 +1217,6 @@ public class QuadTreeTest {
@Test
public void testDistance() {
- GLatLngQuadTree quadtree = new GLatLngQuadTree(new DegreePosition(49.29,
- 7.9), new DegreePosition(50.88506, 8.75), /* maxItems */30);
- quadtree.put(new DegreePosition(50.88505000000001, 7.995520000000001));
- quadtree.put(new DegreePosition(50.884930000000004, 7.996440000000001));
- quadtree.put(new DegreePosition(50.884840000000004, 7.99666));
- quadtree.put(new DegreePosition(50.8843, 7.997490000000001));
- quadtree.put(new DegreePosition(50.884240000000005, 7.997730000000001));
- quadtree.put(new DegreePosition(50.88423, 7.997980000000001));
- quadtree.put(new DegreePosition(50.8847, 7.999010000000001));
- quadtree.put(new DegreePosition(50.884600000000006, 7.999130000000001));
- quadtree.put(new DegreePosition(50.88448, 7.99938));
- quadtree.put(new DegreePosition(50.88421, 8.00014));
- quadtree.put(new DegreePosition(50.88382000000001, 8.00174));
- quadtree.put(new DegreePosition(50.88355000000001, 8.00263));
- quadtree.put(new DegreePosition(50.883570000000006, 8.00309));
- quadtree.put(new DegreePosition(50.883700000000005, 8.003530000000001));
- quadtree.put(new DegreePosition(50.88212000000001, 8.00539));
- quadtree.put(new DegreePosition(50.881620000000005, 8.006260000000001));
- quadtree.put(new DegreePosition(50.881080000000004, 8.007610000000001));
- quadtree.put(new DegreePosition(50.88103, 8.007900000000001));
- quadtree.put(new DegreePosition(50.88103, 8.009030000000001));
- quadtree.put(new DegreePosition(50.880880000000005, 8.009640000000001));
- quadtree.put(new DegreePosition(50.88047, 8.010860000000001));
- quadtree.put(new DegreePosition(50.880030000000005, 8.012500000000001));
- quadtree.put(new DegreePosition(50.87866, 8.016810000000001));
- quadtree.put(new DegreePosition(50.87832, 8.017790000000002));
- quadtree.put(new DegreePosition(50.878240000000005, 8.01793));
- quadtree.put(new DegreePosition(50.878150000000005, 8.01795));
- quadtree.put(new DegreePosition(50.87803, 8.01782));
- quadtree.put(new DegreePosition(50.87776, 8.01717));
- quadtree.put(new DegreePosition(50.8774, 8.01654));
- quadtree.put(new DegreePosition(50.87709, 8.01622));
- quadtree.put(new DegreePosition(50.87585000000001, 8.013850000000001));
- quadtree.put(new DegreePosition(50.87538000000001, 8.01304));
- quadtree.put(new DegreePosition(50.87402, 8.01111));
- quadtree.put(new DegreePosition(50.87028, 8.003960000000001));
- quadtree.put(new DegreePosition(50.869670000000006, 8.003160000000001));
- quadtree.put(new DegreePosition(50.86925, 8.002780000000001));
- quadtree.put(new DegreePosition(50.86858, 8.00244));
- quadtree.put(new DegreePosition(50.868, 8.002310000000001));
- quadtree.put(new DegreePosition(50.86739000000001, 8.00237));
- quadtree.put(new DegreePosition(50.867070000000005, 8.00248));
- quadtree.put(new DegreePosition(50.86674000000001, 8.00267));
- quadtree.put(new DegreePosition(50.865950000000005, 8.00333));
- quadtree.put(new DegreePosition(50.86545, 8.00398));
- quadtree.put(new DegreePosition(50.86459000000001, 8.0053));
- quadtree.put(new DegreePosition(50.86424, 8.00577));
- quadtree.put(new DegreePosition(50.863870000000006, 8.00618));
- quadtree.put(new DegreePosition(50.86352, 8.0065));
- quadtree.put(new DegreePosition(50.862970000000004, 8.006820000000001));
- quadtree.put(new DegreePosition(50.862370000000006, 8.00703));
- quadtree.put(new DegreePosition(50.86110000000001, 8.00722));
- quadtree.put(new DegreePosition(50.86061, 8.00721));
- quadtree.put(new DegreePosition(50.859860000000005, 8.00711));
- quadtree.put(new DegreePosition(50.85918, 8.006920000000001));
- quadtree.put(new DegreePosition(50.85824, 8.006120000000001));
- quadtree.put(new DegreePosition(50.85784, 8.005640000000001));
- quadtree.put(new DegreePosition(50.85757, 8.0052));
- quadtree.put(new DegreePosition(50.85752, 8.00496));
- quadtree.put(new DegreePosition(50.85752, 8.00463));
- quadtree.put(new DegreePosition(50.85963, 8.00209));
- quadtree.put(new DegreePosition(50.86046, 8.0008));
- quadtree.put(new DegreePosition(50.86081, 8.00008));
- quadtree.put(new DegreePosition(50.86113, 7.999230000000001));
- quadtree.put(new DegreePosition(50.86128, 7.998690000000001));
- quadtree.put(new DegreePosition(50.861430000000006, 7.997870000000001));
- quadtree.put(new DegreePosition(50.86149, 7.99706));
- quadtree.put(new DegreePosition(50.86149, 7.996150000000001));
- quadtree.put(new DegreePosition(50.86144, 7.9955300000000005));
- quadtree.put(new DegreePosition(50.86130000000001, 7.99476));
- quadtree.put(new DegreePosition(50.86106, 7.993900000000001));
- quadtree.put(new DegreePosition(50.860220000000005, 7.991490000000001));
- quadtree.put(new DegreePosition(50.859970000000004, 7.990360000000001));
- quadtree.put(new DegreePosition(50.859930000000006, 7.987780000000001));
- quadtree.put(new DegreePosition(50.859970000000004, 7.98737));
- quadtree.put(new DegreePosition(50.86059, 7.984820000000001));
- quadtree.put(new DegreePosition(50.86065000000001, 7.984260000000001));
- quadtree.put(new DegreePosition(50.860620000000004, 7.98359));
- quadtree.put(new DegreePosition(50.8605, 7.9831900000000005));
- quadtree.put(new DegreePosition(50.860310000000005, 7.98284));
- quadtree.put(new DegreePosition(50.86001, 7.982540000000001));
- quadtree.put(new DegreePosition(50.85971000000001, 7.982450000000001));
- quadtree.put(new DegreePosition(50.859410000000004, 7.98251));
- quadtree.put(new DegreePosition(50.85918, 7.982670000000001));
- quadtree.put(new DegreePosition(50.85898, 7.98291));
- quadtree.put(new DegreePosition(50.858790000000006, 7.983370000000001));
- quadtree.put(new DegreePosition(50.858520000000006, 7.9846));
- quadtree.put(new DegreePosition(50.8584, 7.98488));
- quadtree.put(new DegreePosition(50.858140000000006, 7.9851600000000005));
- quadtree.put(new DegreePosition(50.85756000000001, 7.9855100000000006));
- quadtree.put(new DegreePosition(50.85616, 7.985920000000001));
- quadtree.put(new DegreePosition(50.85548000000001, 7.98603));
- quadtree.put(new DegreePosition(50.85210000000001, 7.9863100000000005));
- quadtree.put(new DegreePosition(50.850970000000004, 7.98662));
- quadtree.put(new DegreePosition(50.849230000000006, 7.98739));
- quadtree.put(new DegreePosition(50.849030000000006, 7.98758));
- quadtree.put(new DegreePosition(50.84798000000001, 7.988300000000001));
- quadtree.put(new DegreePosition(50.84763, 7.988600000000001));
- quadtree.put(new DegreePosition(50.84695000000001, 7.989240000000001));
- quadtree.put(new DegreePosition(50.84591, 7.9903900000000005));
- quadtree.put(new DegreePosition(50.84514, 7.99143));
- quadtree.put(new DegreePosition(50.844370000000005, 7.992660000000001));
- quadtree.put(new DegreePosition(50.84355000000001, 7.994140000000001));
- quadtree.put(new DegreePosition(50.842800000000004, 7.9958800000000005));
- quadtree.put(new DegreePosition(50.84174, 7.99898));
- quadtree.put(new DegreePosition(50.84141, 7.9998700000000005));
- quadtree.put(new DegreePosition(50.84085, 8.00121));
- quadtree.put(new DegreePosition(50.84001000000001, 8.00285));
- quadtree.put(new DegreePosition(50.83823, 8.00586));
- quadtree.put(new DegreePosition(50.83747, 8.00736));
- quadtree.put(new DegreePosition(50.83702, 8.008410000000001));
- quadtree.put(new DegreePosition(50.83662, 8.00956));
- quadtree.put(new DegreePosition(50.83628, 8.01093));
- quadtree.put(new DegreePosition(50.83605000000001, 8.012160000000002));
- quadtree.put(new DegreePosition(50.83545, 8.016810000000001));
- quadtree.put(new DegreePosition(50.83491, 8.01938));
- quadtree.put(new DegreePosition(50.834250000000004, 8.02161));
- quadtree.put(new DegreePosition(50.83332000000001, 8.025210000000001));
- quadtree.put(new DegreePosition(50.8331, 8.0264));
- quadtree.put(new DegreePosition(50.83299, 8.027230000000001));
- quadtree.put(new DegreePosition(50.832890000000006, 8.028220000000001));
- quadtree.put(new DegreePosition(50.832820000000005, 8.0296));
- quadtree.put(new DegreePosition(50.83283, 8.030740000000002));
- quadtree.put(new DegreePosition(50.832950000000004, 8.03252));
- quadtree.put(new DegreePosition(50.833180000000006, 8.034790000000001));
- quadtree.put(new DegreePosition(50.833200000000005, 8.036140000000001));
- quadtree.put(new DegreePosition(50.83316000000001, 8.03739));
- quadtree.put(new DegreePosition(50.83312, 8.03801));
- quadtree.put(new DegreePosition(50.83299, 8.03907));
- quadtree.put(new DegreePosition(50.832730000000005, 8.04087));
- quadtree.put(new DegreePosition(50.83243, 8.042290000000001));
- quadtree.put(new DegreePosition(50.831880000000005, 8.04424));
- quadtree.put(new DegreePosition(50.83072000000001, 8.047070000000001));
- quadtree.put(new DegreePosition(50.8286, 8.051340000000001));
- quadtree.put(new DegreePosition(50.82793, 8.052610000000001));
- quadtree.put(new DegreePosition(50.827650000000006, 8.053410000000001));
- quadtree.put(new DegreePosition(50.827290000000005, 8.054680000000001));
- quadtree.put(new DegreePosition(50.82674, 8.05762));
- quadtree.put(new DegreePosition(50.826620000000005, 8.05882));
- quadtree.put(new DegreePosition(50.826550000000005, 8.06226));
- quadtree.put(new DegreePosition(50.82645, 8.0639));
- quadtree.put(new DegreePosition(50.8263, 8.065420000000001));
- quadtree.put(new DegreePosition(50.82591000000001, 8.06756));
- quadtree.put(new DegreePosition(50.825540000000004, 8.06884));
- quadtree.put(new DegreePosition(50.82486, 8.070490000000001));
- quadtree.put(new DegreePosition(50.82444, 8.07141));
- quadtree.put(new DegreePosition(50.82368, 8.07266));
- quadtree.put(new DegreePosition(50.821760000000005, 8.075130000000001));
- quadtree.put(new DegreePosition(50.821020000000004, 8.07614));
- quadtree.put(new DegreePosition(50.8205, 8.077));
- quadtree.put(new DegreePosition(50.819950000000006, 8.078240000000001));
- quadtree.put(new DegreePosition(50.81955000000001, 8.079450000000001));
- quadtree.put(new DegreePosition(50.819120000000005, 8.08103));
- quadtree.put(new DegreePosition(50.81859000000001, 8.08351));
- quadtree.put(new DegreePosition(50.818130000000004, 8.08783));
- quadtree.put(new DegreePosition(50.81796000000001, 8.088840000000001));
- quadtree.put(new DegreePosition(50.81774000000001, 8.08971));
- quadtree.put(new DegreePosition(50.817420000000006, 8.090670000000001));
- quadtree.put(new DegreePosition(50.81671000000001, 8.09238));
- quadtree.put(new DegreePosition(50.81647, 8.09285));
- quadtree.put(new DegreePosition(50.81557, 8.094370000000001));
- quadtree.put(new DegreePosition(50.814960000000006, 8.09521));
- quadtree.put(new DegreePosition(50.81427000000001, 8.09603));
- quadtree.put(new DegreePosition(50.81369, 8.0966));
- quadtree.put(new DegreePosition(50.81291, 8.09722));
- quadtree.put(new DegreePosition(50.81228, 8.09763));
- quadtree.put(new DegreePosition(50.81022, 8.098590000000002));
- quadtree.put(new DegreePosition(50.80885000000001, 8.098980000000001));
- quadtree.put(new DegreePosition(50.806900000000006, 8.09918));
- quadtree.put(new DegreePosition(50.805350000000004, 8.09904));
- quadtree.put(new DegreePosition(50.804460000000006, 8.098790000000001));
- quadtree.put(new DegreePosition(50.803180000000005, 8.09833));
- quadtree.put(new DegreePosition(50.79974000000001, 8.09685));
- quadtree.put(new DegreePosition(50.798950000000005, 8.09665));
- quadtree.put(new DegreePosition(50.797990000000006, 8.09664));
- quadtree.put(new DegreePosition(50.79683000000001, 8.096760000000002));
- quadtree.put(new DegreePosition(50.795730000000006, 8.09699));
- quadtree.put(new DegreePosition(50.794630000000005, 8.097520000000001));
- quadtree.put(new DegreePosition(50.79238, 8.099340000000002));
- quadtree.put(new DegreePosition(50.79153, 8.10016));
- quadtree.put(new DegreePosition(50.79068, 8.10111));
- quadtree.put(new DegreePosition(50.789970000000004, 8.10195));
- quadtree.put(new DegreePosition(50.78891, 8.103380000000001));
- quadtree.put(new DegreePosition(50.78833, 8.104230000000001));
- quadtree.put(new DegreePosition(50.78759, 8.10539));
- quadtree.put(new DegreePosition(50.786970000000004, 8.10646));
- quadtree.put(new DegreePosition(50.78605, 8.10823));
- quadtree.put(new DegreePosition(50.78566000000001, 8.10905));
- quadtree.put(new DegreePosition(50.784890000000004, 8.11107));
- quadtree.put(new DegreePosition(50.784670000000006, 8.11194));
- quadtree.put(new DegreePosition(50.78437, 8.11344));
- quadtree.put(new DegreePosition(50.784200000000006, 8.11463));
- quadtree.put(new DegreePosition(50.78407000000001, 8.11609));
- quadtree.put(new DegreePosition(50.78407000000001, 8.11761));
- quadtree.put(new DegreePosition(50.78412, 8.118820000000001));
- quadtree.put(new DegreePosition(50.784240000000004, 8.11996));
- quadtree.put(new DegreePosition(50.78457, 8.121500000000001));
- quadtree.put(new DegreePosition(50.785250000000005, 8.12428));
- quadtree.put(new DegreePosition(50.78555, 8.125720000000001));
- quadtree.put(new DegreePosition(50.78586000000001, 8.12766));
- quadtree.put(new DegreePosition(50.786060000000006, 8.129610000000001));
- quadtree.put(new DegreePosition(50.78614, 8.13101));
- quadtree.put(new DegreePosition(50.78609, 8.13326));
- quadtree.put(new DegreePosition(50.78598, 8.13451));
- quadtree.put(new DegreePosition(50.78578, 8.135900000000001));
- quadtree.put(new DegreePosition(50.7854, 8.137880000000001));
- quadtree.put(new DegreePosition(50.78511, 8.13907));
- quadtree.put(new DegreePosition(50.784330000000004, 8.14145));
- quadtree.put(new DegreePosition(50.783840000000005, 8.14282));
- quadtree.put(new DegreePosition(50.78352, 8.143510000000001));
- quadtree.put(new DegreePosition(50.78285, 8.1446));
- quadtree.put(new DegreePosition(50.781650000000006, 8.14638));
- quadtree.put(new DegreePosition(50.781330000000004, 8.146920000000001));
- quadtree.put(new DegreePosition(50.780280000000005, 8.148060000000001));
- quadtree.put(new DegreePosition(50.77908000000001, 8.149090000000001));
- quadtree.put(new DegreePosition(50.7781, 8.14973));
- quadtree.put(new DegreePosition(50.77716, 8.150160000000001));
- quadtree.put(new DegreePosition(50.77579, 8.15053));
- quadtree.put(new DegreePosition(50.773810000000005, 8.150770000000001));
- quadtree.put(new DegreePosition(50.772470000000006, 8.15085));
- quadtree.put(new DegreePosition(50.77046000000001, 8.15074));
- quadtree.put(new DegreePosition(50.76778, 8.15074));
- quadtree.put(new DegreePosition(50.76690000000001, 8.15079));
- quadtree.put(new DegreePosition(50.76615, 8.15093));
- quadtree.put(new DegreePosition(50.76543, 8.15116));
- quadtree.put(new DegreePosition(50.764480000000006, 8.151670000000001));
- quadtree.put(new DegreePosition(50.763690000000004, 8.15222));
- quadtree.put(new DegreePosition(50.76299, 8.152890000000001));
- quadtree.put(new DegreePosition(50.76243, 8.15352));
- quadtree.put(new DegreePosition(50.76185, 8.15432));
- quadtree.put(new DegreePosition(50.761190000000006, 8.15549));
- quadtree.put(new DegreePosition(50.760670000000005, 8.1567));
- quadtree.put(new DegreePosition(50.76019, 8.15832));
- quadtree.put(new DegreePosition(50.759910000000005, 8.15996));
- quadtree.put(new DegreePosition(50.75983, 8.16092));
- quadtree.put(new DegreePosition(50.75974, 8.16243));
- quadtree.put(new DegreePosition(50.759780000000006, 8.164000000000001));
- quadtree.put(new DegreePosition(50.75992, 8.16568));
- quadtree.put(new DegreePosition(50.75997, 8.168050000000001));
- quadtree.put(new DegreePosition(50.75992, 8.16923));
- quadtree.put(new DegreePosition(50.759820000000005, 8.170480000000001));
- quadtree.put(new DegreePosition(50.75959, 8.172130000000001));
- quadtree.put(new DegreePosition(50.759190000000004, 8.17365));
- quadtree.put(new DegreePosition(50.75893000000001, 8.17436));
- quadtree.put(new DegreePosition(50.75638000000001, 8.18037));
- quadtree.put(new DegreePosition(50.755810000000004, 8.181840000000001));
- quadtree.put(new DegreePosition(50.755410000000005, 8.18307));
- quadtree.put(new DegreePosition(50.755160000000004, 8.184000000000001));
- quadtree.put(new DegreePosition(50.75482, 8.185960000000001));
- quadtree.put(new DegreePosition(50.75464, 8.18824));
- quadtree.put(new DegreePosition(50.75457, 8.19096));
- quadtree.put(new DegreePosition(50.754670000000004, 8.193750000000001));
- quadtree.put(new DegreePosition(50.75482, 8.19589));
- quadtree.put(new DegreePosition(50.75533, 8.20124));
- quadtree.put(new DegreePosition(50.75542, 8.202910000000001));
- quadtree.put(new DegreePosition(50.755390000000006, 8.20532));
- quadtree.put(new DegreePosition(50.75526000000001, 8.206850000000001));
- quadtree.put(new DegreePosition(50.75502, 8.20803));
- quadtree.put(new DegreePosition(50.75486, 8.20864));
- quadtree.put(new DegreePosition(50.75448, 8.209750000000001));
- quadtree.put(new DegreePosition(50.75424, 8.210320000000001));
- quadtree.put(new DegreePosition(50.75347000000001, 8.211730000000001));
- quadtree.put(new DegreePosition(50.75301, 8.21236));
- quadtree.put(new DegreePosition(50.75206000000001, 8.213370000000001));
- quadtree.put(new DegreePosition(50.74982000000001, 8.215440000000001));
- quadtree.put(new DegreePosition(50.748900000000006, 8.21657));
- quadtree.put(new DegreePosition(50.74851, 8.21718));
- quadtree.put(new DegreePosition(50.748200000000004, 8.21775));
- quadtree.put(new DegreePosition(50.74777, 8.21879));
- quadtree.put(new DegreePosition(50.7475, 8.21968));
- quadtree.put(new DegreePosition(50.747240000000005, 8.220880000000001));
- quadtree.put(new DegreePosition(50.7471, 8.22189));
- quadtree.put(new DegreePosition(50.74703, 8.222710000000001));
- quadtree.put(new DegreePosition(50.746990000000004, 8.22573));
- quadtree.put(new DegreePosition(50.74696, 8.22653));
- quadtree.put(new DegreePosition(50.74687, 8.22747));
- quadtree.put(new DegreePosition(50.746680000000005, 8.228530000000001));
- quadtree.put(new DegreePosition(50.746410000000004, 8.22976));
- quadtree.put(new DegreePosition(50.74609, 8.23095));
- quadtree.put(new DegreePosition(50.74515, 8.23367));
- quadtree.put(new DegreePosition(50.744620000000005, 8.235650000000001));
- quadtree.put(new DegreePosition(50.744310000000006, 8.237150000000002));
- quadtree.put(new DegreePosition(50.744150000000005, 8.238480000000001));
- quadtree.put(new DegreePosition(50.7441, 8.240540000000001));
- quadtree.put(new DegreePosition(50.74418000000001, 8.24193));
- quadtree.put(new DegreePosition(50.74445000000001, 8.24365));
- quadtree.put(new DegreePosition(50.745020000000004, 8.245940000000001));
- quadtree.put(new DegreePosition(50.74539000000001, 8.24769));
- quadtree.put(new DegreePosition(50.74557, 8.24881));
- quadtree.put(new DegreePosition(50.74562, 8.249590000000001));
- quadtree.put(new DegreePosition(50.7456, 8.250290000000001));
- quadtree.put(new DegreePosition(50.74542, 8.25223));
- quadtree.put(new DegreePosition(50.74519, 8.253340000000001));
- quadtree.put(new DegreePosition(50.7449, 8.2543));
- quadtree.put(new DegreePosition(50.74461, 8.25505));
- quadtree.put(new DegreePosition(50.74306000000001, 8.25831));
- quadtree.put(new DegreePosition(50.74279000000001, 8.25904));
- quadtree.put(new DegreePosition(50.74255, 8.25988));
- quadtree.put(new DegreePosition(50.742270000000005, 8.2612));
- quadtree.put(new DegreePosition(50.74213, 8.262070000000001));
- quadtree.put(new DegreePosition(50.742070000000005, 8.26314));
- quadtree.put(new DegreePosition(50.742090000000005, 8.26567));
- quadtree.put(new DegreePosition(50.741980000000005, 8.26735));
- quadtree.put(new DegreePosition(50.74181, 8.2687));
- quadtree.put(new DegreePosition(50.741670000000006, 8.26931));
- quadtree.put(new DegreePosition(50.741080000000004, 8.27088));
- quadtree.put(new DegreePosition(50.74072, 8.27158));
- quadtree.put(new DegreePosition(50.740030000000004, 8.27257));
- quadtree.put(new DegreePosition(50.73962, 8.273000000000001));
- quadtree.put(new DegreePosition(50.73875, 8.27365));
- quadtree.put(new DegreePosition(50.73783, 8.27405));
- quadtree.put(new DegreePosition(50.73745, 8.27416));
- quadtree.put(new DegreePosition(50.736830000000005, 8.27424));
- quadtree.put(new DegreePosition(50.734120000000004, 8.274090000000001));
- quadtree.put(new DegreePosition(50.73353, 8.27411));
- quadtree.put(new DegreePosition(50.732890000000005, 8.27424));
- quadtree.put(new DegreePosition(50.73174, 8.274790000000001));
- quadtree.put(new DegreePosition(50.73114, 8.27524));
- quadtree.put(new DegreePosition(50.7306, 8.27574));
- quadtree.put(new DegreePosition(50.72831000000001, 8.27865));
- quadtree.put(new DegreePosition(50.727430000000005, 8.279480000000001));
- quadtree.put(new DegreePosition(50.72471, 8.28134));
- quadtree.put(new DegreePosition(50.72368, 8.282210000000001));
- quadtree.put(new DegreePosition(50.7229, 8.28307));
- quadtree.put(new DegreePosition(50.72126, 8.28542));
- quadtree.put(new DegreePosition(50.72023, 8.28669));
- quadtree.put(new DegreePosition(50.71963, 8.28725));
- quadtree.put(new DegreePosition(50.71885, 8.287880000000001));
- quadtree.put(new DegreePosition(50.718120000000006, 8.28832));
- quadtree.put(new DegreePosition(50.7173, 8.2887));
- quadtree.put(new DegreePosition(50.71656, 8.28897));
- quadtree.put(new DegreePosition(50.71553, 8.28916));
- quadtree.put(new DegreePosition(50.71408, 8.28923));
- quadtree.put(new DegreePosition(50.713060000000006, 8.28913));
- quadtree.put(new DegreePosition(50.709050000000005, 8.28805));
- quadtree.put(new DegreePosition(50.70792, 8.28781));
- quadtree.put(new DegreePosition(50.70673000000001, 8.28772));
- quadtree.put(new DegreePosition(50.705130000000004, 8.28782));
- quadtree.put(new DegreePosition(50.70335000000001, 8.28827));
- quadtree.put(new DegreePosition(50.70219, 8.28876));
- quadtree.put(new DegreePosition(50.70096, 8.289520000000001));
- quadtree.put(new DegreePosition(50.697030000000005, 8.29296));
- quadtree.put(new DegreePosition(50.69567000000001, 8.294));
- quadtree.put(new DegreePosition(50.69485, 8.294540000000001));
- quadtree.put(new DegreePosition(50.69411, 8.29495));
- quadtree.put(new DegreePosition(50.6933, 8.295300000000001));
- quadtree.put(new DegreePosition(50.692690000000006, 8.295490000000001));
- quadtree.put(new DegreePosition(50.692040000000006, 8.29561));
- quadtree.put(new DegreePosition(50.69153000000001, 8.29564));
- quadtree.put(new DegreePosition(50.69035, 8.295390000000001));
- quadtree.put(new DegreePosition(50.68981, 8.29517));
- quadtree.put(new DegreePosition(50.68932, 8.2949));
- quadtree.put(new DegreePosition(50.688970000000005, 8.29465));
- quadtree.put(new DegreePosition(50.68847, 8.29418));
- quadtree.put(new DegreePosition(50.687760000000004, 8.293230000000001));
- quadtree.put(new DegreePosition(50.68713, 8.29218));
- quadtree.put(new DegreePosition(50.68657, 8.29096));
- quadtree.put(new DegreePosition(50.68558, 8.289000000000001));
- quadtree.put(new DegreePosition(50.684940000000005, 8.28805));
- quadtree.put(new DegreePosition(50.684430000000006, 8.28739));
- quadtree.put(new DegreePosition(50.682970000000005, 8.2859));
- quadtree.put(new DegreePosition(50.68198, 8.28515));
- quadtree.put(new DegreePosition(50.68065000000001, 8.28434));
- quadtree.put(new DegreePosition(50.679410000000004, 8.28377));
- quadtree.put(new DegreePosition(50.67868000000001, 8.28353));
- quadtree.put(new DegreePosition(50.67734, 8.283330000000001));
- quadtree.put(new DegreePosition(50.676190000000005, 8.28331));
- quadtree.put(new DegreePosition(50.674110000000006, 8.28378));
- quadtree.put(new DegreePosition(50.672760000000004, 8.28443));
- quadtree.put(new DegreePosition(50.67183000000001, 8.28505));
- quadtree.put(new DegreePosition(50.671130000000005, 8.28561));
- quadtree.put(new DegreePosition(50.67058, 8.286140000000001));
- quadtree.put(new DegreePosition(50.66993, 8.28687));
- quadtree.put(new DegreePosition(50.66884, 8.28832));
- quadtree.put(new DegreePosition(50.66789000000001, 8.28984));
- quadtree.put(new DegreePosition(50.667030000000004, 8.291440000000001));
- quadtree.put(new DegreePosition(50.66601000000001, 8.29364));
- quadtree.put(new DegreePosition(50.665350000000004, 8.295240000000002));
- quadtree.put(new DegreePosition(50.66480000000001, 8.29676));
- quadtree.put(new DegreePosition(50.66442000000001, 8.29808));
- quadtree.put(new DegreePosition(50.66405, 8.299660000000001));
- quadtree.put(new DegreePosition(50.663720000000005, 8.30133));
- quadtree.put(new DegreePosition(50.66330000000001, 8.304300000000001));
- quadtree.put(new DegreePosition(50.66290000000001, 8.307960000000001));
- quadtree.put(new DegreePosition(50.662670000000006, 8.309560000000001));
- quadtree.put(new DegreePosition(50.6623, 8.31123));
- quadtree.put(new DegreePosition(50.66174, 8.313260000000001));
- quadtree.put(new DegreePosition(50.660970000000006, 8.315370000000001));
- quadtree.put(new DegreePosition(50.660320000000006, 8.316650000000001));
- quadtree.put(new DegreePosition(50.659740000000006, 8.317590000000001));
- quadtree.put(new DegreePosition(50.65899, 8.318570000000001));
- quadtree.put(new DegreePosition(50.658210000000004, 8.3193));
- quadtree.put(new DegreePosition(50.657070000000004, 8.31994));
- quadtree.put(new DegreePosition(50.65578000000001, 8.320300000000001));
- quadtree.put(new DegreePosition(50.65391, 8.320400000000001));
- quadtree.put(new DegreePosition(50.65328, 8.320500000000001));
- quadtree.put(new DegreePosition(50.65240000000001, 8.32074));
- quadtree.put(new DegreePosition(50.65128000000001, 8.32118));
- quadtree.put(new DegreePosition(50.65091, 8.32137));
- quadtree.put(new DegreePosition(50.6465, 8.32409));
- quadtree.put(new DegreePosition(50.645360000000004, 8.32454));
- quadtree.put(new DegreePosition(50.644740000000006, 8.32469));
- quadtree.put(new DegreePosition(50.64193, 8.32482));
- quadtree.put(new DegreePosition(50.639920000000004, 8.32511));
- quadtree.put(new DegreePosition(50.63812, 8.325650000000001));
- quadtree.put(new DegreePosition(50.63673000000001, 8.326400000000001));
- quadtree.put(new DegreePosition(50.635740000000006, 8.32704));
- quadtree.put(new DegreePosition(50.634570000000004, 8.32797));
- quadtree.put(new DegreePosition(50.63354, 8.32891));
- quadtree.put(new DegreePosition(50.63253, 8.32995));
- quadtree.put(new DegreePosition(50.629650000000005, 8.33336));
- quadtree.put(new DegreePosition(50.62903000000001, 8.33422));
- quadtree.put(new DegreePosition(50.628550000000004, 8.335));
- quadtree.put(new DegreePosition(50.62765, 8.33667));
- quadtree.put(new DegreePosition(50.627250000000004, 8.33755));
- quadtree.put(new DegreePosition(50.626760000000004, 8.33876));
- quadtree.put(new DegreePosition(50.62648, 8.33961));
- quadtree.put(new DegreePosition(50.62586, 8.341890000000001));
- quadtree.put(new DegreePosition(50.62556000000001, 8.34319));
- quadtree.put(new DegreePosition(50.62519, 8.34521));
- quadtree.put(new DegreePosition(50.624990000000004, 8.34656));
- quadtree.put(new DegreePosition(50.62485, 8.34781));
- quadtree.put(new DegreePosition(50.6246, 8.3511));
- quadtree.put(new DegreePosition(50.62435000000001, 8.352910000000001));
- quadtree.put(new DegreePosition(50.624050000000004, 8.3544));
- quadtree.put(new DegreePosition(50.623810000000006, 8.35543));
- quadtree.put(new DegreePosition(50.62366, 8.35593));
- quadtree.put(new DegreePosition(50.622240000000005, 8.359910000000001));
- quadtree.put(new DegreePosition(50.621770000000005, 8.36156));
- quadtree.put(new DegreePosition(50.62156, 8.362480000000001));
- quadtree.put(new DegreePosition(50.621230000000004, 8.3644));
- quadtree.put(new DegreePosition(50.62078, 8.36975));
- quadtree.put(new DegreePosition(50.620520000000006, 8.37114));
- quadtree.put(new DegreePosition(50.620160000000006, 8.37249));
- quadtree.put(new DegreePosition(50.61988, 8.373320000000001));
- quadtree.put(new DegreePosition(50.61932, 8.374690000000001));
- quadtree.put(new DegreePosition(50.61887, 8.375950000000001));
- quadtree.put(new DegreePosition(50.618570000000005, 8.37725));
- quadtree.put(new DegreePosition(50.61827, 8.37898));
- quadtree.put(new DegreePosition(50.618170000000006, 8.380270000000001));
- quadtree.put(new DegreePosition(50.61816, 8.382190000000001));
- quadtree.put(new DegreePosition(50.618520000000004, 8.389460000000001));
- quadtree.put(new DegreePosition(50.618570000000005, 8.39309));
- quadtree.put(new DegreePosition(50.618500000000004, 8.394480000000001));
- quadtree.put(new DegreePosition(50.618410000000004, 8.395470000000001));
- quadtree.put(new DegreePosition(50.61824000000001, 8.39675));
- quadtree.put(new DegreePosition(50.618080000000006, 8.39764));
- quadtree.put(new DegreePosition(50.61777000000001, 8.39906));
- quadtree.put(new DegreePosition(50.61713, 8.40116));
- quadtree.put(new DegreePosition(50.61679, 8.40215));
- quadtree.put(new DegreePosition(50.612660000000005, 8.413));
- quadtree.put(new DegreePosition(50.61168000000001, 8.415470000000001));
- quadtree.put(new DegreePosition(50.611430000000006, 8.41623));
- quadtree.put(new DegreePosition(50.61102, 8.41787));
- quadtree.put(new DegreePosition(50.61056000000001, 8.42032));
- quadtree.put(new DegreePosition(50.61019, 8.4238));
- quadtree.put(new DegreePosition(50.60992, 8.42535));
- quadtree.put(new DegreePosition(50.60947, 8.42707));
- quadtree.put(new DegreePosition(50.60904000000001, 8.42833));
- quadtree.put(new DegreePosition(50.60857000000001, 8.42956));
- quadtree.put(new DegreePosition(50.60792000000001, 8.43158));
- quadtree.put(new DegreePosition(50.60761, 8.432680000000001));
- quadtree.put(new DegreePosition(50.60723, 8.434370000000001));
- quadtree.put(new DegreePosition(50.60701, 8.43645));
- quadtree.put(new DegreePosition(50.60698000000001, 8.43796));
- quadtree.put(new DegreePosition(50.6071, 8.44045));
- quadtree.put(new DegreePosition(50.60718000000001, 8.443100000000001));
- quadtree.put(new DegreePosition(50.60717, 8.444220000000001));
- quadtree.put(new DegreePosition(50.607020000000006, 8.446140000000002));
- quadtree.put(new DegreePosition(50.606770000000004, 8.44772));
- quadtree.put(new DegreePosition(50.60647, 8.44902));
- quadtree.put(new DegreePosition(50.606100000000005, 8.450230000000001));
- quadtree.put(new DegreePosition(50.60551, 8.45195));
- quadtree.put(new DegreePosition(50.605030000000006, 8.45358));
- quadtree.put(new DegreePosition(50.60465000000001, 8.45495));
- quadtree.put(new DegreePosition(50.60445000000001, 8.455950000000001));
- quadtree.put(new DegreePosition(50.60427000000001, 8.457230000000001));
- quadtree.put(new DegreePosition(50.60421, 8.458060000000001));
- quadtree.put(new DegreePosition(50.60419, 8.45945));
- quadtree.put(new DegreePosition(50.6043, 8.46292));
- quadtree.put(new DegreePosition(50.604290000000006, 8.46471));
- quadtree.put(new DegreePosition(50.60416000000001, 8.4664));
- quadtree.put(new DegreePosition(50.603930000000005, 8.468));
- quadtree.put(new DegreePosition(50.603790000000004, 8.46873));
- quadtree.put(new DegreePosition(50.603570000000005, 8.469650000000001));
- quadtree.put(new DegreePosition(50.60318, 8.471));
- quadtree.put(new DegreePosition(50.60242, 8.473030000000001));
- quadtree.put(new DegreePosition(50.60193, 8.474110000000001));
- quadtree.put(new DegreePosition(50.60146, 8.47493));
- quadtree.put(new DegreePosition(50.600730000000006, 8.47606));
- quadtree.put(new DegreePosition(50.599160000000005, 8.478340000000001));
- quadtree.put(new DegreePosition(50.59787000000001, 8.480580000000002));
- quadtree.put(new DegreePosition(50.59725, 8.48202));
- quadtree.put(new DegreePosition(50.59673, 8.48366));
- quadtree.put(new DegreePosition(50.596270000000004, 8.48583));
- quadtree.put(new DegreePosition(50.59617, 8.48643));
- quadtree.put(new DegreePosition(50.596000000000004, 8.48804));
- quadtree.put(new DegreePosition(50.59592000000001, 8.490260000000001));
- quadtree.put(new DegreePosition(50.59588, 8.49361));
- quadtree.put(new DegreePosition(50.59581000000001, 8.49463));
- quadtree.put(new DegreePosition(50.595710000000004, 8.49549));
- quadtree.put(new DegreePosition(50.59539, 8.49712));
- quadtree.put(new DegreePosition(50.59505000000001, 8.49849));
- quadtree.put(new DegreePosition(50.594030000000004, 8.50145));
- quadtree.put(new DegreePosition(50.59357000000001, 8.50289));
- quadtree.put(new DegreePosition(50.593340000000005, 8.50379));
- quadtree.put(new DegreePosition(50.593160000000005, 8.50468));
- quadtree.put(new DegreePosition(50.59292000000001, 8.506120000000001));
- quadtree.put(new DegreePosition(50.59279, 8.50716));
- quadtree.put(new DegreePosition(50.592740000000006, 8.50793));
- quadtree.put(new DegreePosition(50.592740000000006, 8.50988));
- quadtree.put(new DegreePosition(50.59282, 8.51248));
- quadtree.put(new DegreePosition(50.59273, 8.513850000000001));
- quadtree.put(new DegreePosition(50.59245000000001, 8.5157));
- quadtree.put(new DegreePosition(50.592110000000005, 8.51736));
- quadtree.put(new DegreePosition(50.59109, 8.52072));
- quadtree.put(new DegreePosition(50.58995, 8.52393));
- quadtree.put(new DegreePosition(50.58919, 8.525780000000001));
- quadtree.put(new DegreePosition(50.588350000000005, 8.52753));
- quadtree.put(new DegreePosition(50.586940000000006, 8.53031));
- quadtree.put(new DegreePosition(50.585660000000004, 8.5327));
- quadtree.put(new DegreePosition(50.58467, 8.534270000000001));
- quadtree.put(new DegreePosition(50.582950000000004, 8.53668));
- quadtree.put(new DegreePosition(50.58055, 8.539750000000002));
- quadtree.put(new DegreePosition(50.57909, 8.541250000000002));
- quadtree.put(new DegreePosition(50.578230000000005, 8.542060000000001));
- quadtree.put(new DegreePosition(50.57721, 8.542910000000001));
- quadtree.put(new DegreePosition(50.57509, 8.544360000000001));
- quadtree.put(new DegreePosition(50.572190000000006, 8.546000000000001));
- quadtree.put(new DegreePosition(50.56996, 8.54697));
- quadtree.put(new DegreePosition(50.567350000000005, 8.548210000000001));
- quadtree.put(new DegreePosition(50.566590000000005, 8.548670000000001));
- quadtree.put(new DegreePosition(50.565740000000005, 8.5493));
- quadtree.put(new DegreePosition(50.56519, 8.54981));
- quadtree.put(new DegreePosition(50.56466, 8.55035));
- quadtree.put(new DegreePosition(50.56418000000001, 8.551010000000002));
- quadtree.put(new DegreePosition(50.56376, 8.551630000000001));
- quadtree.put(new DegreePosition(50.56293, 8.55311));
- quadtree.put(new DegreePosition(50.56206, 8.55527));
- quadtree.put(new DegreePosition(50.56136000000001, 8.55738));
- quadtree.put(new DegreePosition(50.56071000000001, 8.55915));
- quadtree.put(new DegreePosition(50.560230000000004, 8.560160000000002));
- quadtree.put(new DegreePosition(50.55978, 8.560970000000001));
- quadtree.put(new DegreePosition(50.55922, 8.56179));
- quadtree.put(new DegreePosition(50.558910000000004, 8.56215));
- quadtree.put(new DegreePosition(50.55834, 8.562700000000001));
- quadtree.put(new DegreePosition(50.55731, 8.56347));
- quadtree.put(new DegreePosition(50.55677000000001, 8.56377));
- quadtree.put(new DegreePosition(50.55624, 8.563960000000002));
- quadtree.put(new DegreePosition(50.55556000000001, 8.564110000000001));
- quadtree.put(new DegreePosition(50.55353, 8.564390000000001));
- quadtree.put(new DegreePosition(50.552040000000005, 8.56466));
- quadtree.put(new DegreePosition(50.55109, 8.56494));
- quadtree.put(new DegreePosition(50.550160000000005, 8.56536));
- quadtree.put(new DegreePosition(50.549730000000004, 8.565620000000001));
- quadtree.put(new DegreePosition(50.54919, 8.56601));
- quadtree.put(new DegreePosition(50.548460000000006, 8.56667));
- quadtree.put(new DegreePosition(50.54798, 8.567250000000001));
- quadtree.put(new DegreePosition(50.5469, 8.56872));
- quadtree.put(new DegreePosition(50.54536, 8.57126));
- quadtree.put(new DegreePosition(50.542260000000006, 8.576590000000001));
- quadtree.put(new DegreePosition(50.541430000000005, 8.577720000000001));
- quadtree.put(new DegreePosition(50.540580000000006, 8.57877));
- quadtree.put(new DegreePosition(50.539480000000005, 8.57994));
- quadtree.put(new DegreePosition(50.537870000000005, 8.58139));
- quadtree.put(new DegreePosition(50.53676, 8.582270000000001));
- quadtree.put(new DegreePosition(50.534110000000005, 8.58411));
- quadtree.put(new DegreePosition(50.53333000000001, 8.58478));
- quadtree.put(new DegreePosition(50.53266000000001, 8.585450000000002));
- quadtree.put(new DegreePosition(50.5317, 8.586540000000001));
- quadtree.put(new DegreePosition(50.53099, 8.587610000000002));
- quadtree.put(new DegreePosition(50.53056, 8.58835));
- quadtree.put(new DegreePosition(50.530080000000005, 8.58932));
- quadtree.put(new DegreePosition(50.52947, 8.590900000000001));
- quadtree.put(new DegreePosition(50.529050000000005, 8.592310000000001));
- quadtree.put(new DegreePosition(50.528800000000004, 8.593430000000001));
- quadtree.put(new DegreePosition(50.528620000000004, 8.594510000000001));
- quadtree.put(new DegreePosition(50.52828, 8.597700000000001));
- quadtree.put(new DegreePosition(50.527750000000005, 8.60692));
- quadtree.put(new DegreePosition(50.52731000000001, 8.61212));
- quadtree.put(new DegreePosition(50.526300000000006, 8.62259));
- quadtree.put(new DegreePosition(50.525800000000004, 8.626420000000001));
- quadtree.put(new DegreePosition(50.52514000000001, 8.630510000000001));
- quadtree.put(new DegreePosition(50.52481, 8.63277));
- quadtree.put(new DegreePosition(50.524010000000004, 8.6376));
- quadtree.put(new DegreePosition(50.52364000000001, 8.64067));
- quadtree.put(new DegreePosition(50.522420000000004, 8.645380000000001));
- quadtree.put(new DegreePosition(50.52181, 8.64794));
- quadtree.put(new DegreePosition(50.521530000000006, 8.648950000000001));
- quadtree.put(new DegreePosition(50.52031, 8.654100000000001));
- quadtree.put(new DegreePosition(50.51888, 8.65944));
- quadtree.put(new DegreePosition(50.51749, 8.66398));
- quadtree.put(new DegreePosition(50.51699000000001, 8.66531));
- quadtree.put(new DegreePosition(50.516650000000006, 8.666110000000002));
- quadtree.put(new DegreePosition(50.515150000000006, 8.66932));
- quadtree.put(new DegreePosition(50.5146, 8.67041));
- quadtree.put(new DegreePosition(50.513670000000005, 8.6721));
- quadtree.put(new DegreePosition(50.51285000000001, 8.673440000000001));
- quadtree.put(new DegreePosition(50.511810000000004, 8.674930000000002));
- quadtree.put(new DegreePosition(50.510630000000006, 8.67633));
- quadtree.put(new DegreePosition(50.50940000000001, 8.677700000000002));
- quadtree.put(new DegreePosition(50.508810000000004, 8.67824));
- quadtree.put(new DegreePosition(50.50750000000001, 8.67932));
- quadtree.put(new DegreePosition(50.50681, 8.679810000000002));
- quadtree.put(new DegreePosition(50.50526000000001, 8.680760000000001));
- quadtree.put(new DegreePosition(50.504470000000005, 8.68116));
- quadtree.put(new DegreePosition(50.50274, 8.681830000000001));
- quadtree.put(new DegreePosition(50.50198, 8.682070000000001));
- quadtree.put(new DegreePosition(50.498810000000006, 8.682690000000001));
- quadtree.put(new DegreePosition(50.49728, 8.68313));
- quadtree.put(new DegreePosition(50.49476000000001, 8.68368));
- quadtree.put(new DegreePosition(50.49369, 8.684050000000001));
- quadtree.put(new DegreePosition(50.49269, 8.68449));
- quadtree.put(new DegreePosition(50.49157, 8.68506));
- quadtree.put(new DegreePosition(50.490520000000004, 8.685740000000001));
- quadtree.put(new DegreePosition(50.48989, 8.68622));
- quadtree.put(new DegreePosition(50.48901000000001, 8.686950000000001));
- quadtree.put(new DegreePosition(50.488040000000005, 8.687940000000001));
- quadtree.put(new DegreePosition(50.487010000000005, 8.68913));
- quadtree.put(new DegreePosition(50.48583000000001, 8.69068));
- quadtree.put(new DegreePosition(50.484260000000006, 8.69318));
- quadtree.put(new DegreePosition(50.483340000000005, 8.69505));
- quadtree.put(new DegreePosition(50.48272000000001, 8.69658));
- quadtree.put(new DegreePosition(50.482110000000006, 8.698260000000001));
- quadtree.put(new DegreePosition(50.481390000000005, 8.70049));
- quadtree.put(new DegreePosition(50.48093, 8.70208));
- quadtree.put(new DegreePosition(50.48021000000001, 8.705020000000001));
- quadtree.put(new DegreePosition(50.47822000000001, 8.71437));
- quadtree.put(new DegreePosition(50.477940000000004, 8.715430000000001));
- quadtree.put(new DegreePosition(50.47721000000001, 8.717260000000001));
- quadtree.put(new DegreePosition(50.47652, 8.718820000000001));
- quadtree.put(new DegreePosition(50.476240000000004, 8.71929));
- quadtree.put(new DegreePosition(50.475660000000005, 8.72009));
- quadtree.put(new DegreePosition(50.47426, 8.72159));
- quadtree.put(new DegreePosition(50.47375, 8.722000000000001));
- quadtree.put(new DegreePosition(50.47307000000001, 8.7224));
- quadtree.put(new DegreePosition(50.472390000000004, 8.72273));
- quadtree.put(new DegreePosition(50.47173, 8.72295));
- quadtree.put(new DegreePosition(50.471050000000005, 8.723090000000001));
- quadtree.put(new DegreePosition(50.46989000000001, 8.723080000000001));
- quadtree.put(new DegreePosition(50.46876, 8.72295));
- quadtree.put(new DegreePosition(50.466840000000005, 8.72241));
- quadtree.put(new DegreePosition(50.465230000000005, 8.721820000000001));
- quadtree.put(new DegreePosition(50.46338, 8.72098));
- quadtree.put(new DegreePosition(50.463100000000004, 8.72091));
- quadtree.put(new DegreePosition(50.461200000000005, 8.71997));
- quadtree.put(new DegreePosition(50.46023, 8.71925));
- quadtree.put(new DegreePosition(50.459410000000005, 8.718570000000001));
- quadtree.put(new DegreePosition(50.458600000000004, 8.7178));
- quadtree.put(new DegreePosition(50.45769000000001, 8.716790000000001));
- quadtree.put(new DegreePosition(50.456610000000005, 8.71546));
- quadtree.put(new DegreePosition(50.455490000000005, 8.7139));
- quadtree.put(new DegreePosition(50.45445, 8.712250000000001));
- quadtree.put(new DegreePosition(50.45373000000001, 8.710980000000001));
- quadtree.put(new DegreePosition(50.45327, 8.71006));
- quadtree.put(new DegreePosition(50.45239, 8.70799));
- quadtree.put(new DegreePosition(50.44941000000001, 8.70059));
- quadtree.put(new DegreePosition(50.448820000000005, 8.69945));
- quadtree.put(new DegreePosition(50.448460000000004, 8.69888));
- quadtree.put(new DegreePosition(50.447900000000004, 8.69806));
- quadtree.put(new DegreePosition(50.44698, 8.69688));
- quadtree.put(new DegreePosition(50.44641000000001, 8.6963));
- quadtree.put(new DegreePosition(50.44548, 8.695500000000001));
- quadtree.put(new DegreePosition(50.44501, 8.695160000000001));
- quadtree.put(new DegreePosition(50.44411, 8.69472));
- quadtree.put(new DegreePosition(50.44333, 8.69443));
- quadtree.put(new DegreePosition(50.44202000000001, 8.694180000000001));
- quadtree.put(new DegreePosition(50.44145, 8.694170000000002));
- quadtree.put(new DegreePosition(50.440560000000005, 8.69425));
- quadtree.put(new DegreePosition(50.432640000000006, 8.69574));
- quadtree.put(new DegreePosition(50.42264, 8.697370000000001));
- quadtree.put(new DegreePosition(50.405300000000004, 8.70054));
- quadtree.put(new DegreePosition(50.395720000000004, 8.70219));
- quadtree.put(new DegreePosition(50.391580000000005, 8.70298));
- quadtree.put(new DegreePosition(50.38085, 8.7048));
- quadtree.put(new DegreePosition(50.375750000000004, 8.70561));
- quadtree.put(new DegreePosition(50.374950000000005, 8.70569));
- quadtree.put(new DegreePosition(50.373850000000004, 8.70564));
- quadtree.put(new DegreePosition(50.37259, 8.705400000000001));
- quadtree.put(new DegreePosition(50.37050000000001, 8.70457));
- quadtree.put(new DegreePosition(50.369170000000004, 8.70387));
- quadtree.put(new DegreePosition(50.367610000000006, 8.702910000000001));
- quadtree.put(new DegreePosition(50.36612, 8.7018));
- quadtree.put(new DegreePosition(50.36075, 8.6972));
- quadtree.put(new DegreePosition(50.35831, 8.69533));
- quadtree.put(new DegreePosition(50.356950000000005, 8.69443));
- quadtree.put(new DegreePosition(50.35558, 8.69372));
- quadtree.put(new DegreePosition(50.354400000000005, 8.69335));
- quadtree.put(new DegreePosition(50.35246, 8.69284));
- quadtree.put(new DegreePosition(50.35105, 8.692620000000002));
- quadtree.put(new DegreePosition(50.350170000000006, 8.69257));
- quadtree.put(new DegreePosition(50.34955, 8.692580000000001));
- quadtree.put(new DegreePosition(50.34857, 8.69275));
- quadtree.put(new DegreePosition(50.346230000000006, 8.693470000000001));
- quadtree.put(new DegreePosition(50.341210000000004, 8.69532));
- quadtree.put(new DegreePosition(50.34002, 8.695680000000001));
- quadtree.put(new DegreePosition(50.33867000000001, 8.695910000000001));
- quadtree.put(new DegreePosition(50.33753, 8.69594));
- quadtree.put(new DegreePosition(50.3361, 8.695860000000001));
- quadtree.put(new DegreePosition(50.333580000000005, 8.69542));
- quadtree.put(new DegreePosition(50.32048, 8.69252));
- quadtree.put(new DegreePosition(50.31851, 8.69196));
- quadtree.put(new DegreePosition(50.31781, 8.6917));
- quadtree.put(new DegreePosition(50.31709000000001, 8.69139));
- quadtree.put(new DegreePosition(50.31595, 8.690760000000001));
- quadtree.put(new DegreePosition(50.314600000000006, 8.68979));
- quadtree.put(new DegreePosition(50.31338, 8.68871));
- quadtree.put(new DegreePosition(50.31116, 8.68621));
- quadtree.put(new DegreePosition(50.30666, 8.680890000000002));
- quadtree.put(new DegreePosition(50.3034, 8.67722));
- quadtree.put(new DegreePosition(50.302640000000004, 8.67643));
- quadtree.put(new DegreePosition(50.301930000000006, 8.675830000000001));
- quadtree.put(new DegreePosition(50.30136, 8.675410000000001));
- quadtree.put(new DegreePosition(50.30044, 8.67488));
- quadtree.put(new DegreePosition(50.298860000000005, 8.674140000000001));
- quadtree.put(new DegreePosition(50.29008, 8.67112));
- quadtree.put(new DegreePosition(50.286120000000004, 8.669820000000001));
- quadtree.put(new DegreePosition(50.27376, 8.665550000000001));
- quadtree.put(new DegreePosition(50.26568, 8.662920000000002));
- quadtree.put(new DegreePosition(50.26428000000001, 8.662640000000001));
- quadtree.put(new DegreePosition(50.26334000000001, 8.662560000000001));
- quadtree.put(new DegreePosition(50.248900000000006, 8.662740000000001));
- quadtree.put(new DegreePosition(50.24667, 8.662730000000002));
- quadtree.put(new DegreePosition(50.231930000000006, 8.662970000000001));
- quadtree.put(new DegreePosition(50.21923, 8.6631));
- quadtree.put(new DegreePosition(50.21822, 8.66305));
- quadtree.put(new DegreePosition(50.21732, 8.66291));
- quadtree.put(new DegreePosition(50.216240000000006, 8.66267));
- quadtree.put(new DegreePosition(50.215270000000004, 8.662370000000001));
- quadtree.put(new DegreePosition(50.214200000000005, 8.66192));
- quadtree.put(new DegreePosition(50.21316, 8.661370000000002));
- quadtree.put(new DegreePosition(50.21162, 8.660350000000001));
- quadtree.put(new DegreePosition(50.210660000000004, 8.659600000000001));
- quadtree.put(new DegreePosition(50.209430000000005, 8.65841));
- quadtree.put(new DegreePosition(50.20864, 8.6575));
- quadtree.put(new DegreePosition(50.208090000000006, 8.656830000000001));
- quadtree.put(new DegreePosition(50.206920000000004, 8.65522));
- quadtree.put(new DegreePosition(50.206500000000005, 8.65456));
- quadtree.put(new DegreePosition(50.20488, 8.651760000000001));
- quadtree.put(new DegreePosition(50.203190000000006, 8.649080000000001));
- quadtree.put(new DegreePosition(50.19881, 8.64192));
- quadtree.put(new DegreePosition(50.196600000000004, 8.637440000000002));
- quadtree.put(new DegreePosition(50.188770000000005, 8.6239));
- quadtree.put(new DegreePosition(50.18795, 8.62259));
- quadtree.put(new DegreePosition(50.187070000000006, 8.621360000000001));
- quadtree.put(new DegreePosition(50.18627000000001, 8.6204));
- quadtree.put(new DegreePosition(50.185120000000005, 8.619190000000001));
- quadtree.put(new DegreePosition(50.18388, 8.61808));
- quadtree.put(new DegreePosition(50.182770000000005, 8.61726));
- quadtree.put(new DegreePosition(50.18178, 8.61665));
- quadtree.put(new DegreePosition(50.17159, 8.61101));
- quadtree.put(new DegreePosition(50.16395000000001, 8.606710000000001));
- quadtree.put(new DegreePosition(50.15317, 8.600760000000001));
- quadtree.put(new DegreePosition(50.149210000000004, 8.598640000000001));
- quadtree.put(new DegreePosition(50.14303, 8.59515));
- quadtree.put(new DegreePosition(50.13889, 8.592960000000001));
- quadtree.put(new DegreePosition(50.13496000000001, 8.590810000000001));
- quadtree.put(new DegreePosition(50.1332, 8.590190000000002));
- quadtree.put(new DegreePosition(50.13172, 8.58994));
- quadtree.put(new DegreePosition(50.13055000000001, 8.58993));
- quadtree.put(new DegreePosition(50.129450000000006, 8.59008));
- quadtree.put(new DegreePosition(50.12838000000001, 8.590340000000001));
- quadtree.put(new DegreePosition(50.12713, 8.59083));
- quadtree.put(new DegreePosition(50.12621000000001, 8.591320000000001));
- quadtree.put(new DegreePosition(50.118970000000004, 8.595970000000001));
- quadtree.put(new DegreePosition(50.10857000000001, 8.60274));
- quadtree.put(new DegreePosition(50.105970000000006, 8.604600000000001));
- quadtree.put(new DegreePosition(50.105050000000006, 8.605410000000001));
- quadtree.put(new DegreePosition(50.104200000000006, 8.60622));
- quadtree.put(new DegreePosition(50.10295000000001, 8.607560000000001));
- quadtree.put(new DegreePosition(50.10038, 8.61049));
- quadtree.put(new DegreePosition(50.09879, 8.61238));
- quadtree.put(new DegreePosition(50.09743, 8.61368));
- quadtree.put(new DegreePosition(50.09572000000001, 8.6151));
- quadtree.put(new DegreePosition(50.09489000000001, 8.61561));
- quadtree.put(new DegreePosition(50.093360000000004, 8.616290000000001));
- quadtree.put(new DegreePosition(50.09149000000001, 8.616940000000001));
- quadtree.put(new DegreePosition(50.087880000000006, 8.617780000000002));
- quadtree.put(new DegreePosition(50.08559, 8.618160000000001));
- quadtree.put(new DegreePosition(50.08471, 8.61824));
- quadtree.put(new DegreePosition(50.083000000000006, 8.61814));
- quadtree.put(new DegreePosition(50.081680000000006, 8.617930000000001));
- quadtree.put(new DegreePosition(50.080400000000004, 8.617560000000001));
- quadtree.put(new DegreePosition(50.0797, 8.6173));
- quadtree.put(new DegreePosition(50.07835000000001, 8.61668));
- quadtree.put(new DegreePosition(50.06631, 8.61067));
- quadtree.put(new DegreePosition(50.06239, 8.608640000000001));
- quadtree.put(new DegreePosition(50.05212, 8.60364));
- quadtree.put(new DegreePosition(50.03866000000001, 8.596810000000001));
- quadtree.put(new DegreePosition(50.03486, 8.59505));
- quadtree.put(new DegreePosition(50.033010000000004, 8.5943));
- quadtree.put(new DegreePosition(50.03032, 8.59347));
- quadtree.put(new DegreePosition(50.02763, 8.59284));
- quadtree.put(new DegreePosition(50.025240000000004, 8.59252));
- quadtree.put(new DegreePosition(50.024260000000005, 8.59247));
- quadtree.put(new DegreePosition(50.02208, 8.59247));
- quadtree.put(new DegreePosition(50.020790000000005, 8.592550000000001));
- quadtree.put(new DegreePosition(50.019270000000006, 8.59271));
- quadtree.put(new DegreePosition(50.016510000000004, 8.593240000000002));
- quadtree.put(new DegreePosition(49.983160000000005, 8.60124));
- quadtree.put(new DegreePosition(49.976580000000006, 8.60275));
- quadtree.put(new DegreePosition(49.97316000000001, 8.60363));
- quadtree.put(new DegreePosition(49.96228000000001, 8.60614));
- quadtree.put(new DegreePosition(49.95414, 8.60811));
- quadtree.put(new DegreePosition(49.95309, 8.608310000000001));
- quadtree.put(new DegreePosition(49.95217, 8.60857));
- quadtree.put(new DegreePosition(49.948350000000005, 8.609440000000001));
- quadtree.put(new DegreePosition(49.943200000000004, 8.610750000000001));
- quadtree.put(new DegreePosition(49.941720000000004, 8.611040000000001));
- quadtree.put(new DegreePosition(49.935280000000006, 8.612530000000001));
- quadtree.put(new DegreePosition(49.933550000000004, 8.6128));
- quadtree.put(new DegreePosition(49.93207, 8.612960000000001));
- quadtree.put(new DegreePosition(49.93084, 8.61302));
- quadtree.put(new DegreePosition(49.928740000000005, 8.61299));
- quadtree.put(new DegreePosition(49.926950000000005, 8.61283));
- quadtree.put(new DegreePosition(49.92591, 8.61269));
- quadtree.put(new DegreePosition(49.92389000000001, 8.612260000000001));
- quadtree.put(new DegreePosition(49.92083, 8.6113));
- quadtree.put(new DegreePosition(49.91532, 8.609390000000001));
- quadtree.put(new DegreePosition(49.914170000000006, 8.60905));
- quadtree.put(new DegreePosition(49.91042, 8.60819));
- quadtree.put(new DegreePosition(49.89902000000001, 8.60598));
- quadtree.put(new DegreePosition(49.89663, 8.605450000000001));
- quadtree.put(new DegreePosition(49.887750000000004, 8.603710000000001));
- quadtree.put(new DegreePosition(49.886900000000004, 8.603610000000002));
- quadtree.put(new DegreePosition(49.88288000000001, 8.60288));
- quadtree.put(new DegreePosition(49.87717000000001, 8.60196));
- quadtree.put(new DegreePosition(49.874700000000004, 8.60147));
- quadtree.put(new DegreePosition(49.87281, 8.60119));
- quadtree.put(new DegreePosition(49.870450000000005, 8.60072));
- quadtree.put(new DegreePosition(49.86542000000001, 8.599530000000001));
- quadtree.put(new DegreePosition(49.86164, 8.59872));
- quadtree.put(new DegreePosition(49.861450000000005, 8.59861));
- quadtree.put(new DegreePosition(49.86047000000001, 8.598360000000001));
- quadtree.put(new DegreePosition(49.857470000000006, 8.597240000000001));
- quadtree.put(new DegreePosition(49.85718000000001, 8.59717));
- quadtree.put(new DegreePosition(49.85662000000001, 8.597150000000001));
- quadtree.put(new DegreePosition(49.856350000000006, 8.59721));
- quadtree.put(new DegreePosition(49.85586000000001, 8.59744));
- quadtree.put(new DegreePosition(49.85559000000001, 8.597660000000001));
- quadtree.put(new DegreePosition(49.855250000000005, 8.598090000000001));
- quadtree.put(new DegreePosition(49.854940000000006, 8.59862));
- quadtree.put(new DegreePosition(49.85474000000001, 8.599110000000001));
- quadtree.put(new DegreePosition(49.85452, 8.599860000000001));
- quadtree.put(new DegreePosition(49.85405, 8.60206));
- quadtree.put(new DegreePosition(49.8539, 8.602490000000001));
- quadtree.put(new DegreePosition(49.85325, 8.603750000000002));
- quadtree.put(new DegreePosition(49.851670000000006, 8.605870000000001));
- quadtree.put(new DegreePosition(49.85031000000001, 8.6079));
- quadtree.put(new DegreePosition(49.84915, 8.609850000000002));
- quadtree.put(new DegreePosition(49.846590000000006, 8.61508));
- quadtree.put(new DegreePosition(49.84149000000001, 8.626510000000001));
- quadtree.put(new DegreePosition(49.840500000000006, 8.62828));
- quadtree.put(new DegreePosition(49.839980000000004, 8.62898));
- quadtree.put(new DegreePosition(49.838530000000006, 8.63066));
- quadtree.put(new DegreePosition(49.83744, 8.6317));
- quadtree.put(new DegreePosition(49.83612, 8.632670000000001));
- quadtree.put(new DegreePosition(49.83462, 8.63345));
- quadtree.put(new DegreePosition(49.83399000000001, 8.63371));
- quadtree.put(new DegreePosition(49.832080000000005, 8.63414));
- quadtree.put(new DegreePosition(49.831320000000005, 8.63423));
- quadtree.put(new DegreePosition(49.830540000000006, 8.6342));
- quadtree.put(new DegreePosition(49.82978000000001, 8.63409));
- quadtree.put(new DegreePosition(49.82876, 8.633780000000002));
- quadtree.put(new DegreePosition(49.82734000000001, 8.633180000000001));
- quadtree.put(new DegreePosition(49.82462, 8.63161));
- quadtree.put(new DegreePosition(49.821630000000006, 8.62977));
- quadtree.put(new DegreePosition(49.820370000000004, 8.6292));
- quadtree.put(new DegreePosition(49.81908000000001, 8.62875));
- quadtree.put(new DegreePosition(49.81687, 8.62841));
- quadtree.put(new DegreePosition(49.81134, 8.62866));
- quadtree.put(new DegreePosition(49.81027, 8.62861));
- quadtree.put(new DegreePosition(49.80881, 8.62828));
- quadtree.put(new DegreePosition(49.80682, 8.627690000000001));
- quadtree.put(new DegreePosition(49.80575, 8.62719));
- quadtree.put(new DegreePosition(49.804100000000005, 8.62627));
- quadtree.put(new DegreePosition(49.80192, 8.624780000000001));
- quadtree.put(new DegreePosition(49.79887, 8.622520000000002));
- quadtree.put(new DegreePosition(49.797380000000004, 8.62151));
- quadtree.put(new DegreePosition(49.796110000000006, 8.620750000000001));
- quadtree.put(new DegreePosition(49.79467, 8.62005));
- quadtree.put(new DegreePosition(49.79345000000001, 8.619520000000001));
- quadtree.put(new DegreePosition(49.792060000000006, 8.61903));
- quadtree.put(new DegreePosition(49.79064, 8.61869));
- quadtree.put(new DegreePosition(49.78909, 8.618390000000002));
- quadtree.put(new DegreePosition(49.78412, 8.61762));
- quadtree.put(new DegreePosition(49.78295000000001, 8.61738));
- quadtree.put(new DegreePosition(49.78119, 8.61692));
- quadtree.put(new DegreePosition(49.77975000000001, 8.616380000000001));
- quadtree.put(new DegreePosition(49.778780000000005, 8.61593));
- quadtree.put(new DegreePosition(49.777640000000005, 8.61528));
- quadtree.put(new DegreePosition(49.77610000000001, 8.61415));
- quadtree.put(new DegreePosition(49.77506, 8.613190000000001));
- quadtree.put(new DegreePosition(49.77357000000001, 8.611600000000001));
- quadtree.put(new DegreePosition(49.77299000000001, 8.61087));
- quadtree.put(new DegreePosition(49.770830000000004, 8.607850000000001));
- quadtree.put(new DegreePosition(49.76859, 8.604610000000001));
- quadtree.put(new DegreePosition(49.768170000000005, 8.60405));
- quadtree.put(new DegreePosition(49.76608, 8.60152));
- quadtree.put(new DegreePosition(49.764790000000005, 8.60018));
- quadtree.put(new DegreePosition(49.762150000000005, 8.59793));
- quadtree.put(new DegreePosition(49.76151, 8.597430000000001));
- quadtree.put(new DegreePosition(49.76024, 8.59665));
- quadtree.put(new DegreePosition(49.757780000000004, 8.59553));
- quadtree.put(new DegreePosition(49.756260000000005, 8.59491));
- quadtree.put(new DegreePosition(49.75267, 8.59369));
- quadtree.put(new DegreePosition(49.75119, 8.593290000000001));
- quadtree.put(new DegreePosition(49.74869, 8.59272));
- quadtree.put(new DegreePosition(49.745580000000004, 8.592160000000002));
- quadtree.put(new DegreePosition(49.742180000000005, 8.59171));
- quadtree.put(new DegreePosition(49.739290000000004, 8.59154));
- quadtree.put(new DegreePosition(49.735220000000005, 8.591550000000002));
- quadtree.put(new DegreePosition(49.73221, 8.59176));
- quadtree.put(new DegreePosition(49.72905, 8.59223));
- quadtree.put(new DegreePosition(49.72579, 8.592830000000001));
- quadtree.put(new DegreePosition(49.722390000000004, 8.59373));
- quadtree.put(new DegreePosition(49.715450000000004, 8.59572));
- quadtree.put(new DegreePosition(49.705760000000005, 8.599260000000001));
- quadtree.put(new DegreePosition(49.6989, 8.602160000000001));
- quadtree.put(new DegreePosition(49.698060000000005, 8.602400000000001));
- quadtree.put(new DegreePosition(49.695820000000005, 8.602820000000001));
- quadtree.put(new DegreePosition(49.693780000000004, 8.602960000000001));
- quadtree.put(new DegreePosition(49.69301, 8.602960000000001));
- quadtree.put(new DegreePosition(49.6916, 8.602860000000002));
- quadtree.put(new DegreePosition(49.69035, 8.602640000000001));
- quadtree.put(new DegreePosition(49.689150000000005, 8.60234));
- quadtree.put(new DegreePosition(49.68645, 8.60135));
- quadtree.put(new DegreePosition(49.68348, 8.600140000000001));
- quadtree.put(new DegreePosition(49.68186000000001, 8.599680000000001));
- quadtree.put(new DegreePosition(49.67985, 8.599250000000001));
- quadtree.put(new DegreePosition(49.678070000000005, 8.59914));
- quadtree.put(new DegreePosition(49.676970000000004, 8.599160000000001));
- quadtree.put(new DegreePosition(49.67475, 8.59946));
- quadtree.put(new DegreePosition(49.672610000000006, 8.60003));
- quadtree.put(new DegreePosition(49.669450000000005, 8.6013));
- quadtree.put(new DegreePosition(49.667790000000004, 8.60214));
- quadtree.put(new DegreePosition(49.6655, 8.60356));
- quadtree.put(new DegreePosition(49.66145, 8.60621));
- quadtree.put(new DegreePosition(49.65959, 8.607330000000001));
- quadtree.put(new DegreePosition(49.657700000000006, 8.6083));
- quadtree.put(new DegreePosition(49.65603, 8.60891));
- quadtree.put(new DegreePosition(49.65431, 8.609340000000001));
- quadtree.put(new DegreePosition(49.65194, 8.60959));
- quadtree.put(new DegreePosition(49.649770000000004, 8.609620000000001));
- quadtree.put(new DegreePosition(49.64312, 8.609250000000001));
- quadtree.put(new DegreePosition(49.64190000000001, 8.60926));
- quadtree.put(new DegreePosition(49.64029000000001, 8.609380000000002));
- quadtree.put(new DegreePosition(49.63906, 8.609530000000001));
- quadtree.put(new DegreePosition(49.63758000000001, 8.60983));
- quadtree.put(new DegreePosition(49.63456000000001, 8.610570000000001));
- quadtree.put(new DegreePosition(49.632870000000004, 8.61125));
- quadtree.put(new DegreePosition(49.630630000000004, 8.612340000000001));
- quadtree.put(new DegreePosition(49.62894000000001, 8.61344));
- quadtree.put(new DegreePosition(49.627930000000006, 8.61416));
- quadtree.put(new DegreePosition(49.62348, 8.61804));
- quadtree.put(new DegreePosition(49.622220000000006, 8.61931));
- quadtree.put(new DegreePosition(49.618030000000005, 8.623240000000001));
- quadtree.put(new DegreePosition(49.6152, 8.6256));
- quadtree.put(new DegreePosition(49.61211, 8.627540000000002));
- quadtree.put(new DegreePosition(49.61057, 8.62833));
- quadtree.put(new DegreePosition(49.60898, 8.62899));
- quadtree.put(new DegreePosition(49.607150000000004, 8.629620000000001));
- quadtree.put(new DegreePosition(49.604940000000006, 8.630170000000001));
- quadtree.put(new DegreePosition(49.603770000000004, 8.63035));
- quadtree.put(new DegreePosition(49.60065, 8.630640000000001));
- quadtree.put(new DegreePosition(49.59897, 8.63086));
- quadtree.put(new DegreePosition(49.59581000000001, 8.63113));
- quadtree.put(new DegreePosition(49.59308000000001, 8.63165));
- quadtree.put(new DegreePosition(49.59147, 8.63212));
- quadtree.put(new DegreePosition(49.58559, 8.634110000000002));
- quadtree.put(new DegreePosition(49.58408000000001, 8.634540000000001));
- quadtree.put(new DegreePosition(49.582060000000006, 8.635010000000001));
- quadtree.put(new DegreePosition(49.580670000000005, 8.635200000000001));
- quadtree.put(new DegreePosition(49.57885, 8.635330000000002));
- quadtree.put(new DegreePosition(49.57715, 8.63531));
- quadtree.put(new DegreePosition(49.57417, 8.6349));
- quadtree.put(new DegreePosition(49.572190000000006, 8.63455));
- quadtree.put(new DegreePosition(49.570730000000005, 8.63413));
- quadtree.put(new DegreePosition(49.568430000000006, 8.6333));
- quadtree.put(new DegreePosition(49.565090000000005, 8.63171));
- quadtree.put(new DegreePosition(49.560050000000004, 8.62922));
- quadtree.put(new DegreePosition(49.55922, 8.62894));
- quadtree.put(new DegreePosition(49.55603000000001, 8.628010000000002));
- quadtree.put(new DegreePosition(49.55425, 8.62767));
- quadtree.put(new DegreePosition(49.55111, 8.62743));
- quadtree.put(new DegreePosition(49.548930000000006, 8.62748));
- quadtree.put(new DegreePosition(49.548120000000004, 8.62757));
- quadtree.put(new DegreePosition(49.54666, 8.62784));
- quadtree.put(new DegreePosition(49.54466000000001, 8.62827));
- quadtree.put(new DegreePosition(49.54215000000001, 8.62898));
- quadtree.put(new DegreePosition(49.539440000000006, 8.62991));
- quadtree.put(new DegreePosition(49.537850000000006, 8.63052));
- quadtree.put(new DegreePosition(49.52872000000001, 8.63442));
- quadtree.put(new DegreePosition(49.527300000000004, 8.63508));
- quadtree.put(new DegreePosition(49.52526, 8.635860000000001));
- quadtree.put(new DegreePosition(49.52337000000001, 8.636510000000001));
- quadtree.put(new DegreePosition(49.52058, 8.637360000000001));
- quadtree.put(new DegreePosition(49.518550000000005, 8.637910000000002));
- quadtree.put(new DegreePosition(49.51503, 8.638770000000001));
- quadtree.put(new DegreePosition(49.51098, 8.639330000000001));
- quadtree.put(new DegreePosition(49.50845, 8.63959));
- quadtree.put(new DegreePosition(49.50417, 8.639740000000002));
- quadtree.put(new DegreePosition(49.499810000000004, 8.63963));
- quadtree.put(new DegreePosition(49.49546, 8.63912));
- quadtree.put(new DegreePosition(49.49306000000001, 8.638910000000001));
- quadtree.put(new DegreePosition(49.490320000000004, 8.638760000000001));
- quadtree.put(new DegreePosition(49.48669, 8.63865));
- quadtree.put(new DegreePosition(49.484480000000005, 8.638760000000001));
- quadtree.put(new DegreePosition(49.48073, 8.639330000000001));
- quadtree.put(new DegreePosition(49.4776, 8.640130000000001));
- quadtree.put(new DegreePosition(49.476310000000005, 8.64052));
- quadtree.put(new DegreePosition(49.468500000000006, 8.64342));
- quadtree.put(new DegreePosition(49.464470000000006, 8.64483));
- quadtree.put(new DegreePosition(49.461290000000005, 8.64577));
- quadtree.put(new DegreePosition(49.458690000000004, 8.64629));
- quadtree.put(new DegreePosition(49.457530000000006, 8.646460000000001));
- quadtree.put(new DegreePosition(49.455380000000005, 8.64666));
- quadtree.put(new DegreePosition(49.453050000000005, 8.64668));
- quadtree.put(new DegreePosition(49.451750000000004, 8.64661));
- quadtree.put(new DegreePosition(49.450430000000004, 8.64647));
- quadtree.put(new DegreePosition(49.44711, 8.64578));
- quadtree.put(new DegreePosition(49.445350000000005, 8.6453));
- quadtree.put(new DegreePosition(49.44398, 8.64478));
- quadtree.put(new DegreePosition(49.44091, 8.64338));
- quadtree.put(new DegreePosition(49.439840000000004, 8.64282));
- quadtree.put(new DegreePosition(49.438340000000004, 8.64193));
- quadtree.put(new DegreePosition(49.43139000000001, 8.63724));
- quadtree.put(new DegreePosition(49.42933000000001, 8.636080000000002));
- quadtree.put(new DegreePosition(49.427890000000005, 8.63537));
- quadtree.put(new DegreePosition(49.426460000000006, 8.634820000000001));
- quadtree.put(new DegreePosition(49.42436000000001, 8.634160000000001));
- quadtree.put(new DegreePosition(49.422200000000004, 8.63371));
- quadtree.put(new DegreePosition(49.42033000000001, 8.633500000000002));
- quadtree.put(new DegreePosition(49.41946, 8.63347));
- quadtree.put(new DegreePosition(49.41798000000001, 8.63348));
- quadtree.put(new DegreePosition(49.415710000000004, 8.633700000000001));
- quadtree.put(new DegreePosition(49.41463, 8.6339));
- quadtree.put(new DegreePosition(49.412670000000006, 8.63437));
- quadtree.put(new DegreePosition(49.411120000000004, 8.6349));
- quadtree.put(new DegreePosition(49.40739000000001, 8.636330000000001));
- quadtree.put(new DegreePosition(49.40572, 8.636800000000001));
- quadtree.put(new DegreePosition(49.39164, 8.63865));
- quadtree.put(new DegreePosition(49.39021, 8.63879));
- quadtree.put(new DegreePosition(49.38855, 8.638720000000001));
- quadtree.put(new DegreePosition(49.38721, 8.638480000000001));
- quadtree.put(new DegreePosition(49.38656, 8.638290000000001));
- quadtree.put(new DegreePosition(49.38440000000001, 8.63746));
- quadtree.put(new DegreePosition(49.37805, 8.63387));
- quadtree.put(new DegreePosition(49.376940000000005, 8.63334));
- quadtree.put(new DegreePosition(49.376000000000005, 8.63297));
- quadtree.put(new DegreePosition(49.37500000000001, 8.63269));
- quadtree.put(new DegreePosition(49.373780000000004, 8.632480000000001));
- quadtree.put(new DegreePosition(49.36988, 8.63222));
- quadtree.put(new DegreePosition(49.36872, 8.632190000000001));
- quadtree.put(new DegreePosition(49.364360000000005, 8.631910000000001));
- quadtree.put(new DegreePosition(49.35228000000001, 8.63127));
- quadtree.put(new DegreePosition(49.34911, 8.631160000000001));
- quadtree.put(new DegreePosition(49.33944, 8.63067));
- quadtree.put(new DegreePosition(49.31497, 8.62917));
- quadtree.put(new DegreePosition(49.312200000000004, 8.62892));
- quadtree.put(new DegreePosition(49.31073000000001, 8.628670000000001));
- quadtree.put(new DegreePosition(49.303380000000004, 8.626940000000001));
- quadtree.put(new DegreePosition(49.30293, 8.62654));
- quadtree.put(new DegreePosition(49.30285000000001, 8.62644));
- quadtree.put(new DegreePosition(49.302690000000005, 8.62608));
- quadtree.put(new DegreePosition(49.30268, 8.62584));
- quadtree.put(new DegreePosition(49.30299, 8.62268));
- quadtree.put(new DegreePosition(49.30303000000001, 8.622010000000001));
- quadtree.put(new DegreePosition(49.30299, 8.621730000000001));
- quadtree.put(new DegreePosition(49.30293, 8.6216));
- quadtree.put(new DegreePosition(49.30274000000001, 8.62147));
- quadtree.put(new DegreePosition(49.30238000000001, 8.62139));
- quadtree.put(new DegreePosition(49.302290000000006, 8.621310000000001));
- quadtree.put(new DegreePosition(49.301950000000005, 8.62127));
- quadtree.put(new DegreePosition(49.30187, 8.62279));
- quadtree.put(new DegreePosition(49.30172, 8.62456));
- quadtree.put(new DegreePosition(49.30134, 8.62697));
- quadtree.put(new DegreePosition(49.30116, 8.627690000000001));
- quadtree.put(new DegreePosition(49.30053, 8.629800000000001));
- quadtree.put(new DegreePosition(49.299820000000004, 8.63142));
- quadtree.put(new DegreePosition(49.29916, 8.6327));
- quadtree.put(new DegreePosition(49.299530000000004, 8.63279));
- quadtree.put(new DegreePosition(49.30006, 8.63272));
- quadtree.put(new DegreePosition(49.30068000000001, 8.63277));
- quadtree.put(new DegreePosition(49.30082, 8.63283));
- quadtree.put(new DegreePosition(49.301050000000004, 8.633040000000001));
- quadtree.put(new DegreePosition(49.300340000000006, 8.634780000000001));
- quadtree.put(new DegreePosition(49.29995, 8.63593));
- quadtree.put(new DegreePosition(49.299690000000005, 8.63723));
- quadtree.put(new DegreePosition(49.299600000000005, 8.638200000000001));
- quadtree.put(new DegreePosition(49.29963, 8.63973));
- quadtree.put(new DegreePosition(49.299710000000005, 8.64104));
- quadtree.put(new DegreePosition(49.29831, 8.643080000000001));
- quadtree.put(new DegreePosition(49.29796, 8.64334));
- quadtree.put(new DegreePosition(49.297920000000005, 8.643450000000001));
- quadtree.put(new DegreePosition(49.297920000000005, 8.643590000000001));
- quadtree.put(new DegreePosition(49.29798, 8.64389));
- quadtree.put(new DegreePosition(49.299420000000005, 8.646180000000001));
- quadtree.put(new DegreePosition(49.299580000000006, 8.64652));
- quadtree.put(new DegreePosition(49.29955, 8.646640000000001));
- quadtree.put(new DegreePosition(49.29957, 8.64677));
- quadtree.put(new DegreePosition(49.299710000000005, 8.64681));
- quadtree.put(new DegreePosition(49.29977, 8.646730000000002));
- quadtree.put(new DegreePosition(49.299780000000005, 8.646640000000001));
- quadtree.put(new DegreePosition(49.299690000000005, 8.64648));
- quadtree.put(new DegreePosition(49.2997, 8.64638));
- quadtree.put(new DegreePosition(49.29992000000001, 8.64586));
- quadtree.put(new DegreePosition(49.29995, 8.64563));
- quadtree.put(new DegreePosition(49.300790000000006, 8.644));
- quadtree.put(new DegreePosition(49.301120000000004, 8.643650000000001));
- quadtree.put(new DegreePosition(49.301390000000005, 8.64348));
- quadtree.put(new DegreePosition(49.30283000000001, 8.642980000000001));
- quadtree.put(new DegreePosition(49.30346, 8.642560000000001));
- quadtree.put(new DegreePosition(49.30378, 8.64241));
- quadtree.put(new DegreePosition(49.309740000000005, 8.64105));
- quadtree.put(new DegreePosition(49.309760000000004, 8.64207));
- quadtree.put(new DegreePosition(49.309140000000006, 8.64212));
- quadtree.put(new DegreePosition(49.309140000000006, 8.643880000000001));
- quadtree.put(new DegreePosition(49.30917, 8.64403));
- quadtree.put(new DegreePosition(49.30923000000001, 8.644110000000001));
- quadtree.put(new DegreePosition(49.30937, 8.644110000000001));
-
- Position p1 = new DegreePosition(50.47498691278631, 8.701171875);
- Position p2 = new DegreePosition(50.47149085139956, 8.7066650390625);
- Position p3 = new DegreePosition(50.47848271564207, 8.7066650390625);
-
double maxDistance = 0.06242236766906711;
Position p1Nearest = quadtree.get(p1, maxDistance);
Position p2Nearest = quadtree.get(p2, maxDistance);
@@ -1198,4 +1226,85 @@ public class QuadTreeTest {
assertNotNull(p3Nearest);
}
+ @Test
+ public void testNearest() {
+ double maxDistance = 0.06242236766906711;
+ Position p1Nearest = quadtree.get(p1, maxDistance);
+ Position p2Nearest = quadtree.get(p2, maxDistance);
+ Position p3Nearest = quadtree.get(p3, maxDistance);
+ assertSame(getNearestByApproximateDistance(p1), p1Nearest);
+ assertSame(getNearestByApproximateDistance(p2), p2Nearest);
+ assertSame(getNearestByApproximateDistance(p3), p3Nearest);
+ }
+
+ private double approximateDistance(Position p1, Position p2) {
+ double dLat = p2.getLatDeg() - p1.getLatDeg();
+ double dLon = p2.getLngDeg() - p1.getLngDeg();
+ return Math.sqrt(dLat*dLat + dLon*dLon);
+ }
+
+ private Position getNearestByApproximateDistance(Position pos) {
+ double minDistance = Double.MAX_VALUE;
+ Position nearestByDistance = null;
+ for (final Position p : quadtree.get(new BoundsImpl(new DegreePosition(-90, -180), new DegreePosition(90, 180)))) { // get all
+ if (approximateDistance(p, pos) < minDistance) {
+ nearestByDistance = p;
+ minDistance = approximateDistance(p, pos);
+ }
+ }
+ return nearestByDistance;
+ }
+
+ @Test
+ public void testTooFarAwayProducesEmptyResults() {
+ double maxDistance = 0.06242236766906711;
+ Position p1Nearest = quadtree.get(new DegreePosition(0, 0), maxDistance);
+ assertNull(p1Nearest);
+ }
+
+ @Test
+ public void measureLookupNearestPerformance() {
+ long start = System.currentTimeMillis();
+ final int ITERATIONS = 100000;
+ for (int i=0; i positions = new ArrayList<>();
+ for (int i=0; i