Ser*_*rán 8 postgresql postgis sqlalchemy
我在postgresql中有一个带有PostGIS几何(point,4326)列(位置,使用SRID 4326)的表,我有一个使用SQL Alchemy更新表(其余列)的Python应用程序没有任何问题.
现在,我需要更新位置列,我知道我可以使用给定位置的正确文本表示来使用SQL Alchemy更新列而无需使用GEOAlchemy,例如我可以使用以下值更新列:'0101000020E6100000AEAC7EB61F835DC0241CC418A2F74040 "
对应于lat:33.9346343 long:-118.0488106
问题是:有没有办法在Python中计算这个'0101000020E6100000AEAC7EB61F835DC0241CC418A2F74040'这个(33.9346343,-118.0488106)作为输入而不查询数据库?或使用适当的文本输入更新列的任何方法?
我知道我可以使用SQLAlchemy来执行此查询:
select st_setsrid(st_makepoint(-118.0488106, 33.9346343),4326)
Run Code Online (Sandbox Code Playgroud)
并获取更新列的值,但我想避免这种情况.
提前致谢!
Ser*_*rán 11
解决这个问题的方法比看起来容易得多.要使用文本和输入lat-long更新字段,我需要做的是在文本分配中定义SRID:
location ='SRID = 4326; POINT(-118.0488106 33.9346343)'
这将正确更新几何(point,4326)列,当您在表中执行select时,列的值是预期的值:
"0101000020E6100000AEAC7EB61F835DC0241CC418A2F74040"
多谢你们!
| 归档时间: |
|
| 查看次数: |
5828 次 |
| 最近记录: |