Я хочу перевести следующий SQL-запрос в код Python, используя SQLAlchemy.
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 возвращает строку с path
и geometry
, и мне нужна только geometry
часть. Документация для ST_Dump
в геоалхимии2 совсем не помогает.