postgis/postgis/legacy.sql.in

2214 lines
61 KiB
MySQL

-- Legacy functions without chip functions --
-- This is the full list including the legacy_minimal.sql (minimal)
-- so no need to install both legacy and the minimal
#include "legacy_minimal.sql.in"
--- start functions that in theory should never have been used or internal like stuff deprecated
-- these were superseded by PostGIS_AddBBOX , PostGIS_DropBBOX, PostGIS_HasBBOX in 1.5 --
CREATE OR REPLACE FUNCTION addbbox(geometry)
RETURNS geometry
AS 'MODULE_PATHNAME','LWGEOM_addBBOX'
LANGUAGE 'c' IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION dropbbox(geometry)
RETURNS geometry
AS 'MODULE_PATHNAME','LWGEOM_dropBBOX'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION hasbbox(geometry)
RETURNS bool
AS 'MODULE_PATHNAME', 'LWGEOM_hasBBOX'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Availability: 1.2.2 -- never deprecated but don't think anyone uses it
CREATE OR REPLACE FUNCTION getsrid(geometry)
RETURNS integer
AS 'MODULE_PATHNAME','LWGEOM_get_srid'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION GeometryFromText(text, integer)
RETURNS geometry
AS 'MODULE_PATHNAME','LWGEOM_from_text'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION GeometryFromText(text)
RETURNS geometry
AS 'MODULE_PATHNAME','LWGEOM_from_text'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION GeomFromWKB(bytea)
RETURNS geometry
AS 'MODULE_PATHNAME','LWGEOM_from_WKB'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION GeomFromWKB(bytea, int)
RETURNS geometry
AS 'SELECT ST_SetSRID(ST_GeomFromWKB($1), $2)'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION noop(geometry)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_noop'
LANGUAGE 'c' VOLATILE STRICT;
-- ESRI ArcSDE compatibility functions --
-- We are remiving these because we don't
-- think ESRI relies on them
-- so their existence is pointless
-- Availability: 1.5.0
-- PostGIS equivalent function: none
CREATE OR REPLACE FUNCTION SE_EnvelopesIntersect(geometry,geometry)
RETURNS boolean
AS $$
SELECT $1 && $2
$$
LANGUAGE 'sql' IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION SE_Is3D(geometry)
RETURNS bool
AS 'MODULE_PATHNAME', 'LWGEOM_hasz'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Availability: 1.5.0
CREATE OR REPLACE FUNCTION SE_IsMeasured(geometry)
RETURNS bool
AS 'MODULE_PATHNAME', 'LWGEOM_hasm'
LANGUAGE 'c' IMMUTABLE STRICT;
-- PostGIS equivalent function: Z(geometry)
CREATE OR REPLACE FUNCTION SE_Z(geometry)
RETURNS float8
AS 'MODULE_PATHNAME','LWGEOM_z_point'
LANGUAGE 'c' IMMUTABLE STRICT;
-- PostGIS equivalent function: M(geometry)
CREATE OR REPLACE FUNCTION SE_M(geometry)
RETURNS float8
AS 'MODULE_PATHNAME','LWGEOM_m_point'
LANGUAGE 'c' IMMUTABLE STRICT;
-- PostGIS equivalent function: locate_between_measures(geometry, float8, float8)
CREATE OR REPLACE FUNCTION SE_LocateBetween(geometry, float8, float8)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_locate_between_m'
LANGUAGE 'c' IMMUTABLE STRICT;
-- PostGIS equivalent function: locate_along_measure(geometry, float8)
CREATE OR REPLACE FUNCTION SE_LocateAlong(geometry, float8)
RETURNS geometry
AS $$ SELECT SE_LocateBetween($1, $2, $2) $$
LANGUAGE 'sql' IMMUTABLE STRICT;
--- Deprecation in 1.5.0
CREATE OR REPLACE FUNCTION st_box2d(geometry)
RETURNS box2d
AS 'MODULE_PATHNAME','LWGEOM_to_BOX2D'
LANGUAGE 'c' IMMUTABLE STRICT;
--- Deprecation in 1.5.0
CREATE OR REPLACE FUNCTION st_box3d(geometry)
RETURNS box3d
AS 'MODULE_PATHNAME','LWGEOM_to_BOX3D'
LANGUAGE 'c' IMMUTABLE STRICT;
--- Deprecation in 1.5.0
CREATE OR REPLACE FUNCTION st_box(geometry)
RETURNS box
AS 'MODULE_PATHNAME','LWGEOM_to_BOX'
LANGUAGE 'c' IMMUTABLE STRICT;
--- Deprecation in 1.5.0
CREATE OR REPLACE FUNCTION st_box2d(box3d)
RETURNS box2d
AS 'MODULE_PATHNAME','BOX3D_to_BOX2D'
LANGUAGE 'c' IMMUTABLE STRICT;
--- Deprecation in 1.5.0
CREATE OR REPLACE FUNCTION st_box3d(box2d)
RETURNS box3d
AS 'MODULE_PATHNAME','BOX2D_to_BOX3D'
LANGUAGE 'c' IMMUTABLE STRICT;
--- Deprecation in 1.5.0
CREATE OR REPLACE FUNCTION st_box(box3d)
RETURNS box
AS 'MODULE_PATHNAME','BOX3D_to_BOX'
LANGUAGE 'c' IMMUTABLE STRICT;
--- Deprecation in 1.5.0
CREATE OR REPLACE FUNCTION st_text(geometry)
RETURNS text
AS 'MODULE_PATHNAME','LWGEOM_to_text'
LANGUAGE 'c' IMMUTABLE STRICT;
--- Deprecation in 1.5.0
CREATE OR REPLACE FUNCTION st_geometry(box2d)
RETURNS geometry
AS 'MODULE_PATHNAME','BOX2D_to_LWGEOM'
LANGUAGE 'c' IMMUTABLE STRICT;
--- Deprecation in 1.5.0
CREATE OR REPLACE FUNCTION st_geometry(box3d)
RETURNS geometry
AS 'MODULE_PATHNAME','BOX3D_to_LWGEOM'
LANGUAGE 'c' IMMUTABLE STRICT;
--- Deprecation in 1.5.0
CREATE OR REPLACE FUNCTION st_geometry(text)
RETURNS geometry
AS 'MODULE_PATHNAME','parse_WKT_lwgeom'
LANGUAGE 'c' IMMUTABLE STRICT;
--- Deprecation in 1.5.0
CREATE OR REPLACE FUNCTION st_geometry(bytea)
RETURNS geometry
AS 'MODULE_PATHNAME','LWGEOM_from_bytea'
LANGUAGE 'c' IMMUTABLE STRICT;
--- Deprecation in 1.5.0
CREATE OR REPLACE FUNCTION st_bytea(geometry)
RETURNS bytea
AS 'MODULE_PATHNAME','LWGEOM_to_bytea'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.5.0
CREATE OR REPLACE FUNCTION st_box3d_in(cstring)
RETURNS box3d
AS 'MODULE_PATHNAME', 'BOX3D_in'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.5.0
CREATE OR REPLACE FUNCTION st_box3d_out(box3d)
RETURNS cstring
AS 'MODULE_PATHNAME', 'BOX3D_out'
LANGUAGE 'c' IMMUTABLE STRICT;
-- START MANAGEMENT FUNCTIONS
-- These are legacy management functions with no place in our 2.0 world
-----------------------------------------------------------------------
-- 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. This needs to be fixed, so we try to
-- set the correct schema for each geometry_colums record
-- looking at table, column, type and srid.
/** UPDATE geometry_columns SET f_table_schema = n.nspname
FROM pg_namespace n, pg_class c, pg_attribute a,
pg_constraint sridcheck, pg_constraint typecheck
WHERE ( f_table_schema is NULL
OR f_table_schema = ''
OR f_table_schema NOT IN (
SELECT nspname::varchar
FROM pg_namespace nn, pg_class cc, pg_attribute aa
WHERE cc.relnamespace = nn.oid
AND cc.relname = f_table_name::name
AND aa.attrelid = cc.oid
AND aa.attname = f_geometry_column::name))
AND f_table_name::name = c.relname
AND c.oid = a.attrelid
AND c.relnamespace = n.oid
AND f_geometry_column::name = a.attname
AND sridcheck.conrelid = c.oid
AND sridcheck.consrc LIKE '(%srid(% = %)'
AND sridcheck.consrc ~ textcat(' = ', srid::text)
AND typecheck.conrelid = c.oid
AND typecheck.consrc LIKE
'((geometrytype(%) = ''%''::text) OR (% IS NULL))'
AND typecheck.consrc ~ textcat(' = ''', type::text)
AND NOT EXISTS (
SELECT oid FROM geometry_columns gc
WHERE c.relname::varchar = gc.f_table_name
AND n.nspname::varchar = gc.f_table_schema
AND a.attname::varchar = gc.f_geometry_column
);
GET DIAGNOSTICS foundschema = ROW_COUNT;
-- no linkage to system table needed
return 'fixed:'||foundschema::text; **/
return 'This function is obsolete now that geometry_columns is a view';
END;
$$
LANGUAGE 'plpgsql' VOLATILE;
-----------------------------------------------------------------------
-- PROBE_GEOMETRY_COLUMNS()
-----------------------------------------------------------------------
-- Fill the geometry_columns table with values probed from the system
-- catalogues. This is done by simply looking up constraints previously
-- added to a geometry column. If geometry constraints are missing, no
-- attempt is made to add the necessary constraints to the geometry
-- column, nor is it recorded in the geometry_columns table.
-- 3d flag cannot be probed, it defaults to 2
--
-- Note that bogus records already in geometry_columns are not
-- overridden (a check for schema.table.column is performed), so
-- to have a fresh probe backup your geometry_columns, delete from
-- it and probe.
-----------------------------------------------------------------------
CREATE OR REPLACE FUNCTION probe_geometry_columns() RETURNS text AS
$$
DECLARE
inserted integer;
oldcount integer;
probed integer;
stale integer;
BEGIN
/* SELECT count(*) INTO oldcount FROM geometry_columns;
SELECT count(*) INTO probed
FROM pg_class c, pg_attribute a, pg_type t,
pg_namespace n,
pg_constraint sridcheck, pg_constraint typecheck
WHERE t.typname = 'geometry'
AND a.atttypid = t.oid
AND a.attrelid = c.oid
AND c.relnamespace = n.oid
AND sridcheck.connamespace = n.oid
AND typecheck.connamespace = n.oid
AND sridcheck.conrelid = c.oid
AND sridcheck.consrc LIKE '(%srid('||a.attname||') = %)'
AND typecheck.conrelid = c.oid
AND typecheck.consrc LIKE
'((geometrytype('||a.attname||') = ''%''::text) OR (% IS NULL))'
;
INSERT INTO geometry_columns SELECT
''::varchar as f_table_catalogue,
n.nspname::varchar as f_table_schema,
c.relname::varchar as f_table_name,
a.attname::varchar as f_geometry_column,
2 as coord_dimension,
trim(both ' =)' from
replace(replace(split_part(
sridcheck.consrc, ' = ', 2), ')', ''), '(', ''))::integer AS srid,
trim(both ' =)''' from substr(typecheck.consrc,
strpos(typecheck.consrc, '='),
strpos(typecheck.consrc, '::')-
strpos(typecheck.consrc, '=')
))::varchar as type
FROM pg_class c, pg_attribute a, pg_type t,
pg_namespace n,
pg_constraint sridcheck, pg_constraint typecheck
WHERE t.typname = 'geometry'
AND a.atttypid = t.oid
AND a.attrelid = c.oid
AND c.relnamespace = n.oid
AND sridcheck.connamespace = n.oid
AND typecheck.connamespace = n.oid
AND sridcheck.conrelid = c.oid
AND sridcheck.consrc LIKE '(%srid('||a.attname||') = %)'
AND typecheck.conrelid = c.oid
AND typecheck.consrc LIKE
'((geometrytype('||a.attname||') = ''%''::text) OR (% IS NULL))'
AND NOT EXISTS (
SELECT oid FROM geometry_columns gc
WHERE c.relname::varchar = gc.f_table_name
AND n.nspname::varchar = gc.f_table_schema
AND a.attname::varchar = gc.f_geometry_column
);
GET DIAGNOSTICS inserted = ROW_COUNT;
IF oldcount > probed THEN
stale = oldcount-probed;
ELSE
stale = 0;
END IF;
RETURN 'probed:'||probed::text||
' inserted:'||inserted::text||
' conflicts:'||(probed-inserted)::text||
' stale:'||stale::text;*/
RETURN 'This function is obsolete now that geometry_columns is a view';
END
$$
LANGUAGE 'plpgsql' VOLATILE;
-- END MANAGEMENT FUNCTIONS --
-- Deprecation in 1.5.0
-- these remarked out functions cause problems and no one uses them directly
-- They should not be installed
/** CREATE OR REPLACE FUNCTION st_geometry_analyze(internal)
RETURNS bool
AS 'MODULE_PATHNAME', 'geometry_analyze'
LANGUAGE 'c' VOLATILE STRICT;
-- Deprecation in 1.5.0
CREATE OR REPLACE FUNCTION st_geometry_in(cstring)
RETURNS geometry
AS 'MODULE_PATHNAME','LWGEOM_in'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.5.0
CREATE OR REPLACE FUNCTION st_geometry_out(geometry)
RETURNS cstring
AS 'MODULE_PATHNAME','LWGEOM_out'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.5.0
CREATE OR REPLACE FUNCTION st_geometry_recv(internal)
RETURNS geometry
AS 'MODULE_PATHNAME','LWGEOM_recv'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.5.0
CREATE OR REPLACE FUNCTION st_geometry_send(geometry)
RETURNS bytea
AS 'MODULE_PATHNAME','LWGEOM_send'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.5.0
CREATE OR REPLACE FUNCTION st_spheroid_in(cstring)
RETURNS spheroid
AS 'MODULE_PATHNAME','ellipsoid_in'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.5.0
CREATE OR REPLACE FUNCTION st_spheroid_out(spheroid)
RETURNS cstring
AS 'MODULE_PATHNAME','ellipsoid_out'
LANGUAGE 'c' IMMUTABLE STRICT;
**/
-- Deprecation in 1.5.0
CREATE OR REPLACE FUNCTION st_geometry_lt(geometry, geometry)
RETURNS bool
AS 'MODULE_PATHNAME', 'lwgeom_lt'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.5.0
CREATE OR REPLACE FUNCTION st_geometry_le(geometry, geometry)
RETURNS bool
AS 'MODULE_PATHNAME', 'lwgeom_le'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.5.0
CREATE OR REPLACE FUNCTION st_geometry_gt(geometry, geometry)
RETURNS bool
AS 'MODULE_PATHNAME', 'lwgeom_gt'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.5.0
CREATE OR REPLACE FUNCTION st_geometry_ge(geometry, geometry)
RETURNS bool
AS 'MODULE_PATHNAME', 'lwgeom_ge'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.5.0
CREATE OR REPLACE FUNCTION st_geometry_eq(geometry, geometry)
RETURNS bool
AS 'MODULE_PATHNAME', 'lwgeom_eq'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.5.0
CREATE OR REPLACE FUNCTION st_geometry_cmp(geometry, geometry)
RETURNS integer
AS 'MODULE_PATHNAME', 'lwgeom_cmp'
LANGUAGE 'c' IMMUTABLE STRICT;
--- end functions that in theory should never have been used
-- begin old ogc (and non-ST) names that have been replaced with new SQL-MM and SQL ST_ Like names --
-- AFFINE Functions --
-- 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 'MODULE_PATHNAME', '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 st_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 st_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 st_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 st_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 st_affine($1, cos($2), 0, sin($2), 0, 1, 0, -sin($2), 0, cos($2), 0, 0, 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 st_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 st_scale($1, $2, $3, 1)'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION Translate(geometry,float8,float8,float8)
RETURNS geometry
AS 'SELECT st_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 st_translate($1, $2, $3, 0)'
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 st_affine($1, $4, 0, 0, 0, $5, 0,
0, 0, 1, $2 * $4, $3 * $5, 0)'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- END Affine functions
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION AddPoint(geometry, geometry)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_addpoint'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION AddPoint(geometry, geometry, integer)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_addpoint'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION Area(geometry)
RETURNS FLOAT8
AS 'MODULE_PATHNAME','ST_Area'
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 'MODULE_PATHNAME', 'ST_Area'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION AsEWKB(geometry)
RETURNS BYTEA
AS 'MODULE_PATHNAME','WKBFromLWGEOM'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION AsEWKB(geometry,text)
RETURNS bytea
AS 'MODULE_PATHNAME','WKBFromLWGEOM'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION AsEWKT(geometry)
RETURNS TEXT
AS 'MODULE_PATHNAME','LWGEOM_asEWKT'
LANGUAGE 'c' IMMUTABLE STRICT;
-- AsGML(geom) / precision=15 version=2
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION AsGML(geometry)
RETURNS TEXT
AS 'SELECT _ST_AsGML(2, $1, 15, 0, null, null)'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION AsGML(geometry, integer)
RETURNS TEXT
AS 'SELECT _ST_AsGML(2, $1, $2, 0, null, null)'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- AsKML(geom, precision) / version=2
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION AsKML(geometry, integer)
RETURNS TEXT
AS 'SELECT ST_AsKML(ST_transform($1,4326), $2, null)'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- AsKML(geom) / precision=15 version=2
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION AsKML(geometry)
RETURNS TEXT
AS 'SELECT ST_AsKML(ST_Transform($1,4326), 15, null)'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- AsKML(version, geom, precision)
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION AsKML(integer, geometry, integer)
RETURNS TEXT
AS 'SELECT ST_AsKML(ST_Transform($2,4326), $3, null)'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION AsHEXEWKB(geometry)
RETURNS TEXT
AS 'MODULE_PATHNAME','LWGEOM_asHEXEWKB'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION AsHEXEWKB(geometry, text)
RETURNS TEXT
AS 'MODULE_PATHNAME','LWGEOM_asHEXEWKB'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION AsSVG(geometry)
RETURNS TEXT
AS 'MODULE_PATHNAME','LWGEOM_asSVG'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION AsSVG(geometry,integer)
RETURNS TEXT
AS 'MODULE_PATHNAME','LWGEOM_asSVG'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION AsSVG(geometry,integer,integer)
RETURNS TEXT
AS 'MODULE_PATHNAME','LWGEOM_asSVG'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION azimuth(geometry,geometry)
RETURNS float8
AS 'MODULE_PATHNAME', 'LWGEOM_azimuth'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION BdPolyFromText(text, integer)
RETURNS geometry
AS $$
DECLARE
geomtext alias for $1;
srid alias for $2;
mline geometry;
geom geometry;
BEGIN
mline := ST_MultiLineStringFromText(geomtext, srid);
IF mline IS NULL
THEN
RAISE EXCEPTION 'Input is not a MultiLinestring';
END IF;
geom := ST_BuildArea(mline);
IF GeometryType(geom) != 'POLYGON'
THEN
RAISE EXCEPTION 'Input returns more then a single polygon, try using BdMPolyFromText instead';
END IF;
RETURN geom;
END;
$$
LANGUAGE 'plpgsql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION BdMPolyFromText(text, integer)
RETURNS geometry
AS $$
DECLARE
geomtext alias for $1;
srid alias for $2;
mline geometry;
geom geometry;
BEGIN
mline := ST_MultiLineStringFromText(geomtext, srid);
IF mline IS NULL
THEN
RAISE EXCEPTION 'Input is not a MultiLinestring';
END IF;
geom := ST_Multi(ST_BuildArea(mline));
RETURN geom;
END;
$$
LANGUAGE 'plpgsql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION boundary(geometry)
RETURNS geometry
AS 'MODULE_PATHNAME','boundary'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION buffer(geometry,float8,integer)
RETURNS geometry
AS 'SELECT ST_Buffer($1, $2, $3)'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION buffer(geometry,float8)
RETURNS geometry
AS 'MODULE_PATHNAME','buffer'
LANGUAGE 'c' IMMUTABLE STRICT
COST 100;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION BuildArea(geometry)
RETURNS geometry
AS 'MODULE_PATHNAME', 'ST_BuildArea'
LANGUAGE 'c' IMMUTABLE STRICT
COST 100;
-- This is also available w/out GEOS
CREATE OR REPLACE FUNCTION Centroid(geometry)
RETURNS geometry
AS 'MODULE_PATHNAME'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION Contains(geometry,geometry)
RETURNS boolean
AS 'MODULE_PATHNAME'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION convexhull(geometry)
RETURNS geometry
AS 'MODULE_PATHNAME','convexhull'
LANGUAGE 'c' IMMUTABLE STRICT
COST 100;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION crosses(geometry,geometry)
RETURNS boolean
AS 'MODULE_PATHNAME'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION distance(geometry,geometry)
RETURNS float8
AS 'MODULE_PATHNAME', 'ST_Distance'
LANGUAGE 'c' IMMUTABLE STRICT
COST 100;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION difference(geometry,geometry)
RETURNS geometry
AS 'MODULE_PATHNAME','ST_Difference'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION Dimension(geometry)
RETURNS integer
AS 'MODULE_PATHNAME', 'LWGEOM_dimension'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION disjoint(geometry,geometry)
RETURNS boolean
AS 'MODULE_PATHNAME'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION distance_sphere(geometry,geometry)
RETURNS FLOAT8
AS 'MODULE_PATHNAME','LWGEOM_distance_sphere'
LANGUAGE 'c' IMMUTABLE STRICT
COST 100;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION distance_spheroid(geometry,geometry,spheroid)
RETURNS FLOAT8
AS 'MODULE_PATHNAME','LWGEOM_distance_ellipsoid'
LANGUAGE 'c' IMMUTABLE STRICT
COST 100;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION Dump(geometry)
RETURNS SETOF geometry_dump
AS 'MODULE_PATHNAME', 'LWGEOM_dump'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION DumpRings(geometry)
RETURNS SETOF geometry_dump
AS 'MODULE_PATHNAME', 'LWGEOM_dump_rings'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION Envelope(geometry)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_envelope'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION Expand(box2d,float8)
RETURNS box2d
AS 'MODULE_PATHNAME', 'BOX2D_expand'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION Expand(box3d,float8)
RETURNS box3d
AS 'MODULE_PATHNAME', 'BOX3D_expand'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION Expand(geometry,float8)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_expand'
LANGUAGE 'c' IMMUTABLE STRICT;
CREATE AGGREGATE Extent(
sfunc = ST_CombineBbox,
basetype = geometry,
finalfunc = box2d,
stype = box3d
);
-- 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 ST_Extent("' || columnname || '") As extent FROM "' || tablename || '"' LOOP
return myrec.extent;
END LOOP;
END;
$$
LANGUAGE 'plpgsql' IMMUTABLE STRICT;
-- 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 ST_Extent("' || columnname || '") FROM "' || schemaname || '"."' || tablename || '" As extent ' LOOP
return myrec.extent;
END LOOP;
END;
$$
LANGUAGE 'plpgsql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION EndPoint(geometry)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_endpoint_linestring'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION ExteriorRing(geometry)
RETURNS geometry
AS 'MODULE_PATHNAME','LWGEOM_exteriorring_polygon'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION Force_2d(geometry)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_force_2d'
LANGUAGE 'c' IMMUTABLE STRICT;
-- an alias for force_3dz
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION Force_3d(geometry)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_force_3dz'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION Force_3dm(geometry)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_force_3dm'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION Force_3dz(geometry)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_force_3dz'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION Force_4d(geometry)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_force_4d'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION Force_Collection(geometry)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_force_collection'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION ForceRHR(geometry)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_force_clockwise_poly'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION GeomCollFromText(text, integer)
RETURNS geometry
AS '
SELECT CASE
WHEN geometrytype(GeomFromText($1, $2)) = ''GEOMETRYCOLLECTION''
THEN GeomFromText($1,$2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION GeomCollFromText(text)
RETURNS geometry
AS '
SELECT CASE
WHEN geometrytype(GeomFromText($1)) = ''GEOMETRYCOLLECTION''
THEN GeomFromText($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION GeomCollFromWKB(bytea, int)
RETURNS geometry
AS '
SELECT CASE
WHEN geometrytype(GeomFromWKB($1, $2)) = ''GEOMETRYCOLLECTION''
THEN GeomFromWKB($1, $2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION GeomCollFromWKB(bytea)
RETURNS geometry
AS '
SELECT CASE
WHEN geometrytype(GeomFromWKB($1)) = ''GEOMETRYCOLLECTION''
THEN GeomFromWKB($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION GeometryN(geometry,integer)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_geometryn_collection'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION GeomUnion(geometry,geometry)
RETURNS geometry
AS 'MODULE_PATHNAME','ST_Union'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Availability: 1.5.0 -- replaced with postgis_getbbox
CREATE OR REPLACE FUNCTION getbbox(geometry)
RETURNS box2d
AS 'MODULE_PATHNAME','LWGEOM_to_BOX2D'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION intersects(geometry,geometry)
RETURNS boolean
AS 'MODULE_PATHNAME','ST_Intersects'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION IsRing(geometry)
RETURNS boolean
AS 'MODULE_PATHNAME'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION IsSimple(geometry)
RETURNS boolean
AS 'MODULE_PATHNAME', 'issimple'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION length_spheroid(geometry, spheroid)
RETURNS FLOAT8
AS 'MODULE_PATHNAME','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 'MODULE_PATHNAME','LWGEOM_length2d_ellipsoid'
LANGUAGE 'c' IMMUTABLE STRICT
COST 100;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION length3d_spheroid(geometry, spheroid)
RETURNS FLOAT8
AS 'MODULE_PATHNAME','LWGEOM_length_ellipsoid_linestring'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION LineMerge(geometry)
RETURNS geometry
AS 'MODULE_PATHNAME', 'linemerge'
LANGUAGE 'c' IMMUTABLE STRICT
COST 100;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION locate_along_measure(geometry, float8)
RETURNS geometry
AS $$ SELECT ST_LocateBetween($1, $2, $2) $$
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MakeBox2d(geometry, geometry)
RETURNS box2d
AS 'MODULE_PATHNAME', 'BOX2D_construct'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MakePolygon(geometry, geometry[])
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_makepoly'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MakePolygon(geometry)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_makepoly'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MPolyFromWKB(bytea)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = ''MULTIPOLYGON''
THEN GeomFromWKB($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION multi(geometry)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_force_multi'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MultiPolyFromWKB(bytea, int)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = ''MULTIPOLYGON''
THEN GeomFromWKB($1, $2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MultiPolyFromWKB(bytea)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = ''MULTIPOLYGON''
THEN GeomFromWKB($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION InteriorRingN(geometry,integer)
RETURNS geometry
AS 'MODULE_PATHNAME','LWGEOM_interiorringn_polygon'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION intersection(geometry,geometry)
RETURNS geometry
AS 'MODULE_PATHNAME','ST_Intersection'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION IsClosed(geometry)
RETURNS boolean
AS 'MODULE_PATHNAME', 'LWGEOM_isclosed'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION IsEmpty(geometry)
RETURNS boolean
AS 'MODULE_PATHNAME', 'LWGEOM_isempty'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION IsValid(geometry)
RETURNS boolean
AS 'MODULE_PATHNAME', 'isvalid'
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 length3d(geometry)
RETURNS FLOAT8
AS 'MODULE_PATHNAME', 'LWGEOM_length_linestring'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION length2d(geometry)
RETURNS FLOAT8
AS 'MODULE_PATHNAME', 'LWGEOM_length2d_linestring'
LANGUAGE 'c' IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION length(geometry)
RETURNS FLOAT8
AS 'MODULE_PATHNAME', 'LWGEOM_length_linestring'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION line_interpolate_point(geometry, float8)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_line_interpolate_point'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION line_locate_point(geometry, geometry)
RETURNS float8
AS 'MODULE_PATHNAME', 'LWGEOM_line_locate_point'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION line_substring(geometry, float8, float8)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_line_substring'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION LineFromText(text)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromText($1)) = ''LINESTRING''
THEN GeomFromText($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION LineFromText(text, integer)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromText($1, $2)) = ''LINESTRING''
THEN GeomFromText($1,$2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION LineFromMultiPoint(geometry)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_line_from_mpoint'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION LineFromWKB(bytea, int)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = ''LINESTRING''
THEN GeomFromWKB($1, $2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION LineFromWKB(bytea)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = ''LINESTRING''
THEN GeomFromWKB($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION LineStringFromText(text)
RETURNS geometry
AS 'SELECT LineFromText($1)'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION LineStringFromText(text, integer)
RETURNS geometry
AS 'SELECT LineFromText($1, $2)'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION LinestringFromWKB(bytea, int)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = ''LINESTRING''
THEN GeomFromWKB($1, $2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION LinestringFromWKB(bytea)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = ''LINESTRING''
THEN GeomFromWKB($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION locate_between_measures(geometry, float8, float8)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_locate_between_m'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION M(geometry)
RETURNS float8
AS 'MODULE_PATHNAME','LWGEOM_m_point'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MakeBox3d(geometry, geometry)
RETURNS box3d
AS 'MODULE_PATHNAME', 'BOX3D_construct'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION makeline_garray (geometry[])
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_makeline_garray'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
-- Changed: 2.5.0 use 'internal' stype
CREATE AGGREGATE makeline (
BASETYPE = geometry,
SFUNC = pgis_geometry_accum_transfn,
STYPE = internal,
FINALFUNC = pgis_geometry_makeline_finalfn
);
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MakeLine(geometry, geometry)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_makeline'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MakePoint(float8, float8)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_makepoint'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MakePoint(float8, float8, float8)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_makepoint'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MakePoint(float8, float8, float8, float8)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_makepoint'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MakePointM(float8, float8, float8)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_makepoint3dm'
LANGUAGE 'c' IMMUTABLE STRICT;
-- This should really be deprecated -- 2011-01-04 robe
CREATE OR REPLACE FUNCTION max_distance(geometry,geometry)
RETURNS float8
AS 'MODULE_PATHNAME', 'LWGEOM_maxdistance2d_linestring'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION mem_size(geometry)
RETURNS integer
AS 'MODULE_PATHNAME', 'LWGEOM_mem_size'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MLineFromText(text, integer)
RETURNS geometry
AS '
SELECT CASE
WHEN geometrytype(GeomFromText($1, $2)) = ''MULTILINESTRING''
THEN GeomFromText($1,$2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MLineFromText(text)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromText($1)) = ''MULTILINESTRING''
THEN GeomFromText($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MLineFromWKB(bytea, int)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = ''MULTILINESTRING''
THEN GeomFromWKB($1, $2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MLineFromWKB(bytea)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = ''MULTILINESTRING''
THEN GeomFromWKB($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MPointFromText(text, integer)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromText($1,$2)) = ''MULTIPOINT''
THEN GeomFromText($1,$2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MPointFromText(text)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromText($1)) = ''MULTIPOINT''
THEN GeomFromText($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MPointFromWKB(bytea, int)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromWKB($1,$2)) = ''MULTIPOINT''
THEN GeomFromWKB($1, $2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MPointFromWKB(bytea)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = ''MULTIPOINT''
THEN GeomFromWKB($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MPolyFromText(text, integer)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromText($1, $2)) = ''MULTIPOLYGON''
THEN GeomFromText($1,$2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MPolyFromText(text)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromText($1)) = ''MULTIPOLYGON''
THEN GeomFromText($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MPolyFromWKB(bytea, int)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = ''MULTIPOLYGON''
THEN GeomFromWKB($1, $2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MultiLineFromWKB(bytea, int)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = ''MULTILINESTRING''
THEN GeomFromWKB($1, $2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Availability: 1.2.2
CREATE OR REPLACE FUNCTION MultiLineFromWKB(bytea, int)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = ''MULTILINESTRING''
THEN GeomFromWKB($1, $2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MultiLineFromWKB(bytea)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = ''MULTILINESTRING''
THEN GeomFromWKB($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MultiLineStringFromText(text)
RETURNS geometry
AS 'SELECT ST_MLineFromText($1)'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MultiLineStringFromText(text, integer)
RETURNS geometry
AS 'SELECT MLineFromText($1, $2)'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MultiPointFromText(text)
RETURNS geometry
AS 'SELECT MPointFromText($1)'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MultiPointFromText(text)
RETURNS geometry
AS 'SELECT MPointFromText($1)'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MultiPointFromText(text, integer)
RETURNS geometry
AS 'SELECT MPointFromText($1, $2)'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MultiPointFromWKB(bytea, int)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromWKB($1,$2)) = ''MULTIPOINT''
THEN GeomFromWKB($1, $2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MultiPointFromWKB(bytea)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = ''MULTIPOINT''
THEN GeomFromWKB($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MultiPolygonFromText(text, integer)
RETURNS geometry
AS 'SELECT MPolyFromText($1, $2)'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION MultiPolygonFromText(text)
RETURNS geometry
AS 'SELECT MPolyFromText($1)'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION NumInteriorRing(geometry)
RETURNS integer
AS 'MODULE_PATHNAME','LWGEOM_numinteriorrings_polygon'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION NumInteriorRings(geometry)
RETURNS integer
AS 'MODULE_PATHNAME','LWGEOM_numinteriorrings_polygon'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION npoints(geometry)
RETURNS integer
AS 'MODULE_PATHNAME', 'LWGEOM_npoints'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION nrings(geometry)
RETURNS integer
AS 'MODULE_PATHNAME', 'LWGEOM_nrings'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION NumGeometries(geometry)
RETURNS integer
AS 'MODULE_PATHNAME', 'LWGEOM_numgeometries_collection'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION NumPoints(geometry)
RETURNS integer
AS 'MODULE_PATHNAME', 'LWGEOM_numpoints_linestring'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION overlaps(geometry,geometry)
RETURNS boolean
AS 'MODULE_PATHNAME'
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 perimeter3d(geometry)
RETURNS FLOAT8
AS 'MODULE_PATHNAME', 'LWGEOM_perimeter_poly'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION perimeter2d(geometry)
RETURNS FLOAT8
AS 'MODULE_PATHNAME', 'LWGEOM_perimeter2d_poly'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION point_inside_circle(geometry,float8,float8,float8)
RETURNS bool
AS 'MODULE_PATHNAME', 'LWGEOM_inside_circle_point'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION PointFromText(text)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromText($1)) = ''POINT''
THEN GeomFromText($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION PointFromText(text, integer)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromText($1, $2)) = ''POINT''
THEN GeomFromText($1,$2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION PointFromWKB(bytea)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = ''POINT''
THEN GeomFromWKB($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION PointFromWKB(bytea, int)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = ''POINT''
THEN GeomFromWKB($1, $2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION PointN(geometry,integer)
RETURNS geometry
AS 'MODULE_PATHNAME','LWGEOM_pointn_linestring'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION PointOnSurface(geometry)
RETURNS geometry
AS 'MODULE_PATHNAME'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION PolyFromText(text)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromText($1)) = ''POLYGON''
THEN GeomFromText($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION PolyFromText(text, integer)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromText($1, $2)) = ''POLYGON''
THEN GeomFromText($1,$2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION PolyFromWKB(bytea, int)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = ''POLYGON''
THEN GeomFromWKB($1, $2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION PolyFromWKB(bytea)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = ''POLYGON''
THEN GeomFromWKB($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION PolygonFromText(text, integer)
RETURNS geometry
AS 'SELECT PolyFromText($1, $2)'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION PolygonFromText(text)
RETURNS geometry
AS 'SELECT PolyFromText($1)'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION PolygonFromWKB(bytea, int)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromWKB($1,$2)) = ''POLYGON''
THEN GeomFromWKB($1, $2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION PolygonFromWKB(bytea)
RETURNS geometry
AS '
SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = ''POLYGON''
THEN GeomFromWKB($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION Polygonize_GArray (geometry[])
RETURNS geometry
AS 'MODULE_PATHNAME', 'polygonize_garray'
LANGUAGE 'c' IMMUTABLE STRICT
COST 100;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION relate(geometry,geometry)
RETURNS text
AS 'MODULE_PATHNAME','relate_full'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION relate(geometry,geometry,text)
RETURNS boolean
AS 'MODULE_PATHNAME','relate_pattern'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION RemovePoint(geometry, integer)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_removepoint'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION reverse(geometry)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_reverse'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION Segmentize(geometry, float8)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_segmentize2d'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION SetPoint(geometry, integer, geometry)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_setpoint_linestring'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Availability: 1.1.0
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION shift_longitude(geometry)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_longitude_shift'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION Simplify(geometry, float8)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_simplify2d'
LANGUAGE 'c' IMMUTABLE STRICT;
-- SnapToGrid(input, size) # xsize=ysize=size, offsets=0
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION SnapToGrid(geometry, float8, float8, float8, float8)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_snaptogrid'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION SnapToGrid(geometry, float8)
RETURNS geometry
AS 'SELECT ST_SnapToGrid($1, 0, 0, $2, $2)'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- SnapToGrid(input, point_offsets, xsize, ysize, zsize, msize)
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION SnapToGrid(geometry, geometry, float8, float8, float8, float8)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_snaptogrid_pointoff'
LANGUAGE 'c' IMMUTABLE STRICT;
-- SnapToGrid(input, xsize, ysize) # offsets=0
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION SnapToGrid(geometry, float8, float8)
RETURNS geometry
AS 'SELECT ST_SnapToGrid($1, 0, 0, $2, $3)'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Availability: 1.2.2 -- this should be deprecated (do not think anyone has ever used it)
CREATE OR REPLACE FUNCTION ST_MakeLine_GArray (geometry[])
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_makeline_garray'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION StartPoint(geometry)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_startpoint_linestring'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION symdifference(geometry,geometry)
RETURNS geometry
AS 'MODULE_PATHNAME','ST_SymDifference'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION symmetricdifference(geometry,geometry)
RETURNS geometry
AS 'MODULE_PATHNAME','ST_SymDifference'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION summary(geometry)
RETURNS text
AS 'MODULE_PATHNAME', 'LWGEOM_summary'
LANGUAGE 'c' IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION transform(geometry,integer)
RETURNS geometry
AS 'MODULE_PATHNAME','transform'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION touches(geometry,geometry)
RETURNS boolean
AS 'MODULE_PATHNAME'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION within(geometry,geometry)
RETURNS boolean
AS 'SELECT ST_Within($1, $2)'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION X(geometry)
RETURNS float8
AS 'MODULE_PATHNAME','LWGEOM_x_point'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION xmax(box3d)
RETURNS FLOAT8
AS 'MODULE_PATHNAME','BOX3D_xmax'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION xmin(box3d)
RETURNS FLOAT8
AS 'MODULE_PATHNAME','BOX3D_xmin'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION Y(geometry)
RETURNS float8
AS 'MODULE_PATHNAME','LWGEOM_y_point'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION ymax(box3d)
RETURNS FLOAT8
AS 'MODULE_PATHNAME','BOX3D_ymax'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION ymin(box3d)
RETURNS FLOAT8
AS 'MODULE_PATHNAME','BOX3D_ymin'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION Z(geometry)
RETURNS float8
AS 'MODULE_PATHNAME','LWGEOM_z_point'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION zmax(box3d)
RETURNS FLOAT8
AS 'MODULE_PATHNAME','BOX3D_zmax'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION zmin(box3d)
RETURNS FLOAT8
AS 'MODULE_PATHNAME','BOX3D_zmin'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION zmflag(geometry)
RETURNS smallint
AS 'MODULE_PATHNAME', 'LWGEOM_zmflag'
LANGUAGE 'c' IMMUTABLE STRICT;
-- end old ogc names that have been replaced with new SQL-MM names --
-- Old underscored_names replaced by CamelCase names
-- Availability: 1.2.2
-- Deprecation in 2.2.0
CREATE OR REPLACE FUNCTION ST_Shift_Longitude(geometry)
RETURNS geometry AS
'SELECT ST_ShiftLongitude($1);'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Availability: 1.2.2
-- Deprecation in 2.1.0
CREATE OR REPLACE FUNCTION ST_estimated_extent(text,text,text)
RETURNS box2d AS
$$
-- We use security invoker instead of security definer
-- to prevent malicious injection of a different same named function
SELECT ST_EstimatedExtent($1, $2, $3);
$$
LANGUAGE 'sql' IMMUTABLE STRICT SECURITY INVOKER;
-- Availability: 1.2.2
-- Deprecation in 2.1.0
CREATE OR REPLACE FUNCTION ST_estimated_extent(text,text)
RETURNS box2d AS
$$
-- We use security invoker instead of security definer
-- to prevent malicious injection of a same named different function
-- that would be run under elevated permissions
SELECT ST_EstimatedExtent($1, $2);
$$
LANGUAGE 'sql' IMMUTABLE STRICT SECURITY INVOKER;
-- Availability: 1.2.2
-- Deprecation in 2.2.0
CREATE OR REPLACE FUNCTION ST_find_extent(text,text,text)
RETURNS box2d AS
'SELECT ST_FindExtent($1,$2,$3);'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Availability: 1.2.2
-- Deprecation in 2.2.0
CREATE OR REPLACE FUNCTION ST_find_extent(text,text)
RETURNS box2d AS
'SELECT ST_FindExtent($1,$2);'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Availability: 1.2.2
-- Deprecation in 2.2.0
CREATE OR REPLACE FUNCTION ST_mem_size(geometry)
RETURNS integer AS
'SELECT ST_MemSize($1);'
LANGUAGE 'sql' IMMUTABLE STRICT SECURITY INVOKER;
-- Availability: 2.0.0
-- Deprecation in 2.2.0
CREATE OR REPLACE FUNCTION ST_3DLength_spheroid(geometry, spheroid)
RETURNS FLOAT8 AS
'SELECT ST_LengthSpheroid($1,$2);'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Availability: 1.2.2
-- Deprecation in 2.2.0
CREATE OR REPLACE FUNCTION ST_length_spheroid(geometry, spheroid)
RETURNS FLOAT8 AS
'SELECT ST_LengthSpheroid($1,$2);'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Availability: 1.2.2
-- Deprecation in 2.2.0
CREATE OR REPLACE FUNCTION ST_length2d_spheroid(geometry, spheroid)
RETURNS FLOAT8 AS
'SELECT ST_Length2DSpheroid($1,$2);'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Availability: 1.2.2
-- Deprecation in 2.2.0
CREATE OR REPLACE FUNCTION ST_distance_spheroid(geom1 geometry, geom2 geometry, spheroid)
RETURNS FLOAT8 AS
'SELECT ST_DistanceSpheroid($1,$2,$3);'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Availability: 1.2.2
-- Deprecation in 2.2.0
CREATE OR REPLACE FUNCTION ST_point_inside_circle(geometry, float8, float8, float8)
RETURNS bool AS
'SELECT ST_PointInsideCircle($1,$2,$3,$4);'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Availability: 1.2.2
-- Deprecation in 2.1.0
CREATE OR REPLACE FUNCTION ST_force_2d(geometry)
RETURNS geometry AS
'SELECT ST_Force2D($1);'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Availability: 1.2.2
-- Deprecation in 2.1.0
CREATE OR REPLACE FUNCTION ST_force_3dz(geometry)
RETURNS geometry AS
'SELECT ST_Force3DZ($1);'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Availability: 1.2.2
-- Deprecation in 2.1.0
CREATE OR REPLACE FUNCTION ST_force_3dm(geometry)
RETURNS geometry AS
'SELECT ST_Force3DM($1);'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Availability: 1.2.2
-- Deprecation in 2.1.0
CREATE OR REPLACE FUNCTION ST_force_collection(geometry)
RETURNS geometry AS
'SELECT ST_ForceCollection($1);'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Availability: 1.2.2
-- Deprecation in 2.1.0
CREATE OR REPLACE FUNCTION ST_force_4d(geometry)
RETURNS geometry AS
'SELECT ST_Force4D($1);'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Availability: 1.2.2
-- Deprecation in 2.1.0
CREATE OR REPLACE FUNCTION ST_force_3d(geometry)
RETURNS geometry AS
'SELECT ST_Force3D($1);'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Availability: 1.2.2
-- Deprecation in 2.1.0
CREATE OR REPLACE FUNCTION ST_line_interpolate_point(geometry, float8)
RETURNS geometry AS
'SELECT ST_LineInterpolatePoint($1, $2);'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Availability: 1.2.2
-- Deprecation in 2.1.0
CREATE OR REPLACE FUNCTION ST_line_substring(geometry, float8, float8)
RETURNS geometry AS
'SELECT ST_LineSubstring($1, $2, $3);'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Availability: 1.2.2
-- Deprecation in 2.1.0
CREATE OR REPLACE FUNCTION ST_line_locate_point(geom1 geometry, geom2 geometry)
RETURNS float8 AS
'SELECT ST_LineLocatePoint($1, $2);'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Availability: 1.2.2
-- Deprecation in 2.0.0 replaced by ST_LocateBetween
CREATE OR REPLACE FUNCTION ST_locate_between_measures(geometry, float8, float8)
RETURNS geometry AS
'SELECT ST_LocateBetween($1, $2, $3);'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Availability: 1.2.2
-- Deprecation in 2.0.0 replaced by ST_LocateAlong
CREATE OR REPLACE FUNCTION ST_locate_along_measure(geometry, float8)
RETURNS geometry AS
'SELECT ST_LocateBetween($1, $2, $2);'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Availability: 1.2.2
-- Deprecation in 2.2.0
CREATE OR REPLACE FUNCTION ST_Combine_BBox(box3d, geometry)
RETURNS box3d AS
'SELECT ST_CombineBbox($1,$2);'
LANGUAGE 'sql' IMMUTABLE;
-- Availability: 1.2.2
-- Deprecation in 2.2.0
CREATE OR REPLACE FUNCTION ST_Combine_BBox(box2d, geometry)
RETURNS box2d AS
'SELECT ST_CombineBbox($1,$2);'
LANGUAGE 'sql' IMMUTABLE;
-- Availability: 1.2.2
-- Deprecation in 2.2.0
CREATE OR REPLACE FUNCTION ST_distance_sphere(geom1 geometry, geom2 geometry)
RETURNS FLOAT8 AS
'SELECT ST_DistanceSphere($1,$2);'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- end Old underscored_names replaced by CamelCase names
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION collect(geometry, geometry)
RETURNS geometry
AS 'MODULE_PATHNAME', 'LWGEOM_collect'
LANGUAGE 'c' IMMUTABLE;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION combine_bbox(box2d,geometry)
RETURNS box2d
AS 'MODULE_PATHNAME', 'BOX2D_combine'
LANGUAGE 'c' IMMUTABLE;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION combine_bbox(box3d,geometry)
RETURNS box3d
AS 'MODULE_PATHNAME', 'BOX3D_combine'
LANGUAGE 'c' IMMUTABLE;
-- Deprecation in 1.5.0
CREATE OR REPLACE FUNCTION ST_Polygonize_GArray (geometry[])
RETURNS geometry
AS 'MODULE_PATHNAME', 'polygonize_garray'
LANGUAGE 'c' IMMUTABLE STRICT
COST 100;
-- Deprecation in 1.4.0
CREATE OR REPLACE FUNCTION ST_unite_garray (geometry[])
RETURNS geometry
AS 'MODULE_PATHNAME','pgis_union_geometry_array'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION unite_garray (geometry[])
RETURNS geometry
AS 'MODULE_PATHNAME', 'pgis_union_geometry_array'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Deprecation in 1.2.3
CREATE AGGREGATE Extent3d(
sfunc = combine_bbox,
basetype = geometry,
stype = box3d
);
-- Deprecation in 1.2.3
CREATE AGGREGATE memcollect(
sfunc = ST_collect,
basetype = geometry,
stype = geometry
);
-- Deprecation in 1.2.3
CREATE AGGREGATE MemGeomUnion (
basetype = geometry,
sfunc = geomunion,
stype = geometry
);
-- End Aggregates and supporting functions --
------------------------------------------------
--Begin 3D functions --
------------------------------------------------
-- Renamed in 2.0.0 to ST_3DLength
CREATE OR REPLACE FUNCTION ST_Length3D(geometry)
RETURNS FLOAT8
AS 'MODULE_PATHNAME', 'LWGEOM_length_linestring'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Renamed in 2.0.0 to ST_3DLength_spheroid
CREATE OR REPLACE FUNCTION ST_Length_spheroid3D(geometry, spheroid)
RETURNS FLOAT8
AS 'MODULE_PATHNAME','LWGEOM_length_ellipsoid_linestring'
LANGUAGE 'c' IMMUTABLE STRICT
COST 100;
-- Renamed in 2.0.0 to ST_3DPerimeter
CREATE OR REPLACE FUNCTION ST_Perimeter3D(geometry)
RETURNS FLOAT8
AS 'MODULE_PATHNAME', 'LWGEOM_perimeter_poly'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Renamed in 2.0.0 to ST_3DMakeBox
CREATE OR REPLACE FUNCTION ST_MakeBox3D(geometry, geometry)
RETURNS box3d
AS 'MODULE_PATHNAME', 'BOX3D_construct'
LANGUAGE 'c' IMMUTABLE STRICT;
-- Renamed in 2.0.0 to ST_3DExtent
CREATE AGGREGATE ST_Extent3D(
sfunc = ST_CombineBbox,
basetype = geometry,
stype = box3d
);
--END 3D functions--
------------------------------------------------
-- Versioned Format Export Functions --
------------------------------------------------
CREATE OR REPLACE FUNCTION ST_AsGeoJson(version integer, geog geography, maxdecimaldigits integer DEFAULT 15, options integer DEFAULT 0)
RETURNS text AS
$$ SELECT ST_AsGeoJson($2::geometry,$3,$4); $$
LANGUAGE 'sql' IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION ST_AsGeoJson(version integer, geog geometry, maxdecimaldigits integer DEFAULT 15, options integer DEFAULT 0)
RETURNS text AS
$$ SELECT ST_AsGeoJson($2::geometry,15,0); $$
LANGUAGE 'sql' IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION ST_AsKML(version integer, geom geography, maxdecimaldigits integer DEFAULT 15, nprefix TEXT default '')
RETURNS text AS
$$ SELECT ST_AsKML($2::geometry,$3,$4); $$
LANGUAGE 'sql' IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION ST_AsKML(version integer, geom geometry, maxdecimaldigits integer DEFAULT 15, nprefix TEXT default '')
RETURNS text AS
$$ SELECT ST_AsKML($2::geometry,$3,$4); $$
LANGUAGE 'sql' IMMUTABLE STRICT;