From d39e758df4187bac0190a0762ecd0566e2c3008d Mon Sep 17 00:00:00 2001 From: mpeltriaux Date: Thu, 16 Jul 2026 15:42:29 +0200 Subject: [PATCH] # Quickfix * fixes bug for better API response on geometry invalidities --- api/utils/serializer/serializer.py | 2 ++ konova/utils/__init__.py | 5 +++++ konova/utils/schneider/__init__.py | 5 +++++ 3 files changed, 12 insertions(+) create mode 100644 konova/utils/__init__.py create mode 100644 konova/utils/schneider/__init__.py diff --git a/api/utils/serializer/serializer.py b/api/utils/serializer/serializer.py index 4924d742..9fcd5338 100644 --- a/api/utils/serializer/serializer.py +++ b/api/utils/serializer/serializer.py @@ -156,6 +156,8 @@ class AbstractModelAPISerializer: if isinstance(geojson, dict): geojson = json.dumps(geojson) geometry = geos.fromstr(geojson) + if not geometry.valid: + raise ValueError(f"Invalid geometry: {geometry.valid_reason}") is_4326 = Geometry.is_valid_4326(geometry) if not is_4326: raise ValueError("Geometry not in EPSG:4326 (WGS84). Unknown spatial reference system.") diff --git a/konova/utils/__init__.py b/konova/utils/__init__.py new file mode 100644 index 00000000..310b8ff3 --- /dev/null +++ b/konova/utils/__init__.py @@ -0,0 +1,5 @@ +""" +Author: Michel Peltriaux +Created on: 16.07.26 + +""" diff --git a/konova/utils/schneider/__init__.py b/konova/utils/schneider/__init__.py new file mode 100644 index 00000000..310b8ff3 --- /dev/null +++ b/konova/utils/schneider/__init__.py @@ -0,0 +1,5 @@ +""" +Author: Michel Peltriaux +Created on: 16.07.26 + +"""