From fcb4c2d275730f503ea2ab989ced4db2a175ab0f Mon Sep 17 00:00:00 2001
From: Eric Duminil <eric.duminil@gmail.com>
Date: Tue, 20 Mar 2018 16:51:12 +0100
Subject: [PATCH] ConvexHullCalculator: Some buildings don't have any
 coordinates. Ignore them.

---
 src/eu/simstadt/regionchooser/RegionExtractor.java | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/eu/simstadt/regionchooser/RegionExtractor.java b/src/eu/simstadt/regionchooser/RegionExtractor.java
index 4ab4b54..cc681af 100644
--- a/src/eu/simstadt/regionchooser/RegionExtractor.java
+++ b/src/eu/simstadt/regionchooser/RegionExtractor.java
@@ -59,11 +59,13 @@ static public StringBuffer selectRegionDirectlyFromCityGML(Path citygmlPath, Str
 				sb.append(replaceEnvelopeInHeader(citygml.getHeader(), poly.getEnvelopeInternal(), srsName));
 			}
 			buildingsCount += 1;
-			Coordinate coord = new Coordinate(buildingXmlNode.x, buildingXmlNode.y);
-			Point point = gf.createPoint(coord);
-			if (point.within(poly)) {
-				foundBuildingsCount++;
-				sb.append(buildingXmlNode.toString());
+			if (buildingXmlNode.hasCoordinates()) {
+				Coordinate coord = new Coordinate(buildingXmlNode.x, buildingXmlNode.y);
+				Point point = gf.createPoint(coord);
+				if (point.within(poly)) {
+					foundBuildingsCount++;
+					sb.append(buildingXmlNode.toString());
+				}
 			}
 			if (buildingsCount % 1000 == 0) {
 				LOGGER.info("1000 buildings parsed");
-- 
GitLab