0
我有一些功能,我需要傳遞點數據類型。如何將幾何點作爲參數傳遞給postgres函數?
somefunc("United States",Point(85.327892 27.703744))
但我得到這個錯誤。
ERROR: syntax error at or near "27.703744"
SQL state: 42601
Character: 1192
我有一些功能,我需要傳遞點數據類型。如何將幾何點作爲參數傳遞給postgres函數?
somefunc("United States",Point(85.327892 27.703744))
但我得到這個錯誤。
ERROR: syntax error at or near "27.703744"
SQL state: 42601
Character: 1192
也許試試在函數參數之間加一個逗號?
somefunc("United States",Point(85.327892, 27.703744))
我感到了PostGIS和PostgreSQL的geometric data types之間有些混亂。如果您使用的是PostGIS,則需要使用ST_MakePoint
function,這對於參數非常適用:
SELECT ST_SetSRID(ST_MakePoint($lon, $lat), 4326)) AS geom;
這似乎起作用。 我有功能getRegions(位置文本,PT點)。 now SELECT * FROM WHERE contains((GEOMETRY),pt)。似乎沒有工作。它說 函數包含(幾何,點)不存在。 我不能檢查一個點是否包含在幾何中? –
我假設你不使用postgis,但是postgres中那些簡單的幾何圖形是對的嗎? –
WHERE包含((GEOMETRY),(GeomFromText(location)))正常工作。我正在使用postgis。我用postgis模板創建了數據庫。 –