st_clusterdbscan недоступен, но postgis устанавливается на postgresql
Я пытаюсь использовать описанную здесь функцию st_clusterdbscan postgis для экземпляра heroku / AWS postgresql. В документе сказано, что он доступен с 2.3 и требует гео. Postgis установлен в версии 2.4 с геос:
select postgis_version();
2.4 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
(1 row)
но попытка использовать функцию (sql была взята из официальной документации) дает мне
SELECT ST_ClusterDBSCAN(location, eps := 50, minpoints := 2) over () AS cid
FROM users;
ERROR: function st_clusterdbscan(geography, eps => integer, minpoints => integer) does not exist
LINE 1: SELECT ST_ClusterDBSCAN(location, eps := 50, minpoints := 2)...
^
HINT: No function matches the given name and argument types. You
might need to add explicit type casts.
Что я делаю неправильно? Другие функции postgis, такие как ST_DWITHIN, доступны и работают.
1 ответ
Это была проблема типа на самом деле. EPS должен быть приведён к плавающей точке, а мое "местоположение" должно быть приведено к "геометрии", тогда это сработало. Спасибо всем.