我想使用 SQLAlchemy 将以下 SQL 查询转换为 Python 代码。
SELECT (ST_Dump(ST_Linemerge(ST_Union(geog::geometry)))).geom
FROM my_table
GROUP BY some_foreign_key
我取得了部分成功
from geoalchemy2 import Geometry
from sqlalchemy import func, cast
data = session.query(
func.ST_Dump(
func.ST_Linemerge(
func.ST_Union(
cast(MyTable.geog, Geometry)
)
)
).label('dumped_geom')
).group_by(
MyTable.some_foreign_key
)
问题是ST_Dump
返回集合而不是单个值,Python 中的这个查询返回带有 apath
和的字符串,geometry
而我只需要geometry
部分。geoalchemy2中的文档ST_Dump
根本没有帮助。