我正在尝试通过使用st_distancespheroid()获得两个点之间的距离。
虽然一个几何图形直接来自数据库,但是另一个几何图形则使用st_geomfromtext('POINT(2.580085 43.938344)',srid = 4326)从长和纬度值创建
我的工作代码
distance = db.session.query(
Locations.id,
db.func.st_distancespheroid(
db.func.st_geomfromtext(
'POINT(2.580085 43.938344)', srid=4326),
db.func.st_geomfromtext(
db.func.st_astext(Locations.geom)),
'SPHEROID["WGS 84",6378137,298.257223563]')
.label('distance'))
我想避免使用st_astext()排队第二个geom并通过使用st_geomfromtext()重新创建一个geom
对我来说,这看起来不必要。但否则,我将收到以下错误:
混合SRID几何的操作
其他尝试
WKBElement(db.session.query(db.func.st_geomfromtext(
'POINT(2.580085 43.938344)', srid=4326)))
也失败(二进制文件看上去比数据库中的二进制文件短)