-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- -- $Id: postgis.sql.in.c 5385 2010-03-09 00:22:41Z pramsey $ -- -- PostGIS - Spatial Types for PostgreSQL -- http://postgis.refractions.net -- Copyright 2001-2003 Refractions Research Inc. -- -- This is free software; you can redistribute and/or modify it under -- the terms of the GNU General Public Licence. See the COPYING file. -- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- -- WARNING: Any change in this file must be evaluated for compatibility. -- Changes cleanly handled by postgis_upgrade.sql are fine, -- other changes will require a bump in Major version. -- Currently only function replaceble by CREATE OR REPLACE -- are cleanly handled. -- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- INSTALL VERSION: 1.5.1 SET client_min_messages TO warning; BEGIN; ------------------------------------------------------------------- -- SPHEROID TYPE ------------------------------------------------------------------- -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_spheroid_in(cstring) RETURNS spheroid AS '$libdir/postgis-1.5','ellipsoid_in' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_spheroid_out(spheroid) RETURNS cstring AS '$libdir/postgis-1.5','ellipsoid_out' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION spheroid_in(cstring) RETURNS spheroid AS '$libdir/postgis-1.5','ellipsoid_in' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION spheroid_out(spheroid) RETURNS cstring AS '$libdir/postgis-1.5','ellipsoid_out' LANGUAGE 'C' IMMUTABLE STRICT; CREATE TYPE spheroid ( alignment = double, internallength = 65, input = spheroid_in, output = spheroid_out ); ------------------------------------------------------------------- -- GEOMETRY TYPE (lwgeom) ------------------------------------------------------------------- -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_geometry_in(cstring) RETURNS geometry AS '$libdir/postgis-1.5','LWGEOM_in' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_geometry_out(geometry) RETURNS cstring AS '$libdir/postgis-1.5','LWGEOM_out' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_geometry_analyze(internal) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_analyze' LANGUAGE 'C' VOLATILE STRICT; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_geometry_recv(internal) RETURNS geometry AS '$libdir/postgis-1.5','LWGEOM_recv' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_geometry_send(geometry) RETURNS bytea AS '$libdir/postgis-1.5','LWGEOM_send' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION geometry_in(cstring) RETURNS geometry AS '$libdir/postgis-1.5','LWGEOM_in' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION geometry_out(geometry) RETURNS cstring AS '$libdir/postgis-1.5','LWGEOM_out' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION geometry_analyze(internal) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_analyze' LANGUAGE 'C' VOLATILE STRICT; CREATE OR REPLACE FUNCTION geometry_recv(internal) RETURNS geometry AS '$libdir/postgis-1.5','LWGEOM_recv' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION geometry_send(geometry) RETURNS bytea AS '$libdir/postgis-1.5','LWGEOM_send' LANGUAGE 'C' IMMUTABLE STRICT; CREATE TYPE geometry ( internallength = variable, input = geometry_in, output = geometry_out, send = geometry_send, receive = geometry_recv, delimiter = ':', analyze = geometry_analyze, storage = main ); ------------------------------------------- -- Affine transforms ------------------------------------------- -- Availability: 1.1.2 -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION Affine(geometry,float8,float8,float8,float8,float8,float8,float8,float8,float8,float8,float8,float8) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_affine' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_Affine(geometry,float8,float8,float8,float8,float8,float8,float8,float8,float8,float8,float8,float8) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_affine' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.1.2 -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION Affine(geometry,float8,float8,float8,float8,float8,float8) RETURNS geometry AS 'SELECT affine($1, $2, $3, 0, $4, $5, 0, 0, 0, 1, $6, $7, 0)' LANGUAGE 'SQL' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_Affine(geometry,float8,float8,float8,float8,float8,float8) RETURNS geometry AS 'SELECT affine($1, $2, $3, 0, $4, $5, 0, 0, 0, 1, $6, $7, 0)' LANGUAGE 'SQL' IMMUTABLE STRICT; -- Availability: 1.1.2 -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION RotateZ(geometry,float8) RETURNS geometry AS 'SELECT affine($1, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0, 1, 0, 0, 0)' LANGUAGE 'SQL' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_RotateZ(geometry,float8) RETURNS geometry AS 'SELECT affine($1, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0, 1, 0, 0, 0)' LANGUAGE 'SQL' IMMUTABLE STRICT; -- Availability: 1.1.2 -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION Rotate(geometry,float8) RETURNS geometry AS 'SELECT rotateZ($1, $2)' LANGUAGE 'SQL' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_Rotate(geometry,float8) RETURNS geometry AS 'SELECT rotateZ($1, $2)' LANGUAGE 'SQL' IMMUTABLE STRICT; -- Availability: 1.1.2 -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION RotateX(geometry,float8) RETURNS geometry AS 'SELECT affine($1, 1, 0, 0, 0, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0)' LANGUAGE 'SQL' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_RotateX(geometry,float8) RETURNS geometry AS 'SELECT affine($1, 1, 0, 0, 0, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0)' LANGUAGE 'SQL' IMMUTABLE STRICT; -- Availability: 1.1.2 -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION RotateY(geometry,float8) RETURNS geometry AS 'SELECT affine($1, cos($2), 0, sin($2), 0, 1, 0, -sin($2), 0, cos($2), 0, 0, 0)' LANGUAGE 'SQL' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_RotateY(geometry,float8) RETURNS geometry AS 'SELECT affine($1, cos($2), 0, sin($2), 0, 1, 0, -sin($2), 0, cos($2), 0, 0, 0)' LANGUAGE 'SQL' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION Translate(geometry,float8,float8,float8) RETURNS geometry AS 'SELECT affine($1, 1, 0, 0, 0, 1, 0, 0, 0, 1, $2, $3, $4)' LANGUAGE 'SQL' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_Translate(geometry,float8,float8,float8) RETURNS geometry AS 'SELECT affine($1, 1, 0, 0, 0, 1, 0, 0, 0, 1, $2, $3, $4)' LANGUAGE 'SQL' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION Translate(geometry,float8,float8) RETURNS geometry AS 'SELECT translate($1, $2, $3, 0)' LANGUAGE 'SQL' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_Translate(geometry,float8,float8) RETURNS geometry AS 'SELECT translate($1, $2, $3, 0)' LANGUAGE 'SQL' IMMUTABLE STRICT; -- Availability: 1.1.0 -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION Scale(geometry,float8,float8,float8) RETURNS geometry AS 'SELECT affine($1, $2, 0, 0, 0, $3, 0, 0, 0, $4, 0, 0, 0)' LANGUAGE 'SQL' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_Scale(geometry,float8,float8,float8) RETURNS geometry AS 'SELECT affine($1, $2, 0, 0, 0, $3, 0, 0, 0, $4, 0, 0, 0)' LANGUAGE 'SQL' IMMUTABLE STRICT; -- Availability: 1.1.0 -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION Scale(geometry,float8,float8) RETURNS geometry AS 'SELECT scale($1, $2, $3, 1)' LANGUAGE 'SQL' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_Scale(geometry,float8,float8) RETURNS geometry AS 'SELECT scale($1, $2, $3, 1)' LANGUAGE 'SQL' IMMUTABLE STRICT; -- Availability: 1.1.0 -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION transscale(geometry,float8,float8,float8,float8) RETURNS geometry AS 'SELECT affine($1, $4, 0, 0, 0, $5, 0, 0, 0, 1, $2 * $4, $3 * $5, 0)' LANGUAGE 'SQL' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_transscale(geometry,float8,float8,float8,float8) RETURNS geometry AS 'SELECT affine($1, $4, 0, 0, 0, $5, 0, 0, 0, 1, $2 * $4, $3 * $5, 0)' LANGUAGE 'SQL' IMMUTABLE STRICT; -- Availability: 1.1.0 -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION shift_longitude(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_longitude_shift' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_shift_longitude(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_longitude_shift' LANGUAGE 'C' IMMUTABLE STRICT; ------------------------------------------------------------------- -- BOX3D TYPE ------------------------------------------------------------------- -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_box3d_in(cstring) RETURNS box3d AS '$libdir/postgis-1.5', 'BOX3D_in' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_box3d_out(box3d) RETURNS cstring AS '$libdir/postgis-1.5', 'BOX3D_out' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION box3d_in(cstring) RETURNS box3d AS '$libdir/postgis-1.5', 'BOX3D_in' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION box3d_out(box3d) RETURNS cstring AS '$libdir/postgis-1.5', 'BOX3D_out' LANGUAGE 'C' IMMUTABLE STRICT; CREATE TYPE box3d ( alignment = double, internallength = 48, input = box3d_in, output = box3d_out ); -- Temporary box3d aggregate type to retain full double precision -- for ST_Extent(). Should be removed when we change the output -- type of ST_Extent() to return something other than BOX2DFLOAT4. CREATE OR REPLACE FUNCTION box3d_extent_in(cstring) RETURNS box3d_extent AS '$libdir/postgis-1.5', 'BOX3D_in' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION box3d_extent_out(box3d_extent) RETURNS cstring AS '$libdir/postgis-1.5', 'BOX3D_extent_out' LANGUAGE 'C' IMMUTABLE STRICT; CREATE TYPE box3d_extent ( alignment = double, internallength = 48, input = box3d_extent_in, output = box3d_extent_out ); -- Availability: 1.4.0 CREATE OR REPLACE FUNCTION box3d_extent(box3d_extent) RETURNS box3d AS '$libdir/postgis-1.5', 'BOX3D_extent_to_BOX3D' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION box2d(box3d_extent) RETURNS box2d AS '$libdir/postgis-1.5', 'BOX3D_to_BOX2DFLOAT4' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION geometry(box3d_extent) RETURNS geometry AS '$libdir/postgis-1.5','BOX3D_to_LWGEOM' LANGUAGE 'C' IMMUTABLE STRICT; -- End of temporary hack -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION xmin(box3d) RETURNS FLOAT8 AS '$libdir/postgis-1.5','BOX3D_xmin' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_XMin(box3d) RETURNS FLOAT8 AS '$libdir/postgis-1.5','BOX3D_xmin' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION ymin(box3d) RETURNS FLOAT8 AS '$libdir/postgis-1.5','BOX3D_ymin' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_YMin(box3d) RETURNS FLOAT8 AS '$libdir/postgis-1.5','BOX3D_ymin' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION zmin(box3d) RETURNS FLOAT8 AS '$libdir/postgis-1.5','BOX3D_zmin' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_ZMin(box3d) RETURNS FLOAT8 AS '$libdir/postgis-1.5','BOX3D_zmin' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION xmax(box3d) RETURNS FLOAT8 AS '$libdir/postgis-1.5','BOX3D_xmax' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_XMax(box3d) RETURNS FLOAT8 AS '$libdir/postgis-1.5','BOX3D_xmax' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION ymax(box3d) RETURNS FLOAT8 AS '$libdir/postgis-1.5','BOX3D_ymax' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_YMax(box3d) RETURNS FLOAT8 AS '$libdir/postgis-1.5','BOX3D_ymax' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION zmax(box3d) RETURNS FLOAT8 AS '$libdir/postgis-1.5','BOX3D_zmax' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_ZMax(box3d) RETURNS FLOAT8 AS '$libdir/postgis-1.5','BOX3D_zmax' LANGUAGE 'C' IMMUTABLE STRICT; ------------------------------------------------------------------- -- CHIP TYPE ------------------------------------------------------------------- CREATE OR REPLACE FUNCTION chip_in(cstring) RETURNS chip AS '$libdir/postgis-1.5','CHIP_in' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION chip_out(chip) RETURNS cstring AS '$libdir/postgis-1.5','CHIP_out' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION ST_chip_in(cstring) RETURNS chip AS '$libdir/postgis-1.5','CHIP_in' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION ST_chip_out(chip) RETURNS cstring AS '$libdir/postgis-1.5','CHIP_out' LANGUAGE 'C' IMMUTABLE STRICT; CREATE TYPE chip ( alignment = double, internallength = variable, input = chip_in, output = chip_out, storage = extended ); ----------------------------------------------------------------------- -- BOX2D ----------------------------------------------------------------------- -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_box2d_in(cstring) RETURNS box2d AS '$libdir/postgis-1.5','BOX2DFLOAT4_in' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_box2d_out(box2d) RETURNS cstring AS '$libdir/postgis-1.5','BOX2DFLOAT4_out' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION box2d_in(cstring) RETURNS box2d AS '$libdir/postgis-1.5','BOX2DFLOAT4_in' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION box2d_out(box2d) RETURNS cstring AS '$libdir/postgis-1.5','BOX2DFLOAT4_out' LANGUAGE 'C' IMMUTABLE STRICT; CREATE TYPE box2d ( internallength = 16, input = box2d_in, output = box2d_out, storage = plain ); ------------------------------------------------------------------- -- BTREE indexes ------------------------------------------------------------------- -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_geometry_lt(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'lwgeom_lt' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_geometry_le(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'lwgeom_le' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_geometry_gt(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'lwgeom_gt' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_geometry_ge(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'lwgeom_ge' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_geometry_eq(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'lwgeom_eq' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_geometry_cmp(geometry, geometry) RETURNS integer AS '$libdir/postgis-1.5', 'lwgeom_cmp' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION geometry_lt(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'lwgeom_lt' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION geometry_le(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'lwgeom_le' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION geometry_gt(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'lwgeom_gt' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION geometry_ge(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'lwgeom_ge' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION geometry_eq(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'lwgeom_eq' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION geometry_cmp(geometry, geometry) RETURNS integer AS '$libdir/postgis-1.5', 'lwgeom_cmp' LANGUAGE 'C' IMMUTABLE STRICT; -- -- Sorting operators for Btree -- CREATE OPERATOR < ( LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_lt, COMMUTATOR = '>', NEGATOR = '>=', RESTRICT = contsel, JOIN = contjoinsel ); CREATE OPERATOR <= ( LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_le, COMMUTATOR = '>=', NEGATOR = '>', RESTRICT = contsel, JOIN = contjoinsel ); CREATE OPERATOR = ( LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_eq, COMMUTATOR = '=', -- we might implement a faster negator here RESTRICT = contsel, JOIN = contjoinsel ); CREATE OPERATOR >= ( LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_ge, COMMUTATOR = '<=', NEGATOR = '<', RESTRICT = contsel, JOIN = contjoinsel ); CREATE OPERATOR > ( LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_gt, COMMUTATOR = '<', NEGATOR = '<=', RESTRICT = contsel, JOIN = contjoinsel ); CREATE OPERATOR CLASS btree_geometry_ops DEFAULT FOR TYPE geometry USING btree AS OPERATOR 1 < , OPERATOR 2 <= , OPERATOR 3 = , OPERATOR 4 >= , OPERATOR 5 > , FUNCTION 1 geometry_cmp (geometry, geometry); ------------------------------------------------------------------- -- GiST indexes ------------------------------------------------------------------- -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION postgis_gist_sel (internal, oid, internal, int4) RETURNS float8 AS '$libdir/postgis-1.5', 'LWGEOM_gist_sel' LANGUAGE 'C'; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION postgis_gist_joinsel(internal, oid, internal, smallint) RETURNS float8 AS '$libdir/postgis-1.5', 'LWGEOM_gist_joinsel' LANGUAGE 'C'; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_postgis_gist_sel (internal, oid, internal, int4) RETURNS float8 AS '$libdir/postgis-1.5', 'LWGEOM_gist_sel' LANGUAGE 'C'; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_postgis_gist_joinsel(internal, oid, internal, smallint) RETURNS float8 AS '$libdir/postgis-1.5', 'LWGEOM_gist_joinsel' LANGUAGE 'C'; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_geometry_overleft(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_overleft' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_geometry_overright(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_overright' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_geometry_overabove(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_overabove' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_geometry_overbelow(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_overbelow' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_geometry_left(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_left' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_geometry_right(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_right' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_geometry_above(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_above' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_geometry_below(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_below' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_geometry_contain(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_contain' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_geometry_contained(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_contained' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_geometry_overlap(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_overlap' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION st_geometry_same(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_samebox' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION geometry_same(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_samebox' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION geometry_gist_sel (internal, oid, internal, int4) RETURNS float8 AS '$libdir/postgis-1.5', 'LWGEOM_gist_sel' LANGUAGE 'C'; CREATE OR REPLACE FUNCTION geometry_gist_joinsel(internal, oid, internal, smallint) RETURNS float8 AS '$libdir/postgis-1.5', 'LWGEOM_gist_joinsel' LANGUAGE 'C'; CREATE OR REPLACE FUNCTION geometry_overleft(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_overleft' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION geometry_overright(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_overright' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION geometry_overabove(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_overabove' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION geometry_overbelow(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_overbelow' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION geometry_left(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_left' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION geometry_right(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_right' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION geometry_above(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_above' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION geometry_below(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_below' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION geometry_contain(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_contain' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION geometry_contained(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_contained' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION geometry_overlap(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_overlap' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION geometry_samebox(geometry, geometry) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_samebox' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OPERATOR << ( LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_left, COMMUTATOR = '>>', RESTRICT = positionsel, JOIN = positionjoinsel ); CREATE OPERATOR &< ( LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_overleft, COMMUTATOR = '&>', RESTRICT = positionsel, JOIN = positionjoinsel ); CREATE OPERATOR <<| ( LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_below, COMMUTATOR = '|>>', RESTRICT = positionsel, JOIN = positionjoinsel ); CREATE OPERATOR &<| ( LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_overbelow, COMMUTATOR = '|&>', RESTRICT = positionsel, JOIN = positionjoinsel ); CREATE OPERATOR && ( LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_overlap, COMMUTATOR = '&&', RESTRICT = geometry_gist_sel, JOIN = geometry_gist_joinsel ); CREATE OPERATOR &> ( LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_overright, COMMUTATOR = '&<', RESTRICT = positionsel, JOIN = positionjoinsel ); CREATE OPERATOR >> ( LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_right, COMMUTATOR = '<<', RESTRICT = positionsel, JOIN = positionjoinsel ); CREATE OPERATOR |&> ( LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_overabove, COMMUTATOR = '&<|', RESTRICT = positionsel, JOIN = positionjoinsel ); CREATE OPERATOR |>> ( LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_above, COMMUTATOR = '<<|', RESTRICT = positionsel, JOIN = positionjoinsel ); CREATE OPERATOR ~= ( LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_samebox, COMMUTATOR = '~=', RESTRICT = eqsel, JOIN = eqjoinsel ); CREATE OPERATOR @ ( LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_contained, COMMUTATOR = '~', RESTRICT = contsel, JOIN = contjoinsel ); CREATE OPERATOR ~ ( LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_contain, COMMUTATOR = '@', RESTRICT = contsel, JOIN = contjoinsel ); -- gist support functions CREATE OR REPLACE FUNCTION LWGEOM_gist_consistent(internal,geometry,int4) RETURNS bool AS '$libdir/postgis-1.5' ,'LWGEOM_gist_consistent' LANGUAGE 'C'; CREATE OR REPLACE FUNCTION LWGEOM_gist_compress(internal) RETURNS internal AS '$libdir/postgis-1.5','LWGEOM_gist_compress' LANGUAGE 'C'; CREATE OR REPLACE FUNCTION LWGEOM_gist_penalty(internal,internal,internal) RETURNS internal AS '$libdir/postgis-1.5' ,'LWGEOM_gist_penalty' LANGUAGE 'C'; CREATE OR REPLACE FUNCTION LWGEOM_gist_picksplit(internal, internal) RETURNS internal AS '$libdir/postgis-1.5' ,'LWGEOM_gist_picksplit' LANGUAGE 'C'; CREATE OR REPLACE FUNCTION LWGEOM_gist_union(bytea, internal) RETURNS internal AS '$libdir/postgis-1.5' ,'LWGEOM_gist_union' LANGUAGE 'C'; CREATE OR REPLACE FUNCTION LWGEOM_gist_same(box2d, box2d, internal) RETURNS internal AS '$libdir/postgis-1.5' ,'LWGEOM_gist_same' LANGUAGE 'C'; CREATE OR REPLACE FUNCTION LWGEOM_gist_decompress(internal) RETURNS internal AS '$libdir/postgis-1.5' ,'LWGEOM_gist_decompress' LANGUAGE 'C'; ------------------------------------------- -- GIST opclass index binding entries. ------------------------------------------- -- -- Create opclass index bindings for PG>=73 -- CREATE OPERATOR CLASS gist_geometry_ops DEFAULT FOR TYPE geometry USING gist AS STORAGE box2d, OPERATOR 1 << , OPERATOR 2 &< , OPERATOR 3 && , OPERATOR 4 &> , OPERATOR 5 >> , OPERATOR 6 ~= , OPERATOR 7 ~ , OPERATOR 8 @ , OPERATOR 9 &<| , OPERATOR 10 <<| , OPERATOR 11 |>> , OPERATOR 12 |&> , FUNCTION 1 LWGEOM_gist_consistent (internal, geometry, int4), FUNCTION 2 LWGEOM_gist_union (bytea, internal), FUNCTION 3 LWGEOM_gist_compress (internal), FUNCTION 4 LWGEOM_gist_decompress (internal), FUNCTION 5 LWGEOM_gist_penalty (internal, internal, internal), FUNCTION 6 LWGEOM_gist_picksplit (internal, internal), FUNCTION 7 LWGEOM_gist_same (box2d, box2d, internal); ------------------------------------------- -- other lwgeom functions ------------------------------------------- CREATE OR REPLACE FUNCTION addbbox(geometry) RETURNS geometry AS '$libdir/postgis-1.5','LWGEOM_addBBOX' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.5.0 CREATE OR REPLACE FUNCTION postgis_addbbox(geometry) RETURNS geometry AS '$libdir/postgis-1.5','LWGEOM_addBBOX' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION dropbbox(geometry) RETURNS geometry AS '$libdir/postgis-1.5','LWGEOM_dropBBOX' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.5.0 CREATE OR REPLACE FUNCTION postgis_dropbbox(geometry) RETURNS geometry AS '$libdir/postgis-1.5','LWGEOM_dropBBOX' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION getsrid(geometry) RETURNS int4 AS '$libdir/postgis-1.5','LWGEOM_getSRID' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.5.0 CREATE OR REPLACE FUNCTION getbbox(geometry) RETURNS box2d AS '$libdir/postgis-1.5','LWGEOM_to_BOX2DFLOAT4' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.5.0 CREATE OR REPLACE FUNCTION postgis_getbbox(geometry) RETURNS box2d AS '$libdir/postgis-1.5','LWGEOM_to_BOX2DFLOAT4' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION hasbbox(geometry) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_hasBBOX' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.5.0 CREATE OR REPLACE FUNCTION postgis_hasbbox(geometry) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_hasBBOX' LANGUAGE 'C' IMMUTABLE STRICT; ------------------------------------------- --- CHIP functions ------------------------------------------- -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION srid(chip) RETURNS int4 AS '$libdir/postgis-1.5','CHIP_getSRID' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_srid(chip) RETURNS int4 AS '$libdir/postgis-1.5','CHIP_getSRID' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION height(chip) RETURNS int4 AS '$libdir/postgis-1.5','CHIP_getHeight' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_height(chip) RETURNS int4 AS '$libdir/postgis-1.5','CHIP_getHeight' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION factor(chip) RETURNS FLOAT4 AS '$libdir/postgis-1.5','CHIP_getFactor' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_factor(chip) RETURNS FLOAT4 AS '$libdir/postgis-1.5','CHIP_getFactor' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION width(chip) RETURNS int4 AS '$libdir/postgis-1.5','CHIP_getWidth' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_width(chip) RETURNS int4 AS '$libdir/postgis-1.5','CHIP_getWidth' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION datatype(chip) RETURNS int4 AS '$libdir/postgis-1.5','CHIP_getDatatype' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_datatype(chip) RETURNS int4 AS '$libdir/postgis-1.5','CHIP_getDatatype' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION compression(chip) RETURNS int4 AS '$libdir/postgis-1.5','CHIP_getCompression' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_compression(chip) RETURNS int4 AS '$libdir/postgis-1.5','CHIP_getCompression' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION setSRID(chip,int4) RETURNS chip AS '$libdir/postgis-1.5','CHIP_setSRID' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION setFactor(chip,float4) RETURNS chip AS '$libdir/postgis-1.5','CHIP_setFactor' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_setFactor(chip,float4) RETURNS chip AS '$libdir/postgis-1.5','CHIP_setFactor' LANGUAGE 'C' IMMUTABLE STRICT; ------------------------------------------------------------------------ -- DEBUG ------------------------------------------------------------------------ -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION mem_size(geometry) RETURNS int4 AS '$libdir/postgis-1.5', 'LWGEOM_mem_size' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_mem_size(geometry) RETURNS int4 AS '$libdir/postgis-1.5', 'LWGEOM_mem_size' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION summary(geometry) RETURNS text AS '$libdir/postgis-1.5', 'LWGEOM_summary' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_summary(geometry) RETURNS text AS '$libdir/postgis-1.5', 'LWGEOM_summary' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION npoints(geometry) RETURNS int4 AS '$libdir/postgis-1.5', 'LWGEOM_npoints' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_npoints(geometry) RETURNS int4 AS '$libdir/postgis-1.5', 'LWGEOM_npoints' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION nrings(geometry) RETURNS int4 AS '$libdir/postgis-1.5', 'LWGEOM_nrings' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_nrings(geometry) RETURNS int4 AS '$libdir/postgis-1.5', 'LWGEOM_nrings' LANGUAGE 'C' IMMUTABLE STRICT; ------------------------------------------------------------------------ -- Misures ------------------------------------------------------------------------ -- this is a fake (for back-compatibility) -- uses 3d if 3d is available, 2d otherwise -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION length3d(geometry) RETURNS FLOAT8 AS '$libdir/postgis-1.5', 'LWGEOM_length_linestring' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_length3d(geometry) RETURNS FLOAT8 AS '$libdir/postgis-1.5', 'LWGEOM_length_linestring' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION length2d(geometry) RETURNS FLOAT8 AS '$libdir/postgis-1.5', 'LWGEOM_length2d_linestring' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_length2d(geometry) RETURNS FLOAT8 AS '$libdir/postgis-1.5', 'LWGEOM_length2d_linestring' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION length(geometry) RETURNS FLOAT8 AS '$libdir/postgis-1.5', 'LWGEOM_length_linestring' LANGUAGE 'C' IMMUTABLE STRICT; -- PostGIS equivalent function: length2d(geometry) CREATE OR REPLACE FUNCTION ST_Length(geometry) RETURNS FLOAT8 AS '$libdir/postgis-1.5', 'LWGEOM_length2d_linestring' LANGUAGE 'C' IMMUTABLE STRICT; -- this is a fake (for back-compatibility) -- uses 3d if 3d is available, 2d otherwise -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION length3d_spheroid(geometry, spheroid) RETURNS FLOAT8 AS '$libdir/postgis-1.5','LWGEOM_length_ellipsoid_linestring' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_length3d_spheroid(geometry, spheroid) RETURNS FLOAT8 AS '$libdir/postgis-1.5','LWGEOM_length_ellipsoid_linestring' LANGUAGE 'C' IMMUTABLE STRICT COST 100; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION length_spheroid(geometry, spheroid) RETURNS FLOAT8 AS '$libdir/postgis-1.5','LWGEOM_length_ellipsoid_linestring' LANGUAGE 'C' IMMUTABLE STRICT COST 100; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_length_spheroid(geometry, spheroid) RETURNS FLOAT8 AS '$libdir/postgis-1.5','LWGEOM_length_ellipsoid_linestring' LANGUAGE 'C' IMMUTABLE STRICT COST 100; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION length2d_spheroid(geometry, spheroid) RETURNS FLOAT8 AS '$libdir/postgis-1.5','LWGEOM_length2d_ellipsoid' LANGUAGE 'C' IMMUTABLE STRICT COST 100; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_length2d_spheroid(geometry, spheroid) RETURNS FLOAT8 AS '$libdir/postgis-1.5','LWGEOM_length2d_ellipsoid' LANGUAGE 'C' IMMUTABLE STRICT COST 100; -- this is a fake (for back-compatibility) -- uses 3d if 3d is available, 2d otherwise -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION perimeter3d(geometry) RETURNS FLOAT8 AS '$libdir/postgis-1.5', 'LWGEOM_perimeter_poly' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_perimeter3d(geometry) RETURNS FLOAT8 AS '$libdir/postgis-1.5', 'LWGEOM_perimeter_poly' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION perimeter2d(geometry) RETURNS FLOAT8 AS '$libdir/postgis-1.5', 'LWGEOM_perimeter2d_poly' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_perimeter2d(geometry) RETURNS FLOAT8 AS '$libdir/postgis-1.5', 'LWGEOM_perimeter2d_poly' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION perimeter(geometry) RETURNS FLOAT8 AS '$libdir/postgis-1.5', 'LWGEOM_perimeter_poly' LANGUAGE 'C' IMMUTABLE STRICT; -- PostGIS equivalent function: perimeter2d(geometry) CREATE OR REPLACE FUNCTION ST_Perimeter(geometry) RETURNS FLOAT8 AS '$libdir/postgis-1.5', 'LWGEOM_perimeter2d_poly' LANGUAGE 'C' IMMUTABLE STRICT; -- this is an alias for 'area(geometry)' -- there is nothing such an 'area3d'... -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION area2d(geometry) RETURNS FLOAT8 AS '$libdir/postgis-1.5', 'LWGEOM_area_polygon' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 -- Deprecation in 1.3.4 CREATE OR REPLACE FUNCTION ST_area2d(geometry) RETURNS FLOAT8 AS '$libdir/postgis-1.5', 'LWGEOM_area_polygon' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION area(geometry) RETURNS FLOAT8 AS '$libdir/postgis-1.5','LWGEOM_area_polygon' LANGUAGE 'C' IMMUTABLE STRICT; -- PostGIS equivalent function: area(geometry) CREATE OR REPLACE FUNCTION ST_Area(geometry) RETURNS FLOAT8 AS '$libdir/postgis-1.5','LWGEOM_area_polygon' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION distance_spheroid(geometry,geometry,spheroid) RETURNS FLOAT8 AS '$libdir/postgis-1.5','LWGEOM_distance_ellipsoid' LANGUAGE 'C' IMMUTABLE STRICT COST 100; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_distance_spheroid(geometry,geometry,spheroid) RETURNS FLOAT8 AS '$libdir/postgis-1.5','LWGEOM_distance_ellipsoid' LANGUAGE 'C' IMMUTABLE STRICT COST 100; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION distance_sphere(geometry,geometry) RETURNS FLOAT8 AS '$libdir/postgis-1.5','LWGEOM_distance_sphere' LANGUAGE 'C' IMMUTABLE STRICT COST 100; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_distance_sphere(geometry,geometry) RETURNS FLOAT8 AS '$libdir/postgis-1.5','LWGEOM_distance_sphere' LANGUAGE 'C' IMMUTABLE STRICT COST 100; -- Minimum distance. 2d only. -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION distance(geometry,geometry) RETURNS float8 AS '$libdir/postgis-1.5', 'LWGEOM_mindistance2d' LANGUAGE 'C' IMMUTABLE STRICT COST 100; -- PostGIS equivalent function: distance(geometry,geometry) CREATE OR REPLACE FUNCTION ST_Distance(geometry,geometry) RETURNS float8 AS '$libdir/postgis-1.5', 'LWGEOM_mindistance2d' LANGUAGE 'C' IMMUTABLE STRICT COST 100; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION point_inside_circle(geometry,float8,float8,float8) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_inside_circle_point' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_point_inside_circle(geometry,float8,float8,float8) RETURNS bool AS '$libdir/postgis-1.5', 'LWGEOM_inside_circle_point' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION azimuth(geometry,geometry) RETURNS float8 AS '$libdir/postgis-1.5', 'LWGEOM_azimuth' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_azimuth(geometry,geometry) RETURNS float8 AS '$libdir/postgis-1.5', 'LWGEOM_azimuth' LANGUAGE 'C' IMMUTABLE STRICT; ------------------------------------------------------------------------ -- MISC ------------------------------------------------------------------------ -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION force_2d(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_force_2d' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_force_2d(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_force_2d' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION force_3dz(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_force_3dz' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_force_3dz(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_force_3dz' LANGUAGE 'C' IMMUTABLE STRICT; -- an alias for force_3dz -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION force_3d(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_force_3dz' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_force_3d(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_force_3dz' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION force_3dm(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_force_3dm' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_force_3dm(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_force_3dm' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION force_4d(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_force_4d' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_force_4d(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_force_4d' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION force_collection(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_force_collection' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_force_collection(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_force_collection' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.5.0 CREATE OR REPLACE FUNCTION ST_CollectionExtract(geometry, integer) RETURNS geometry AS '$libdir/postgis-1.5', 'ST_CollectionExtract' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION multi(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_force_multi' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_multi(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_force_multi' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION expand(box3d,float8) RETURNS box3d AS '$libdir/postgis-1.5', 'BOX3D_expand' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_Expand(box3d,float8) RETURNS box3d AS '$libdir/postgis-1.5', 'BOX3D_expand' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION expand(box2d,float8) RETURNS box2d AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_expand' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_expand(box2d,float8) RETURNS box2d AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_expand' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION expand(geometry,float8) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_expand' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_expand(geometry,float8) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_expand' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION envelope(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_envelope' LANGUAGE 'C' IMMUTABLE STRICT; -- PostGIS equivalent function: envelope(geometry) CREATE OR REPLACE FUNCTION ST_Envelope(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_envelope' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION reverse(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_reverse' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_Reverse(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_reverse' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION ForceRHR(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_forceRHR_poly' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_ForceRHR(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_forceRHR_poly' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION noop(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_noop' LANGUAGE 'C' VOLATILE STRICT; -- Availability: 1.5.0 CREATE OR REPLACE FUNCTION postgis_noop(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_noop' LANGUAGE 'C' VOLATILE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION zmflag(geometry) RETURNS smallint AS '$libdir/postgis-1.5', 'LWGEOM_zmflag' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION ST_zmflag(geometry) RETURNS smallint AS '$libdir/postgis-1.5', 'LWGEOM_zmflag' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION ndims(geometry) RETURNS smallint AS '$libdir/postgis-1.5', 'LWGEOM_ndims' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_NDims(geometry) RETURNS smallint AS '$libdir/postgis-1.5', 'LWGEOM_ndims' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION AsEWKT(geometry) RETURNS TEXT AS '$libdir/postgis-1.5','LWGEOM_asEWKT' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_AsEWKT(geometry) RETURNS TEXT AS '$libdir/postgis-1.5','LWGEOM_asEWKT' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION AsEWKB(geometry) RETURNS BYTEA AS '$libdir/postgis-1.5','WKBFromLWGEOM' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_AsEWKB(geometry) RETURNS BYTEA AS '$libdir/postgis-1.5','WKBFromLWGEOM' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION AsHEXEWKB(geometry) RETURNS TEXT AS '$libdir/postgis-1.5','LWGEOM_asHEXEWKB' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_AsHEXEWKB(geometry) RETURNS TEXT AS '$libdir/postgis-1.5','LWGEOM_asHEXEWKB' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION AsHEXEWKB(geometry, text) RETURNS TEXT AS '$libdir/postgis-1.5','LWGEOM_asHEXEWKB' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_AsHEXEWKB(geometry, text) RETURNS TEXT AS '$libdir/postgis-1.5','LWGEOM_asHEXEWKB' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION AsEWKB(geometry,text) RETURNS bytea AS '$libdir/postgis-1.5','WKBFromLWGEOM' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_AsEWKB(geometry,text) RETURNS bytea AS '$libdir/postgis-1.5','WKBFromLWGEOM' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION GeomFromEWKB(bytea) RETURNS geometry AS '$libdir/postgis-1.5','LWGEOMFromWKB' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_GeomFromEWKB(bytea) RETURNS geometry AS '$libdir/postgis-1.5','LWGEOMFromWKB' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION GeomFromEWKT(text) RETURNS geometry AS '$libdir/postgis-1.5','parse_WKT_lwgeom' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_GeomFromEWKT(text) RETURNS geometry AS '$libdir/postgis-1.5','parse_WKT_lwgeom' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.5.0 CREATE OR REPLACE FUNCTION postgis_cache_bbox() RETURNS trigger AS '$libdir/postgis-1.5', 'cache_bbox' LANGUAGE 'C'; ------------------------------------------------------------------------ -- CONSTRUCTORS ------------------------------------------------------------------------ -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION MakePoint(float8, float8) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_makepoint' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_MakePoint(float8, float8) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_makepoint' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION MakePoint(float8, float8, float8) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_makepoint' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_MakePoint(float8, float8, float8) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_makepoint' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION MakePoint(float8, float8, float8, float8) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_makepoint' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_MakePoint(float8, float8, float8, float8) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_makepoint' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION MakePointM(float8, float8, float8) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_makepoint3dm' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.3.4 CREATE OR REPLACE FUNCTION ST_MakePointM(float8, float8, float8) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_makepoint3dm' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION MakeBox2d(geometry, geometry) RETURNS box2d AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_construct' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_MakeBox2d(geometry, geometry) RETURNS box2d AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_construct' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION MakeBox3d(geometry, geometry) RETURNS box3d AS '$libdir/postgis-1.5', 'BOX3D_construct' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_MakeBox3d(geometry, geometry) RETURNS box3d AS '$libdir/postgis-1.5', 'BOX3D_construct' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION makeline_garray (geometry[]) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_makeline_garray' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_MakeLine_GArray (geometry[]) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_makeline_garray' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.4.0 CREATE OR REPLACE FUNCTION ST_MakeLine (geometry[]) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_makeline_garray' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION LineFromMultiPoint(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_line_from_mpoint' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_LineFromMultiPoint(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_line_from_mpoint' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION MakeLine(geometry, geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_makeline' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_MakeLine(geometry, geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_makeline' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION AddPoint(geometry, geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_addpoint' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_AddPoint(geometry, geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_addpoint' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION AddPoint(geometry, geometry, integer) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_addpoint' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_AddPoint(geometry, geometry, integer) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_addpoint' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION RemovePoint(geometry, integer) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_removepoint' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_RemovePoint(geometry, integer) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_removepoint' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION SetPoint(geometry, integer, geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_setpoint_linestring' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_SetPoint(geometry, integer, geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_setpoint_linestring' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.5.0 CREATE OR REPLACE FUNCTION ST_MakeEnvelope(float8, float8, float8, float8, integer) RETURNS geometry AS '$libdir/postgis-1.5', 'ST_MakeEnvelope' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION MakePolygon(geometry, geometry[]) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_makepoly' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_MakePolygon(geometry, geometry[]) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_makepoly' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION MakePolygon(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_makepoly' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_MakePolygon(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_makepoly' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION BuildArea(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_buildarea' LANGUAGE 'C' IMMUTABLE STRICT COST 100; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_BuildArea(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'LWGEOM_buildarea' LANGUAGE 'C' IMMUTABLE STRICT COST 100; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION Polygonize_GArray (geometry[]) RETURNS geometry AS '$libdir/postgis-1.5', 'polygonize_garray' LANGUAGE 'C' IMMUTABLE STRICT COST 100; -- Deprecation in 1.5.0 CREATE OR REPLACE FUNCTION ST_Polygonize_GArray (geometry[]) RETURNS geometry AS '$libdir/postgis-1.5', 'polygonize_garray' LANGUAGE 'C' IMMUTABLE STRICT COST 100; -- Availability: 1.4.0 CREATE OR REPLACE FUNCTION ST_Polygonize (geometry[]) RETURNS geometry AS '$libdir/postgis-1.5', 'polygonize_garray' LANGUAGE 'C' IMMUTABLE STRICT COST 100; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION LineMerge(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'linemerge' LANGUAGE 'C' IMMUTABLE STRICT COST 100; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_LineMerge(geometry) RETURNS geometry AS '$libdir/postgis-1.5', 'linemerge' LANGUAGE 'C' IMMUTABLE STRICT COST 100; CREATE TYPE geometry_dump AS (path integer[], geom geometry); -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION Dump(geometry) RETURNS SETOF geometry_dump AS '$libdir/postgis-1.5', 'LWGEOM_dump' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_Dump(geometry) RETURNS SETOF geometry_dump AS '$libdir/postgis-1.5', 'LWGEOM_dump' LANGUAGE 'C' IMMUTABLE STRICT; -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION DumpRings(geometry) RETURNS SETOF geometry_dump AS '$libdir/postgis-1.5', 'LWGEOM_dump_rings' LANGUAGE 'C' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_DumpRings(geometry) RETURNS SETOF geometry_dump AS '$libdir/postgis-1.5', 'LWGEOM_dump_rings' LANGUAGE 'C' IMMUTABLE STRICT; ----------------------------------------------------------------------- -- _ST_DumpPoints() ----------------------------------------------------------------------- -- A helper function for ST_DumpPoints(geom) -- Availability: 1.5.0 CREATE OR REPLACE FUNCTION _ST_DumpPoints(the_geom geometry, cur_path integer[]) RETURNS SETOF geometry_dump AS $$ DECLARE tmp geometry_dump; tmp2 geometry_dump; nb_points integer; nb_geom integer; i integer; j integer; g geometry; BEGIN RAISE DEBUG '%,%', cur_path, ST_GeometryType(the_geom); -- Special case (MULTI* OR GEOMETRYCOLLECTION) : iterate and return the DumpPoints of the geometries SELECT ST_NumGeometries(the_geom) INTO nb_geom; IF (nb_geom IS NOT NULL) THEN i = 1; FOR tmp2 IN SELECT (ST_Dump(the_geom)).* LOOP FOR tmp IN SELECT * FROM _ST_DumpPoints(tmp2.geom, cur_path || tmp2.path) LOOP RETURN NEXT tmp; END LOOP; i = i + 1; END LOOP; RETURN; END IF; -- Special case (POLYGON) : return the points of the rings of a polygon IF (ST_GeometryType(the_geom) = 'ST_Polygon') THEN FOR tmp IN SELECT * FROM _ST_DumpPoints(ST_ExteriorRing(the_geom), cur_path || ARRAY[1]) LOOP RETURN NEXT tmp; END LOOP; j := ST_NumInteriorRings(the_geom); FOR i IN 1..j LOOP FOR tmp IN SELECT * FROM _ST_DumpPoints(ST_InteriorRingN(the_geom, i), cur_path || ARRAY[i+1]) LOOP RETURN NEXT tmp; END LOOP; END LOOP; RETURN; END IF; -- Special case (POINT) : return the point IF (ST_GeometryType(the_geom) = 'ST_Point') THEN tmp.path = cur_path || ARRAY[1]; tmp.geom = the_geom; RETURN NEXT tmp; RETURN; END IF; -- Use ST_NumPoints rather than ST_NPoints to have a NULL value if the_geom isn't -- a LINESTRING or CIRCULARSTRING. SELECT ST_NumPoints(the_geom) INTO nb_points; -- This should never happen IF (nb_points IS NULL) THEN RAISE EXCEPTION 'Unexpected error while dumping geometry %', ST_AsText(the_geom); END IF; FOR i IN 1..nb_points LOOP tmp.path = cur_path || ARRAY[i]; tmp.geom := ST_PointN(the_geom, i); RETURN NEXT tmp; END LOOP; END $$ LANGUAGE plpgsql; ----------------------------------------------------------------------- -- ST_DumpPoints() ----------------------------------------------------------------------- -- This function mimicks that of ST_Dump for collections, but this function -- that returns a path and all the points that make up a particular geometry. -- This current implementation in plpgsql does not scale very well at all. -- and should be ported to C at some point. -- Availability: 1.5.0 CREATE OR REPLACE FUNCTION ST_DumpPoints(geometry) RETURNS SETOF geometry_dump AS $$ SELECT * FROM _ST_DumpPoints($1, NULL); $$ LANGUAGE SQL; ------------------------------------------------------------------------ -- -- Aggregate functions -- -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION combine_bbox(box2d,geometry) RETURNS box2d AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_combine' LANGUAGE 'C' IMMUTABLE; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_Combine_BBox(box2d,geometry) RETURNS box2d AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_combine' LANGUAGE 'C' IMMUTABLE; -- Temporary hack function CREATE OR REPLACE FUNCTION combine_bbox(box3d_extent,geometry) RETURNS box3d_extent AS '$libdir/postgis-1.5', 'BOX3D_combine' LANGUAGE 'C' IMMUTABLE; -- Temporary hack function CREATE OR REPLACE FUNCTION ST_Combine_BBox(box3d_extent,geometry) RETURNS box3d_extent AS '$libdir/postgis-1.5', 'BOX3D_combine' LANGUAGE 'C' IMMUTABLE; -- Deprecation in 1.2.3 CREATE AGGREGATE Extent( sfunc = ST_combine_bbox, basetype = geometry, stype = box3d_extent ); -- Availability: 1.2.2 CREATE AGGREGATE ST_Extent( sfunc = ST_combine_bbox, basetype = geometry, stype = box3d_extent ); -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION combine_bbox(box3d,geometry) RETURNS box3d AS '$libdir/postgis-1.5', 'BOX3D_combine' LANGUAGE 'C' IMMUTABLE; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_Combine_BBox(box3d,geometry) RETURNS box3d AS '$libdir/postgis-1.5', 'BOX3D_combine' LANGUAGE 'C' IMMUTABLE; -- Deprecation in 1.2.3 CREATE AGGREGATE Extent3d( sfunc = combine_bbox, basetype = geometry, stype = box3d ); -- Availability: 1.2.2 CREATE AGGREGATE ST_Extent3d( sfunc = ST_combine_bbox, basetype = geometry, stype = box3d ); ----------------------------------------------------------------------- -- ESTIMATED_EXTENT( , , ) ----------------------------------------------------------------------- -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION estimated_extent(text,text,text) RETURNS box2d AS '$libdir/postgis-1.5', 'LWGEOM_estimated_extent' LANGUAGE 'C' IMMUTABLE STRICT SECURITY DEFINER; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_estimated_extent(text,text,text) RETURNS box2d AS '$libdir/postgis-1.5', 'LWGEOM_estimated_extent' LANGUAGE 'C' IMMUTABLE STRICT SECURITY DEFINER; ----------------------------------------------------------------------- -- ESTIMATED_EXTENT(
, ) ----------------------------------------------------------------------- -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION estimated_extent(text,text) RETURNS box2d AS '$libdir/postgis-1.5', 'LWGEOM_estimated_extent' LANGUAGE 'C' IMMUTABLE STRICT SECURITY DEFINER; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_estimated_extent(text,text) RETURNS box2d AS '$libdir/postgis-1.5', 'LWGEOM_estimated_extent' LANGUAGE 'C' IMMUTABLE STRICT SECURITY DEFINER; ----------------------------------------------------------------------- -- FIND_EXTENT( ,
, ) ----------------------------------------------------------------------- -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION find_extent(text,text,text) RETURNS box2d AS $$ DECLARE schemaname alias for $1; tablename alias for $2; columnname alias for $3; myrec RECORD; BEGIN FOR myrec IN EXECUTE 'SELECT extent("' || columnname || '") FROM "' || schemaname || '"."' || tablename || '"' LOOP return myrec.extent; END LOOP; END; $$ LANGUAGE 'plpgsql' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_find_extent(text,text,text) RETURNS box2d AS $$ DECLARE schemaname alias for $1; tablename alias for $2; columnname alias for $3; myrec RECORD; BEGIN FOR myrec IN EXECUTE 'SELECT extent("' || columnname || '") FROM "' || schemaname || '"."' || tablename || '"' LOOP return myrec.extent; END LOOP; END; $$ LANGUAGE 'plpgsql' IMMUTABLE STRICT; ----------------------------------------------------------------------- -- FIND_EXTENT(
, ) ----------------------------------------------------------------------- -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION find_extent(text,text) RETURNS box2d AS $$ DECLARE tablename alias for $1; columnname alias for $2; myrec RECORD; BEGIN FOR myrec IN EXECUTE 'SELECT extent("' || columnname || '") FROM "' || tablename || '"' LOOP return myrec.extent; END LOOP; END; $$ LANGUAGE 'plpgsql' IMMUTABLE STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_find_extent(text,text) RETURNS box2d AS $$ DECLARE tablename alias for $1; columnname alias for $2; myrec RECORD; BEGIN FOR myrec IN EXECUTE 'SELECT extent("' || columnname || '") FROM "' || tablename || '"' LOOP return myrec.extent; END LOOP; END; $$ LANGUAGE 'plpgsql' IMMUTABLE STRICT; ------------------------------------------------------------------- -- SPATIAL_REF_SYS ------------------------------------------------------------------- CREATE TABLE spatial_ref_sys ( srid integer not null primary key, auth_name varchar(256), auth_srid integer, srtext varchar(2048), proj4text varchar(2048) ); ------------------------------------------------------------------- -- GEOMETRY_COLUMNS ------------------------------------------------------------------- CREATE TABLE geometry_columns ( f_table_catalog varchar(256) not null, f_table_schema varchar(256) not null, f_table_name varchar(256) not null, f_geometry_column varchar(256) not null, coord_dimension integer not null, srid integer not null, type varchar(30) not null, CONSTRAINT geometry_columns_pk primary key ( f_table_catalog, f_table_schema, f_table_name, f_geometry_column ) ) WITH OIDS; ----------------------------------------------------------------------- -- RENAME_GEOMETRY_TABLE_CONSTRAINTS() ----------------------------------------------------------------------- -- This function has been obsoleted for the difficulty in -- finding attribute on which the constraint is applied. -- AddGeometryColumn will name the constraints in a meaningful -- way, but nobody can rely on it since old postgis versions did -- not do that. ----------------------------------------------------------------------- CREATE OR REPLACE FUNCTION rename_geometry_table_constraints() RETURNS text AS $$ SELECT 'rename_geometry_table_constraint() is obsoleted'::text $$ LANGUAGE 'SQL' IMMUTABLE; ----------------------------------------------------------------------- -- FIX_GEOMETRY_COLUMNS() ----------------------------------------------------------------------- -- This function will: -- -- o try to fix the schema of records with an integer one -- (for PG>=73) -- -- o link records to system tables through attrelid and varattnum -- (for PG<75) -- -- o delete all records for which no linking was possible -- (for PG<75) -- -- ----------------------------------------------------------------------- CREATE OR REPLACE FUNCTION fix_geometry_columns() RETURNS text AS $$ DECLARE mislinked record; result text; linked integer; deleted integer; foundschema integer; BEGIN -- Since 7.3 schema support has been added. -- Previous postgis versions used to put the database name in -- the schema column.