diff --git a/backend/models/postgis/project.py b/backend/models/postgis/project.py index 79e9902752..26d56b7258 100644 --- a/backend/models/postgis/project.py +++ b/backend/models/postgis/project.py @@ -286,7 +286,7 @@ async def set_project_aoi(self, draft_project_dto: DraftProjectDTO, db: Database valid_geojson = geojson.dumps(aoi_geometry) query = """ - SELECT ST_AsText( + SELECT ST_AsEWKT( ST_SetSRID( ST_GeomFromGeoJSON(:geojson), 4326 ) @@ -295,9 +295,8 @@ async def set_project_aoi(self, draft_project_dto: DraftProjectDTO, db: Database # Execute the query with the GeoJSON value passed in as a parameter result = await db.fetch_one(query=query, values={"geojson": valid_geojson}) self.geometry = result["geometry_wkt"] if result else None - query = """ - SELECT ST_AsText(ST_Centroid(ST_SetSRID(ST_GeomFromGeoJSON(:geometry), 4326))) AS centroid + SELECT ST_AsEWKT(ST_Centroid(ST_SetSRID(ST_GeomFromGeoJSON(:geometry), 4326))) AS centroid """ # Execute the query and pass the GeoJSON as a parameter diff --git a/backend/models/postgis/task.py b/backend/models/postgis/task.py index 5bb7352ad5..4e2d9b974f 100644 --- a/backend/models/postgis/task.py +++ b/backend/models/postgis/task.py @@ -749,7 +749,9 @@ def from_geojson_feature(cls, task_id, task_feature): task.y = task_feature.properties["y"] task.zoom = task_feature.properties["zoom"] task.is_square = task_feature.properties["isSquare"] - task.geometry = shape(task_feature.geometry).wkt + wkt = shape(task_feature.geometry).wkt + ewkt = f"SRID=4326;{wkt}" + task.geometry = ewkt except KeyError as e: raise InvalidData( f"PropertyNotFound: Expected property not found: {str(e)}"