From 1d770e3e43b4a1020627b821588955ec29285ff5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laura=20Kl=C3=BCnder?= Date: Thu, 16 Nov 2017 14:33:51 +0100 Subject: [PATCH] altitudeareas should not span over holes --- src/c3nav/mapdata/models/geometry/level.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/c3nav/mapdata/models/geometry/level.py b/src/c3nav/mapdata/models/geometry/level.py index 11adeb1f..faaae776 100644 --- a/src/c3nav/mapdata/models/geometry/level.py +++ b/src/c3nav/mapdata/models/geometry/level.py @@ -384,9 +384,13 @@ class AltitudeArea(LevelGeometryMixin, models.Model): geom = space.geometry if space.outside: geom = space_geom.difference(buildings_geom) - remaining_space = unary_union(tuple(c.geometry for c in space.columns.all()) + - tuple(o.geometry for o in space.obstacles.all()) + - tuple(o.buffered_geometry for o in space.lineobstacles.all())) + remaining_space = unary_union( + tuple(c.geometry for c in space.columns.all()) + + tuple(o.geometry for o in space.obstacles.all()) + + tuple(o.buffered_geometry for o in space.lineobstacles.all())) + remaining_space = remaining_space.difference( + unary_union(tuple(h.geometry for h in space.holes.all())) + ) if remaining_space.is_empty: continue