Почему происходит сбой запроса при фильтрации st_distance в presto? - PullRequest
0 голосов
/ 20 февраля 2020

Я пытаюсь отфильтровать по st_distance в моем запросе, но Presto не удалось сказать, что моя широта не находится в диапазоне (-90,90), без запроса фильтра он работал:

presto> SELECT id, id_type, lat, lon, ST_Distance(to_spherical_geography(ST_Point(lat, lon)), to_spherical_geography(ST_Point(59.988658, 30.200408))) 
       FROM geo.geo_data 
       WHERE ST_Distance(to_spherical_geography(ST_Point(lat, lon)), to_spherical_geography(ST_Point(59.988658, 30.200408))) < 500.0;

Query failed: Latitude must be between -90 and 90

1 Ответ

3 голосов
/ 20 февраля 2020

В вашей таблице неверные данные. Вы можете найти это удобно с помощью try().

SELECT * 
FROM geo.geo_data
WHERE try(ST_Point(lat, lon)) IS NULL
...