From d4e5b2e9c8cea1e5125ce3cf153e40e19696ea59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laura=20Kl=C3=BCnder?= Date: Tue, 20 Aug 2024 21:50:26 +0200 Subject: [PATCH] fix intersections in multilinestring configurations and stuff --- src/c3nav/mapdata/models/geometry/level.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/c3nav/mapdata/models/geometry/level.py b/src/c3nav/mapdata/models/geometry/level.py index 2ffda860..ab0daa68 100644 --- a/src/c3nav/mapdata/models/geometry/level.py +++ b/src/c3nav/mapdata/models/geometry/level.py @@ -496,8 +496,9 @@ class AltitudeArea(LevelGeometryMixin, models.Model): points = [] for connected_to in ramp.connected_to: for intersection in connected_to.intersections: - points.extend([AltitudeAreaPoint(coordinates=coords, altitude=float(connected_to.area.altitude)) - for coords in intersection.coords]) + for linestring in assert_multilinestring(intersection): + points.extend([AltitudeAreaPoint(coordinates=coords, altitude=float(connected_to.area.altitude)) + for coords in linestring.coords]) points.extend([AltitudeAreaPoint(coordinates=marker.geometry.coords, altitude=float(marker.altitude)) for marker in ramp.markers]) ramp.points = points