st_clusterdbscan不可用,但已在postgresql上安装了postgis

时间:2018-09-04 21:26:16

标签: postgresql postgis heroku-postgres geos

我正在尝试在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)可用并且正在工作。

1 个答案:

答案 0 :(得分:1)

实际上是一个类型问题。 eps需要转换为浮动,而我的“位置”必须转换为“ geometry”,然后它才起作用。谢谢大家