Как получить часть `geom` из ST_Dump с помощью SQLAlchemy? - PullRequest
0 голосов
/ 09 апреля 2019

Я хочу перевести следующий 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 совсем не помогает.

...