some more improvements
This commit is contained in:
parent
ac694ac2b7
commit
84ceb344bc
1 changed files with 4 additions and 1 deletions
|
@ -10,6 +10,7 @@ from rest_framework.exceptions import NotFound, ParseError, PermissionDenied, Va
|
|||
from rest_framework.generics import get_object_or_404
|
||||
from rest_framework.response import Response
|
||||
from rest_framework.viewsets import ReadOnlyModelViewSet, ViewSet
|
||||
from shapely import prepared
|
||||
from shapely.ops import cascaded_union
|
||||
|
||||
from c3nav.api.utils import get_api_post_data
|
||||
|
@ -60,11 +61,13 @@ class EditorViewSet(EditorViewSetMixin, ViewSet):
|
|||
holes_geom.append(space_holes_geom.intersection(space.geometry))
|
||||
space.geometry = space.geometry.difference(space_holes_geom)
|
||||
holes_geom = cascaded_union(holes_geom)
|
||||
holes_geom_prep = prepared.prep(holes_geom)
|
||||
|
||||
for building in buildings:
|
||||
building.original_geometry = building.geometry
|
||||
for obj in buildings:
|
||||
obj.geometry = obj.geometry.difference(holes_geom)
|
||||
if holes_geom_prep.intersects(obj.geometry):
|
||||
obj.geometry = obj.geometry.difference(holes_geom)
|
||||
|
||||
results = []
|
||||
results.extend(buildings)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue