Я пытаюсь получить расстояние между двумя точками с помощью st_distancespheroid ().
В то время как один geom напрямую из базы данных, другой создается из значений long и lat с использованием 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'))
Я бы хотел избежать постановки в очередь второго geom с помощью st_astext () и создания обратно geom с помощью st_geomfromtext ()
Это выглядит ненужным для меня.Но в противном случае я получаю следующую ошибку:
Операция со смешанной геометрией SRID
Другие попытки, такие как
WKBElement(db.session.query(db.func.st_geomfromtext(
'POINT(2.580085 43.938344)', srid=4326)))
, тоже не удаются (двоичный файл выглядит корочепо сравнению с базой данных)