我正在尝试在heroku / AWS postgresql实例上使用here中描述的postgis的st_clusterdbscan-function。在文档中说它从2.3开始可用,并且需要geos。 postgis在带有geos的v 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)可用并且正在工作。
答案 0 :(得分:1)
实际上是一个类型问题。 eps需要转换为浮动,而我的“位置”必须转换为“ geometry”,然后它才起作用。谢谢大家