2
我使用Postgresql 9.3和iv'e安裝的多維數據集和earthdistance擴展。Posgresql:如何獲得特定半徑的所有點
我試圖按照this tutorial,所以我有一個簡單的事件表與4個字段:id,名稱,lat,lng。
現在我試圖運行此查詢,拿到1公里範圍內的所有事件:
SELECT events.id, events.name FROM events WHERE earth_box(31.789225, 34.789612, 1000) @> ll_to_earth(events.lat, events.lng);
,但我不斷收到此錯誤:
20:59:34 Kernel error: ERROR: function earth_box(numeric, numeric, integer) does not exist
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
所以我跑同樣的事情與鑄造:
SELECT events.id, events.name FROM events WHERE earth_box(CAST(31.789225 AS float8), CAST(34.789612 AS float8), 1000) @> ll_to_earth(events.lat, events.lng);
,我也得到:
21:16:17 Kernel error: ERROR: function earth_box(double precision, double precision, integer) does not exist
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
希望得到任何幫助
啊,這是我的壞事。將嘗試今晚或明天更新它。 – 2014-11-04 09:10:42
@JohannduToit,你還沒有更新你的倒數第二個查詢('SELECT events.id,...')。感謝教程雖然:) – 2015-06-10 16:08:02
ll_to_earth不被視爲一個函數。厄運。 :( – roconmachine 2016-06-07 03:45:24