]> git.openstreetmap.org Git - nominatim.git/commitdiff
fix SRID handling in Geometry type
authorSarah Hoffmann <lonvia@denofr.de>
Tue, 4 Jul 2023 14:08:18 +0000 (16:08 +0200)
committerSarah Hoffmann <lonvia@denofr.de>
Thu, 6 Jul 2023 10:16:57 +0000 (12:16 +0200)
nominatim/db/sqlalchemy_types.py

index ed4aef1f15ec088d9336efc6072e24837d96ab3a..1718b87307984662b299709867650aa1377f613a 100644 (file)
@@ -34,9 +34,9 @@ class Geometry(types.UserDefinedType): # type: ignore[type-arg]
     def bind_processor(self, dialect: 'sa.Dialect') -> Callable[[Any], str]:
         def process(value: Any) -> str:
             if isinstance(value, str):
-                return 'SRID=4326;' + value
+                return value
 
-            return 'SRID=4326;' + cast(str, value.to_wkt())
+            return cast(str, value.to_wkt())
         return process
 
 
@@ -48,7 +48,9 @@ class Geometry(types.UserDefinedType): # type: ignore[type-arg]
 
 
     def bind_expression(self, bindvalue: SaBind) -> SaColumn:
-        return sa.func.ST_GeomFromText(bindvalue, type_=self)
+        return sa.func.ST_GeomFromText(bindvalue,
+                                       sa.bindparam('geometry_srid', value=4326, literal_execute=True),
+                                       type_=self)
 
 
     class comparator_factory(types.UserDefinedType.Comparator): # type: ignore[type-arg]