altitudeareas should not span over holes
@@ -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()) +
+ 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
