Geometry race condition fix

* fixes race condition for geometry conflict and parcel calculation
* harmonizes empty geometries from None/MultiPolygonEmpty to MultiPolygonEmpty
This commit is contained in:
2022-11-23 13:51:05 +01:00
parent 618cf3a756
commit 0b2cf2a0a4
8 changed files with 65 additions and 40 deletions

View File

@@ -63,6 +63,7 @@ class SimpleGeomForm(BaseForm):
geom = self.data["geom"]
if geom is None or len(geom) == 0:
# empty geometry is a valid geometry
self.cleaned_data["geom"] = MultiPolygon(srid=DEFAULT_SRID_RLP).ewkt
return is_valid
geom = json.loads(geom)
@@ -106,6 +107,8 @@ class SimpleGeomForm(BaseForm):
return is_valid
features.append(polygon)
# Unionize all geometry features into one new MultiPolygon
form_geom = MultiPolygon(srid=DEFAULT_SRID_RLP)
for feature in features:
form_geom = form_geom.union(feature)