gpt4 book ai didi

postgresql - 在不查询数据库的情况下将经纬度转换为 PostGIS 几何

转载 作者:行者123 更新时间:2023-11-29 11:19:09 31 4
gpt4 key购买 nike

我在 postgresql 中有一个带有 PostGIS geometry(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)

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

提前致谢!

最佳答案

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

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

这将正确更新 geometry(point,4326) 列,当您在表中进行选择时,该列的值是预期值:

“0101000020E6100000AEAC7EB61F835DC0241CC418A2F74040”

谢谢大家!

关于postgresql - 在不查询数据库的情况下将经纬度转换为 PostGIS 几何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15276168/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com