speedup cut_polygon_with_line calls by using list of polygons

This commit is contained in:
Laura Klünder 2017-11-18 20:19:44 +01:00
parent f672ee107a
commit 7f5b614620
2 changed files with 7 additions and 7 deletions

View file

@ -192,8 +192,8 @@ class AltitudeArea(LevelGeometryMixin, models.Model):
ramp.space = space.pk
ramps.append(ramp)
areas = MultiPolygon(tuple(orient(polygon) for polygon in assert_multipolygon(
unary_union(areas+list(door.geometry for door in level.doors.all())))
areas = tuple(orient(polygon) for polygon in assert_multipolygon(
unary_union(areas+list(door.geometry for door in level.doors.all()))
))
# collect all stairs on this level
@ -205,11 +205,11 @@ class AltitudeArea(LevelGeometryMixin, models.Model):
# divide areas using stairs
for stair in stairs:
areas = MultiPolygon(cut_polygon_with_line(areas, stair))
areas = cut_polygon_with_line(areas, stair)
# create altitudearea objects
areas = [AltitudeArea(geometry=clean_cut_polygon(area), level=level)
for area in assert_multipolygon(areas)]
for area in areas]
# prepare area geometries
for area in areas: