kopia lustrzana https://github.com/onthegomap/planetiler
Porównaj commity
No commits in common. "6f6a4dd6edee05346f18da85b78405edea31fb52" and "ed373ff3d38ebc996db1c4b6799d9ad1dc1e03a3" have entirely different histories.
6f6a4dd6ed
...
ed373ff3d3
|
@ -57,29 +57,11 @@ public class PolygonIndex<T> {
|
|||
return postFilterContaining(point, items);
|
||||
}
|
||||
|
||||
/** Returns the data associated with all polygons containing {@code point}. */
|
||||
public List<T> getIntersecting(Geometry geom) {
|
||||
build();
|
||||
List<?> items = index.query(geom.getEnvelopeInternal());
|
||||
return postFilterIntersecting(geom, items);
|
||||
}
|
||||
|
||||
private List<T> postFilterContaining(Point point, List<?> items) {
|
||||
List<T> result = new ArrayList<>(items.size());
|
||||
for (Object item : items) {
|
||||
if (item instanceof GeomWithData<?>(var poly,var data) && poly.contains(point)) {
|
||||
@SuppressWarnings("unchecked") T t = (T) data;
|
||||
result.add(t);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private List<T> postFilterIntersecting(Geometry geom, List<?> items) {
|
||||
List<T> result = new ArrayList<>(items.size());
|
||||
for (Object item : items) {
|
||||
if (item instanceof GeomWithData<?>(var poly,var data) && poly.intersects(geom)) {
|
||||
@SuppressWarnings("unchecked") T t = (T) data;
|
||||
if (item instanceof GeomWithData<?> value && value.poly.contains(point)) {
|
||||
@SuppressWarnings("unchecked") T t = (T) value.data;
|
||||
result.add(t);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,13 +21,10 @@ class PolygonIndexTest {
|
|||
void testSingle() {
|
||||
index.put(rectangle(0, 1), 1);
|
||||
assertListsContainSameElements(List.of(1), index.getContaining(newPoint(0.5, 0.5)));
|
||||
assertListsContainSameElements(List.of(1), index.getIntersecting(newPoint(0.5, 0.5)));
|
||||
assertListsContainSameElements(List.of(1), index.getIntersecting(rectangle(1, 2)));
|
||||
assertListsContainSameElements(List.of(1), index.getContainingOrNearest(newPoint(0.5, 0.5)));
|
||||
|
||||
assertListsContainSameElements(List.of(), index.getContaining(newPoint(1.5, 1.5)));
|
||||
assertListsContainSameElements(List.of(), index.getContainingOrNearest(newPoint(1.5, 1.5)));
|
||||
assertListsContainSameElements(List.of(), index.getIntersecting(rectangle(2, 3)));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -36,9 +33,6 @@ class PolygonIndexTest {
|
|||
index.put(rectangle(0, 1), 2);
|
||||
assertListsContainSameElements(List.of(1, 2), index.getContaining(newPoint(0.5, 0.5)));
|
||||
assertListsContainSameElements(List.of(1, 2), index.getContainingOrNearest(newPoint(0.5, 0.5)));
|
||||
assertListsContainSameElements(List.of(1, 2), index.getIntersecting(rectangle(0.5, 1.5)));
|
||||
assertListsContainSameElements(List.of(1, 2), index.getIntersecting(rectangle(1, 2)));
|
||||
assertListsContainSameElements(List.of(), index.getIntersecting(rectangle(2, 3)));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
4
pom.xml
4
pom.xml
|
@ -313,7 +313,7 @@
|
|||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-source-plugin</artifactId>
|
||||
<version>3.3.1</version>
|
||||
<version>3.3.0</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>attach-sources</id>
|
||||
|
@ -394,7 +394,7 @@
|
|||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-gpg-plugin</artifactId>
|
||||
<version>3.2.3</version>
|
||||
<version>3.2.2</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>sign-artifacts</id>
|
||||
|
|
Ładowanie…
Reference in New Issue