@Override public String toWkt() { return this.asPolygon().toWkt(); } }
@Override public void addArea(final long identifier, final Polygon geometry, final Map<String, String> tags) { initialize(); try { this.atlas.addArea(identifier, geometry, tags); } catch (final Exception e) { logger.error("Error adding Area ({}): {}", identifier, geometry.toWkt(), e); } }
final long totalRelationCount = testCountsAtlas.numberOfRelations(); final AtlasEntityPolygonsFilter includePolygon1 = this .constructConfiguredFilter(includeConfigurationFormat, polygon1.toWkt()); final AtlasEntityPolygonsFilter includePolygon2 = this .constructConfiguredFilter(includeConfigurationFormat, polygon2.toWkt()); final AtlasEntityPolygonsFilter includePolygon1And2 = this.constructConfiguredFilter( includeConfigurationFormat, String.join("\",\"", polygon1.toWkt(), polygon2.toWkt())); final AtlasEntityPolygonsFilter excludePolygon1 = this .constructConfiguredFilter(excludeConfigurationFormat, polygon1.toWkt()); final AtlasEntityPolygonsFilter excludePolygon2 = this .constructConfiguredFilter(excludeConfigurationFormat, polygon2.toWkt()); final AtlasEntityPolygonsFilter excludePolygon1And2 = this.constructConfiguredFilter( excludeConfigurationFormat, String.join("\",\"", polygon1.toWkt(), polygon2.toWkt()));
Location.forString("-1.302400, 36.818213"), Location.forString("22.648164, 50.364465")); logger.info("coveringPolygon: {}", coveringPolygon.toWkt()); Assert.assertTrue(coveringPolygon.overlaps(multiPolygon)); Location.forString("19.623812, 24.507328"), Location.forString("19.247746, 23.339148")); logger.info("insideInnerPolygon: {}", insideInnerPolygon.toWkt()); Assert.assertFalse(insideInnerPolygon.overlaps(multiPolygon)); Location.forString("19.623812, 24.507328"), Location.forString("27.156014, 30.298381")); logger.info("intersectingInnerPolygon: {}", intersectingInnerPolygon.toWkt()); Assert.assertTrue(intersectingInnerPolygon.overlaps(multiPolygon)); Location.forString("22.648164, 50.364465"), Location.forString("27.156014, 30.298381")); logger.info("intersectingOuterPolygon: {}", intersectingOuterPolygon.toWkt()); Assert.assertTrue(intersectingOuterPolygon.overlaps(multiPolygon));
Location.forString("-1.302400, 36.818213"), Location.forString("22.648164, 50.364465")); logger.info("coveringPolygon: {}", coveringPolygon.toWkt()); Assert.assertTrue(multiPolygon.overlaps(coveringPolygon)); Assert.assertFalse(multiPolygon.intersects(coveringPolygon)); Location.forString("19.623812, 24.507328"), Location.forString("19.247746, 23.339148")); logger.info("insideInnerPolygon: {}", insideInnerPolygon.toWkt()); Assert.assertFalse(multiPolygon.overlaps(insideInnerPolygon)); Assert.assertFalse(multiPolygon.intersects(insideInnerPolygon)); Location.forString("19.623812, 24.507328"), Location.forString("27.156014, 30.298381")); logger.info("intersectingInnerPolygon: {}", intersectingInnerPolygon.toWkt()); Assert.assertTrue(multiPolygon.overlaps(intersectingInnerPolygon)); Assert.assertTrue(multiPolygon.intersects(intersectingInnerPolygon)); Location.forString("22.648164, 50.364465"), Location.forString("27.156014, 30.298381")); logger.info("intersectingOuterPolygon: {}", intersectingOuterPolygon.toWkt()); Assert.assertTrue(multiPolygon.overlaps(intersectingInnerPolygon)); Assert.assertTrue(multiPolygon.intersects(intersectingInnerPolygon));
/** * Tests every polygon input form supported by the filter */ @Test public void testForms() { final Atlas testFormsAtlas = this.setup.getTestForm(); final String wktConfigurationStringFormat = "{\"filter.polygons\":{\"include.wkt\":[\"%s\"]}}"; final String wkbConfigurationStringFormat = "{\"filter.polygons\":{\"include.wkb\":[\"%s\"]}}"; final String atlasConfigurationStringFormat = "{\"filter.polygons\":{\"include.atlas\":[\"%s\"]}}"; final String geojsonConfigurationStringFormat = "{\"filter.polygons\":{\"include.geojson\":[\"%s\"]}}"; final Polygon includeBoundary = this.getPolygonWithName(testFormsAtlas, "include"); this.assertCounts(this.setup.getTestForm(), this.constructConfiguredFilter( wktConfigurationStringFormat, includeBoundary.toWkt()), 2, 2, 2, 0); this.assertCounts(this.setup.getTestForm(), this.constructConfiguredFilter(wkbConfigurationStringFormat, WKBWriter.toHex(new WkbPolygonConverter().convert(includeBoundary))), 2, 2, 2, 0); this.assertCounts(this.setup.getTestForm(), this.constructConfiguredFilter(atlasConfigurationStringFormat, new PolygonStringConverter().backwardConvert(includeBoundary)), 2, 2, 2, 0); this.assertCounts(this.setup.getTestForm(), this.constructConfiguredFilter(geojsonConfigurationStringFormat, includeBoundary.asGeoJson().toString().replaceAll("\"", "\\\\\"")), 2, 2, 2, 0); }