diff --git a/src/c3nav/mapdata/models/geometry/level.py b/src/c3nav/mapdata/models/geometry/level.py index de57666c..cbd6f346 100644 --- a/src/c3nav/mapdata/models/geometry/level.py +++ b/src/c3nav/mapdata/models/geometry/level.py @@ -222,7 +222,7 @@ class AltitudeArea(LevelGeometryMixin, models.Model): stairs = [] # collect all accessible areas on this level - buildings_geom = unary_union(tuple(building.geometry for building in level.buildings.all())) + buildings_geom = unary_union(tuple(building.geometry.wrapped_geom for building in level.buildings.all())) for space in level.spaces.all(): spaces[space.pk] = space space.orig_geometry = space.geometry @@ -470,7 +470,7 @@ class AltitudeArea(LevelGeometryMixin, models.Model): for space in level.spaces.all(): space.geometry = space.orig_geometry - buildings_geom = unary_union(tuple(b.geometry for b in level.buildings.all())) + buildings_geom = unary_union(tuple(b.geometry.wrapped_geom for b in level.buildings.all())) doors_geom = unary_union(tuple(d.geometry for d in level.doors.all())) space_geom = unary_union(tuple((s.geometry if not s.outside else s.geometry.difference(buildings_geom)) for s in level.spaces.all())) diff --git a/src/c3nav/mapdata/render/geometry/level.py b/src/c3nav/mapdata/render/geometry/level.py index a5b7c25d..6b1ad140 100644 --- a/src/c3nav/mapdata/render/geometry/level.py +++ b/src/c3nav/mapdata/render/geometry/level.py @@ -65,7 +65,7 @@ class LevelGeometries: @classmethod def build_for_level(cls, level, altitudeareas_above): geoms = LevelGeometries() - buildings_geom = unary_union([b.geometry for b in level.buildings.all()]) + buildings_geom = unary_union([b.geometry.wrapped_geom for b in level.buildings.all()]) geoms.buildings = buildings_geom buildings_geom_prep = prepared.prep(buildings_geom) diff --git a/src/c3nav/mapdata/utils/cache/indexed.py b/src/c3nav/mapdata/utils/cache/indexed.py index 0750e74a..5d5de039 100644 --- a/src/c3nav/mapdata/utils/cache/indexed.py +++ b/src/c3nav/mapdata/utils/cache/indexed.py @@ -121,7 +121,7 @@ class GeometryIndexed: from shapely import prepared from shapely.geometry import box - cells = np.zeros_like(self.data, dtype=np.bool) + cells = np.zeros_like(self.data, dtype=bool) prep = prepared.prep(geometry) res = self.resolution for iy, y in enumerate(range(miny * res, maxy * res, res), start=miny - self.y): diff --git a/src/c3nav/routing/router.py b/src/c3nav/routing/router.py index ce840eb8..1d82264d 100644 --- a/src/c3nav/routing/router.py +++ b/src/c3nav/routing/router.py @@ -63,7 +63,7 @@ class Router: restrictions = {} nodes = deque() for level in levels_query: - buildings_geom = unary_union(tuple(building.geometry for building in level.buildings.all())) + buildings_geom = unary_union(tuple(building.geometry.wrapped_geom for building in level.buildings.all())) nodes_before_count = len(nodes)