我想寫一個plv8函數,它返回一個代表UTM區域值的整數。該功能利用PostGIS功能。這裏是(沒有運作)的想法:從plv8訪問PostGIS函數
CREATE OR REPLACE FUNCTION utm_z(geometry)
RETURNS integer AS
$$
var geom_geog = st_transform($1, 4326);
var utm_zone = Math.floor((st_x(geom_geog)+180)/6)+1;
return utm_zone;
$$ LANGUAGE plv8;
當調用這個函數,我得到
ERROR: ReferenceError: st_transform is not defined
我怎麼能夠從裏面plv8訪問這些PostGIS的功能呢?
編輯: PostGIS在此DB中安裝並正常運行。
謝謝你,我已經在這個數據庫中安裝了PostGIS。用截圖更新了問題。 – Joebocop
看起來像是plv8的問題。您是否嘗試使用'LANGUAGE plpgsql'創建相同的函數來測試一切正常? –
是的,我實際上試圖將現有plpgsql的函數轉換爲這個新的plv8函數。 plpgsql函數可以正常工作,但我不清楚如何從plv8塊中訪問PostGIS函數。 – Joebocop