diff --git a/src/eu/simstadt/regionchooser/RegionExtractor.java b/src/eu/simstadt/regionchooser/RegionExtractor.java index 4ab4b54f060f35a66f7b4751596b9f1c57acac28..cc681af25d66506d17fae7245a0e37dec60c3234 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");