我想写一个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