加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

postgresql – 无需查询数据库即可将lat-long转换为PostGIS几何

发布时间:2020-12-13 16:18:18 所属栏目:百科 来源:网络整理
导读:我在 postgresql中有一个带有PostGIS几何(point,4326)列(位置,使用SRID 4326)的表,我有一个使用SQL Alchemy更新表(其余列)的 Python应用程序没有任何问题. 现在,我需要更新位置列,我知道我可以使用给定位置的正确文本表示来使用SQL Alchemy更新列而无需使用G
我在 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)

并获取更新列的值,但我想避免这种情况.

提前致谢!

解决这个问题的方法比看起来容易得多.要使用文本和输入lat-long更新字段,我需要做的就是在文本分配中定义SRID:

location =’SRID = 4326; POINT(-118.0488106 33.9346343)’

这将正确更新几何(point,4326)列,当您在表中执行select时,列的值是预期的值:

“0101000020E6100000AEAC7EB61F835DC0241CC418A2F74040”

多谢你们!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读