gpt4 book ai didi

python - GeoAlchemy2 存储点和查询结果

转载 作者:行者123 更新时间:2023-11-28 20:47:02 29 4
gpt4 key购买 nike

GeoAlchemy2 上的文档似乎功能不全(与之前的版本相比)。

我有一个模型:

class AddressCode(Base):
__tablename__ = 'address_codes'
id = Column(Integer, primary_key=True)
code = Column(Unicode(34))
geometry = Column(Geometry('POINT'))

我想存储纬度/经度数据,我试图在上面的模型中保存这些数据,例如

"51.42553,-0.666085"

这给了我错误:

"Parse error at position 9 within Geometry (the "," char")

任何人都可以阐明我在这里哪里出错了?

同样关于这个主题,我将如何执行查询以说..

显示最近的 20 个用户:

class AddressCode(Base):
__tablename__ = 'address_codes'
id = Column(Integer, primary_key=True)
name = Column(Unicode(34))
geometry = Column(Geometry('POINT'))

类似的东西?

geom_var = "51.42553,-0.666085"
Session.query(User).filter(func.ST_DWithin, 20, geom_var).all()

最佳答案

在 GeoAlchemy 和 GeoAlchemy2 中,您需要以名为 WKT or Well-known text 的众所周知的文本格式指定几何图形。 ,或众所周知的二进制格式。对于一个点,语法是 'POINT(X Y)',因此 'POINT(-0.666085 51.42553)' 注意经度在前,然后是纬度。

shapely模块包含用于处理关系数据库外部几何的有用函数,以及 Python 几何类和 WKT、WKB 格式之间的轻松转换。

关于python - GeoAlchemy2 存储点和查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19894692/

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