private boolean tooSmall(final ComplexBuilding building) { return building.getOutline().surface().isLessThanOrEqualTo(this.minimumSurface); } }
@Override public void accept(final ComplexBuilding tinyBuilding) { final String url = String.format("http://www.openstreetmap.org/%s/%d", tinyBuilding.getSource().getType() == ItemType.AREA ? "way" : "relation", tinyBuilding.getOsmIdentifier()); this.output.printf("%s,%d,%d,%s,%.2f\n", tinyBuilding.getTag(ISOCountryTag.class, Optional.empty()).orElse("UNK"), tinyBuilding.getIdentifier(), tinyBuilding.getOsmIdentifier(), url, tinyBuilding.getOutline().surface().asMeterSquared()); }
result = result.add(converter.apply(item).surface()); return result;
this.outline.surface();
@Test public void testSurface() { final Rectangle rectangle = Rectangle.TEST_RECTANGLE; Assert.assertEquals(rectangle.surface(), MultiPolygon.forPolygon(rectangle).surface()); final MultiPolygon tilted = MultiPolygon.forPolygon(new Polygon(rectangle.lowerLeft(), new Location(rectangle.upperLeft().getLatitude(), Longitude.degrees(rectangle.upperLeft().getLongitude().asDegrees() + 0.1)), new Location(rectangle.upperRight().getLatitude(), Longitude.degrees(rectangle.upperRight().getLongitude().asDegrees() + 0.1)), rectangle.lowerRight())); Assert.assertEquals(rectangle.surface(), tilted.surface()); }