-- Availability: 1.5.0 - this is just a hack to prevent unknown from causing ambiguous name because of geography
CREATE OR REPLACE FUNCTION ST_AsText(text)
RETURNS text AS
- $$ SELECT ST_AsText($1::geometry); $$
+ $$ SELECT ST_AsText($1::@extschema@.geometry); $$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.5.0
CREATE OR REPLACE FUNCTION overlaps_geog(geography, gidx)
RETURNS boolean
AS $$
- SELECT $2 && $1;
+ SELECT $2 OPERATOR(@extschema@.&&) $1;
$$ LANGUAGE SQL IMMUTABLE STRICT;
-- Availability: 2.3.0
-- Availability: 1.5.0 - this is just a hack to prevent unknown from causing ambiguous name because of geography
CREATE OR REPLACE FUNCTION ST_AsSVG(text)
RETURNS text AS
- $$ SELECT ST_AsSVG($1::geometry,0,15); $$
+ $$ SELECT ST_AsSVG($1::@extschema@.geometry,0,15); $$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
--
-- Change 2.0.0 to use base function
CREATE OR REPLACE FUNCTION ST_AsGML(text)
RETURNS text AS
- $$ SELECT _ST_AsGML(2,$1::geometry,15,0, NULL, NULL); $$
+ $$ SELECT @extschema@._ST_AsGML(2,$1::@extschema@.geometry,15,0, NULL, NULL); $$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- ST_AsGML (geography, precision, option) / version=2
-- Changed: 2.0.0 to use default args
CREATE OR REPLACE FUNCTION ST_AsGML(geog geography, maxdecimaldigits int4 DEFAULT 15, options int4 DEFAULT 0)
RETURNS text
- AS 'SELECT _ST_AsGML(2, $1, $2, $3, null, null)'
+ AS 'SELECT @extschema@._ST_AsGML(2, $1, $2, $3, null, null)'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- ST_AsGML(version, geography, precision, option, prefix)
-- Availability: 1.5.0
CREATE OR REPLACE FUNCTION ST_AsGML(version int4, geog geography, maxdecimaldigits int4 DEFAULT 15, options int4 DEFAULT 0, nprefix text DEFAULT NULL, id text DEFAULT NULL)
RETURNS text
- AS $$ SELECT _ST_AsGML($1, $2, $3, $4, $5, $6);$$
+ AS $$ SELECT @extschema@._ST_AsGML($1, $2, $3, $4, $5, $6);$$
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
--
-- Changed: 2.0.0 to use default args and named args
CREATE OR REPLACE FUNCTION ST_AsKML(geog geography, maxdecimaldigits int4 DEFAULT 15)
RETURNS text
- AS 'SELECT _ST_AsKML(2, $1, $2, null)'
+ AS 'SELECT @extschema@._ST_AsKML(2, $1, $2, null)'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.5.0 - this is just a hack to prevent unknown from causing ambiguous name because of geography
-- Deprecated 2.0.0
CREATE OR REPLACE FUNCTION ST_AsKML(text)
RETURNS text AS
- $$ SELECT _ST_AsKML(2, $1::geometry, 15, null); $$
+ $$ SELECT @extschema@._ST_AsKML(2, $1::@extschema@.geometry, 15, null); $$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- ST_AsKML(version, geography, precision, prefix)
-- Changed: 2.0.0 to use default args and named args
CREATE OR REPLACE FUNCTION ST_AsKML(version int4, geog geography, maxdecimaldigits int4 DEFAULT 15, nprefix text DEFAULT null)
RETURNS text
- AS 'SELECT _ST_AsKML($1, $2, $3, $4)'
+ AS 'SELECT @extschema@._ST_AsKML($1, $2, $3, $4)'
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
--
-- Deprecated in 2.0.0
CREATE OR REPLACE FUNCTION ST_AsGeoJson(text)
RETURNS text AS
- $$ SELECT _ST_AsGeoJson(1, $1::geometry,15,0); $$
+ $$ SELECT @extschema@._ST_AsGeoJson(1, $1::@extschema@.geometry,15,0); $$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- ST_AsGeoJson(geography, precision, options) / version=1
-- Changed: 2.0.0 to use default args and named args
CREATE OR REPLACE FUNCTION ST_AsGeoJson(geog geography, maxdecimaldigits int4 DEFAULT 15, options int4 DEFAULT 0)
RETURNS text
- AS $$ SELECT _ST_AsGeoJson(1, $1, $2, $3); $$
+ AS $$ SELECT @extschema@._ST_AsGeoJson(1, $1, $2, $3); $$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- ST_AsGeoJson(version, geography, precision,options)
-- Changed: 2.0.0 to use default args and named args
CREATE OR REPLACE FUNCTION ST_AsGeoJson(gj_version int4, geog geography, maxdecimaldigits int4 DEFAULT 15, options int4 DEFAULT 0)
RETURNS text
- AS $$ SELECT _ST_AsGeoJson($1, $2, $3, $4); $$
+ AS $$ SELECT @extschema@._ST_AsGeoJson($1, $2, $3, $4); $$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- ---------- ---------- ---------- ---------- ---------- ---------- ----------
-- Availability: 1.5.0
CREATE OR REPLACE FUNCTION ST_Distance(geography, geography, boolean)
RETURNS float8
- AS 'SELECT _ST_Distance($1, $2, 0.0, $3)'
+ AS 'SELECT @extschema@._ST_Distance($1, $2, 0.0, $3)'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Currently defaulting to spheroid calculations
-- Availability: 1.5.0
CREATE OR REPLACE FUNCTION ST_Distance(geography, geography)
RETURNS float8
- AS 'SELECT _ST_Distance($1, $2, 0.0, true)'
+ AS 'SELECT @extschema@._ST_Distance($1, $2, 0.0, true)'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.5.0 - this is just a hack to prevent unknown from causing ambiguous name because of geography
CREATE OR REPLACE FUNCTION ST_Distance(text, text)
RETURNS float8 AS
- $$ SELECT ST_Distance($1::geometry, $2::geometry); $$
+ $$ SELECT ST_Distance($1::@extschema@.geometry, $2::@extschema@.geometry); $$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Only expands the bounding box, the actual geometry will remain unchanged, use with care.
-- Availability: 1.5.0
CREATE OR REPLACE FUNCTION ST_DWithin(geography, geography, float8, boolean)
RETURNS boolean
- AS 'SELECT $1 && _ST_Expand($2,$3) AND $2 && _ST_Expand($1,$3) AND _ST_DWithin($1, $2, $3, $4)'
+ AS 'SELECT $1 OPERATOR(@extschema@.&&) @extschema@._ST_Expand($2,$3) AND $2 OPERATOR(@extschema@.&&) @extschema@._ST_Expand($1,$3) AND @extschema@._ST_DWithin($1, $2, $3, $4)'
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
-- Currently defaulting to spheroid calculations
-- Availability: 1.5.0
CREATE OR REPLACE FUNCTION ST_DWithin(geography, geography, float8)
RETURNS boolean
- AS 'SELECT $1 && _ST_Expand($2,$3) AND $2 && _ST_Expand($1,$3) AND _ST_DWithin($1, $2, $3, true)'
+ AS 'SELECT $1 OPERATOR(@extschema@.&&) @extschema@._ST_Expand($2,$3) AND $2 OPERATOR(@extschema@.&&) @extschema@._ST_Expand($1,$3) AND @extschema@._ST_DWithin($1, $2, $3, true)'
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
-- Availability: 1.5.0 - this is just a hack to prevent unknown from causing ambiguous name because of geography
CREATE OR REPLACE FUNCTION ST_DWithin(text, text, float8)
RETURNS boolean AS
- $$ SELECT ST_DWithin($1::geometry, $2::geometry, $3); $$
+ $$ SELECT ST_DWithin($1::@extschema@.geometry, $2::@extschema@.geometry, $3); $$
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
-- Calculate the distance in geographics *without* using the caching code line or tree code
CREATE OR REPLACE FUNCTION _ST_DistanceUnCached(geography, geography, boolean)
RETURNS float8
- AS 'SELECT _ST_DistanceUnCached($1, $2, 0.0, $3)'
+ AS 'SELECT @extschema@._ST_DistanceUnCached($1, $2, 0.0, $3)'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Calculate the distance in geographics *without* using the caching code line or tree code
CREATE OR REPLACE FUNCTION _ST_DistanceUnCached(geography, geography)
RETURNS float8
- AS 'SELECT _ST_DistanceUnCached($1, $2, 0.0, true)'
+ AS 'SELECT @extschema@._ST_DistanceUnCached($1, $2, 0.0, true)'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Calculate the distance in geographics using the circular tree code, but
-- *without* using the caching code line
CREATE OR REPLACE FUNCTION _ST_DistanceTree(geography, geography)
RETURNS float8
- AS 'SELECT _ST_DistanceTree($1, $2, 0.0, true)'
+ AS 'SELECT @extschema@._ST_DistanceTree($1, $2, 0.0, true)'
LANGUAGE 'sql' IMMUTABLE STRICT;
-- Calculate the dwithin relation *without* using the caching code line or tree code
-- Calculate the dwithin relation *without* using the caching code line or tree code
CREATE OR REPLACE FUNCTION _ST_DWithinUnCached(geography, geography, float8)
RETURNS boolean
- AS 'SELECT $1 && _ST_Expand($2,$3) AND $2 && _ST_Expand($1,$3) AND _ST_DWithinUnCached($1, $2, $3, true)'
+ AS 'SELECT $1 OPERATOR(@extschema@.&&) @extschema@._ST_Expand($2,$3) AND $2 OPERATOR(@extschema@.&&) @extschema@._ST_Expand($1,$3) AND @extschema@._ST_DWithinUnCached($1, $2, $3, true)'
LANGUAGE 'sql' IMMUTABLE;
-- ---------- ---------- ---------- ---------- ---------- ---------- ----------
-- Availability: 1.5.0 - this is just a hack to prevent unknown from causing ambiguous name because of geography
CREATE OR REPLACE FUNCTION ST_Area(text)
RETURNS float8 AS
- $$ SELECT ST_Area($1::geometry); $$
+ $$ SELECT ST_Area($1::@extschema@.geometry); $$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.5.0
-- Availability: 1.5.0 - this is just a hack to prevent unknown from causing ambiguous name because of geography
CREATE OR REPLACE FUNCTION ST_Length(text)
RETURNS float8 AS
- $$ SELECT ST_Length($1::geometry); $$
+ $$ SELECT ST_Length($1::@extschema@.geometry); $$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 2.0.0
-- Availability: 1.5.0
CREATE OR REPLACE FUNCTION ST_Covers(geography, geography)
RETURNS boolean
- AS 'SELECT $1 && $2 AND _ST_Covers($1, $2)'
+ AS 'SELECT $1 OPERATOR(@extschema@.&&) $2 AND @extschema@._ST_Covers($1, $2)'
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
-- Availability: 1.5.0 - this is just a hack to prevent unknown from causing ambiguous name because of geography
CREATE OR REPLACE FUNCTION ST_Covers(text, text)
RETURNS boolean AS
- $$ SELECT ST_Covers($1::geometry, $2::geometry); $$
+ $$ SELECT ST_Covers($1::@extschema@.geometry, $2::@extschema@.geometry); $$
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
-- Only implemented for polygon-over-point
-- Availability: 1.5.0
CREATE OR REPLACE FUNCTION ST_CoveredBy(geography, geography)
RETURNS boolean
- AS 'SELECT $1 && $2 AND _ST_Covers($2, $1)'
+ AS 'SELECT $1 OPERATOR(@extschema@.&&) $2 AND @extschema@._ST_Covers($2, $1)'
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
-- Availability: 1.5.0 - this is just a hack to prevent unknown from causing ambiguous name because of geography
CREATE OR REPLACE FUNCTION ST_CoveredBy(text, text)
RETURNS boolean AS
- $$ SELECT ST_CoveredBy($1::geometry, $2::geometry); $$
+ $$ SELECT ST_CoveredBy($1::@extschema@.geometry, $2::@extschema@.geometry); $$
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
-- Availability: 2.1.0
-- Availability: 1.5.0
CREATE OR REPLACE FUNCTION ST_Intersects(geography, geography)
RETURNS boolean
- AS 'SELECT $1 && $2 AND _ST_Distance($1, $2, 0.0, false) < 0.00001'
+ AS 'SELECT $1 OPERATOR(@extschema@.&&) $2 AND @extschema@._ST_Distance($1, $2, 0.0, false) < 0.00001'
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
-- Availability: 1.5.0 - this is just a hack to prevent unknown from causing ambiguous name because of geography
CREATE OR REPLACE FUNCTION ST_Intersects(text, text)
RETURNS boolean AS
- $$ SELECT ST_Intersects($1::geometry, $2::geometry); $$
+ $$ SELECT ST_Intersects($1::@extschema@.geometry, $2::@extschema@.geometry); $$
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
-- Availability: 1.5.0
-- Availability: 1.5.0
CREATE OR REPLACE FUNCTION _ST_BestSRID(geography)
RETURNS integer
- AS 'SELECT _ST_BestSRID($1,$1)'
+ AS 'SELECT @extschema@._ST_BestSRID($1,$1)'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.5.0
CREATE OR REPLACE FUNCTION ST_Buffer(geography, float8)
RETURNS geography
- AS 'SELECT geography(ST_Transform(ST_Buffer(ST_Transform(geometry($1), _ST_BestSRID($1)), $2), 4326))'
+ AS 'SELECT geography(ST_Transform(ST_Buffer(ST_Transform(geometry($1), @extschema@._ST_BestSRID($1)), $2), 4326))'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 2.3.x
CREATE OR REPLACE FUNCTION ST_Buffer(geography, float8, integer)
RETURNS geography
- AS 'SELECT geography(ST_Transform(ST_Buffer(ST_Transform(geometry($1), _ST_BestSRID($1)), $2, $3), 4326))'
+ AS 'SELECT geography(ST_Transform(ST_Buffer(ST_Transform(geometry($1), @extschema@._ST_BestSRID($1)), $2, $3), 4326))'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 2.3.x
CREATE OR REPLACE FUNCTION ST_Buffer(geography, float8, text)
RETURNS geography
- AS 'SELECT geography(ST_Transform(ST_Buffer(ST_Transform(geometry($1), _ST_BestSRID($1)), $2, $3), 4326))'
+ AS 'SELECT geography(ST_Transform(ST_Buffer(ST_Transform(geometry($1), @extschema@._ST_BestSRID($1)), $2, $3), 4326))'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.5.0 - this is just a hack to prevent unknown from causing ambiguous name because of geography
CREATE OR REPLACE FUNCTION ST_Buffer(text, float8)
RETURNS geometry AS
- $$ SELECT ST_Buffer($1::geometry, $2); $$
+ $$ SELECT ST_Buffer($1::@extschema@.geometry, $2); $$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 2.3.x
CREATE OR REPLACE FUNCTION ST_Buffer(text, float8, integer)
RETURNS geometry AS
- $$ SELECT ST_Buffer($1::geometry, $2, $3); $$
+ $$ SELECT ST_Buffer($1::@extschema@.geometry, $2, $3); $$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 2.3.x
CREATE OR REPLACE FUNCTION ST_Buffer(text, float8, text)
RETURNS geometry AS
- $$ SELECT ST_Buffer($1::geometry, $2, $3); $$
+ $$ SELECT ST_Buffer($1::@extschema@.geometry, $2, $3); $$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.5.0
CREATE OR REPLACE FUNCTION ST_Intersection(geography, geography)
RETURNS geography
- AS 'SELECT geography(ST_Transform(ST_Intersection(ST_Transform(geometry($1), _ST_BestSRID($1, $2)), ST_Transform(geometry($2), _ST_BestSRID($1, $2))), 4326))'
+ AS 'SELECT geography(ST_Transform(ST_Intersection(ST_Transform(geometry($1), @extschema@._ST_BestSRID($1, $2)), ST_Transform(geometry($2), @extschema@._ST_BestSRID($1, $2))), 4326))'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.5.0 - this is just a hack to prevent unknown from causing ambiguous name because of geography
CREATE OR REPLACE FUNCTION ST_Intersection(text, text)
RETURNS geometry AS
- $$ SELECT ST_Intersection($1::geometry, $2::geometry); $$
+ $$ SELECT @extschema@.ST_Intersection($1::@extschema@.geometry, $2::@extschema@.geometry); $$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.5.0
-- Availability: 2.0.0
CREATE OR REPLACE FUNCTION ST_AsBinary(geography,text)
RETURNS bytea AS
- $$ SELECT ST_AsBinary($1::geometry, $2); $$
+ $$ SELECT @extschema@.ST_AsBinary($1::@extschema@.geometry, $2); $$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 2.0.0
-- Availability: 2.0.0 - this is just a hack to prevent unknown from causing ambiguous name because of geography
CREATE OR REPLACE FUNCTION ST_AsEWKT(text)
RETURNS text AS
- $$ SELECT ST_AsEWKT($1::geometry); $$
+ $$ SELECT @extschema@.ST_AsEWKT($1::@extschema@.geometry); $$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 2.0.0
-- Deprecation in 2.2.0
CREATE OR REPLACE FUNCTION ST_Shift_Longitude(geometry)
RETURNS geometry AS
- $$ SELECT _postgis_deprecate('ST_Shift_Longitude', 'ST_ShiftLongitude', '2.2.0');
- SELECT ST_ShiftLongitude($1);
+ $$ SELECT @extschema@._postgis_deprecate('ST_Shift_Longitude', 'ST_ShiftLongitude', '2.2.0');
+ SELECT @extschema@.ST_ShiftLongitude($1);
$$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.2.2
-- Deprecation in 2.1.0
CREATE OR REPLACE FUNCTION ST_estimated_extent(text,text,text) RETURNS box2d AS
- $$ SELECT _postgis_deprecate('ST_Estimated_Extent', 'ST_EstimatedExtent', '2.1.0');
+ $$ SELECT @extschema@._postgis_deprecate('ST_Estimated_Extent', 'ST_EstimatedExtent', '2.1.0');
-- We use security invoker instead of security definer
-- to prevent malicious injection of a different same named function
- SELECT ST_EstimatedExtent($1, $2, $3);
+ SELECT @extschema@.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
- $$ SELECT _postgis_deprecate('ST_Estimated_Extent', 'ST_EstimatedExtent', '2.1.0');
+ $$ SELECT @extschema@._postgis_deprecate('ST_Estimated_Extent', 'ST_EstimatedExtent', '2.1.0');
-- 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);
+ SELECT @extschema@.ST_EstimatedExtent($1, $2);
$$
LANGUAGE 'sql' IMMUTABLE STRICT SECURITY INVOKER;
columnname alias for $3;
myrec RECORD;
BEGIN
- FOR myrec IN EXECUTE 'SELECT ST_Extent("' || columnname || '") As extent FROM "' || schemaname || '"."' || tablename || '"' LOOP
+ FOR myrec IN EXECUTE 'SELECT @extschema@.ST_Extent("' || columnname || '") As extent FROM "' || schemaname || '"."' || tablename || '"' LOOP
return myrec.extent;
END LOOP;
END;
-- Availability: 1.2.2
-- Deprecation in 2.2.0
CREATE OR REPLACE FUNCTION ST_find_extent(text,text,text) RETURNS box2d AS
- $$ SELECT _postgis_deprecate('ST_Find_Extent', 'ST_FindExtent', '2.2.0');
- SELECT ST_FindExtent($1,$2,$3);
+ $$ SELECT @extschema@._postgis_deprecate('ST_Find_Extent', 'ST_FindExtent', '2.2.0');
+ SELECT @extschema@.ST_FindExtent($1,$2,$3);
$$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
myrec RECORD;
BEGIN
- FOR myrec IN EXECUTE 'SELECT ST_Extent("' || columnname || '") As extent FROM "' || tablename || '"' LOOP
+ FOR myrec IN EXECUTE 'SELECT @extschema@.ST_Extent("' || columnname || '") As extent FROM "' || tablename || '"' LOOP
return myrec.extent;
END LOOP;
END;
-- Availability: 1.2.2
-- Deprecation in 2.2.0
CREATE OR REPLACE FUNCTION ST_find_extent(text,text) RETURNS box2d AS
- $$ SELECT _postgis_deprecate('ST_Find_Extent', 'ST_FindExtent', '2.2.0');
- SELECT ST_FindExtent($1,$2);
+ $$ SELECT @extschema@._postgis_deprecate('ST_Find_Extent', 'ST_FindExtent', '2.2.0');
+ SELECT @extschema@.ST_FindExtent($1,$2);
$$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Deprecation in 2.2.0
CREATE OR REPLACE FUNCTION ST_mem_size(geometry)
RETURNS int4 AS
- $$ SELECT _postgis_deprecate('ST_Mem_Size', 'ST_MemSize', '2.2.0');
- SELECT ST_MemSize($1);
+ $$ SELECT @extschema@._postgis_deprecate('ST_Mem_Size', 'ST_MemSize', '2.2.0');
+ SELECT @extschema@.ST_MemSize($1);
$$
LANGUAGE 'sql' IMMUTABLE STRICT SECURITY INVOKER;
-- Deprecation in 2.2.0
CREATE OR REPLACE FUNCTION ST_3DLength_spheroid(geometry, spheroid)
RETURNS FLOAT8 AS
- $$ SELECT _postgis_deprecate('ST_3DLength_Spheroid', 'ST_LengthSpheroid', '2.2.0');
- SELECT ST_LengthSpheroid($1,$2);
+ $$ SELECT @extschema@._postgis_deprecate('ST_3DLength_Spheroid', 'ST_LengthSpheroid', '2.2.0');
+ SELECT @extschema@.ST_LengthSpheroid($1,$2);
$$
LANGUAGE 'sql' IMMUTABLE STRICT
COST 100;
-- Deprecation in 2.2.0
CREATE OR REPLACE FUNCTION ST_length_spheroid(geometry, spheroid)
RETURNS FLOAT8 AS
- $$ SELECT _postgis_deprecate('ST_Length_Spheroid', 'ST_LengthSpheroid', '2.2.0');
- SELECT ST_LengthSpheroid($1,$2);
+ $$ SELECT @extschema@._postgis_deprecate('ST_Length_Spheroid', 'ST_LengthSpheroid', '2.2.0');
+ SELECT @extschema@.ST_LengthSpheroid($1,$2);
$$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Deprecation in 2.2.0
CREATE OR REPLACE FUNCTION ST_length2d_spheroid(geometry, spheroid)
RETURNS FLOAT8 AS
- $$ SELECT _postgis_deprecate('ST_Length2D_Spheroid', 'ST_Length2DSpheroid', '2.2.0');
- SELECT ST_Length2DSpheroid($1,$2);
+ $$ SELECT @extschema@._postgis_deprecate('ST_Length2D_Spheroid', 'ST_Length2DSpheroid', '2.2.0');
+ SELECT @extschema@.ST_Length2DSpheroid($1,$2);
$$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Deprecation in 2.2.0
CREATE OR REPLACE FUNCTION ST_distance_spheroid(geom1 geometry, geom2 geometry,spheroid)
RETURNS FLOAT8 AS
- $$ SELECT _postgis_deprecate('ST_Distance_Spheroid', 'ST_DistanceSpheroid', '2.2.0');
- SELECT ST_DistanceSpheroid($1,$2,$3);
+ $$ SELECT @extschema@._postgis_deprecate('ST_Distance_Spheroid', 'ST_DistanceSpheroid', '2.2.0');
+ SELECT @extschema@.ST_DistanceSpheroid($1,$2,$3);
$$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Deprecation in 2.2.0
CREATE OR REPLACE FUNCTION ST_point_inside_circle(geometry,float8,float8,float8)
RETURNS bool AS
- $$ SELECT _postgis_deprecate('ST_Point_Inside_Circle', 'ST_PointInsideCircle', '2.2.0');
- SELECT ST_PointInsideCircle($1,$2,$3,$4);
+ $$ SELECT @extschema@._postgis_deprecate('ST_Point_Inside_Circle', 'ST_PointInsideCircle', '2.2.0');
+ SELECT @extschema@.ST_PointInsideCircle($1,$2,$3,$4);
$$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Deprecation in 2.1.0
CREATE OR REPLACE FUNCTION ST_force_2d(geometry)
RETURNS geometry AS
- $$ SELECT _postgis_deprecate('ST_Force_2d', 'ST_Force2D', '2.1.0');
- SELECT ST_Force2D($1);
+ $$ SELECT @extschema@._postgis_deprecate('ST_Force_2d', 'ST_Force2D', '2.1.0');
+ SELECT @extschema@.ST_Force2D($1);
$$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Deprecation in 2.1.0
CREATE OR REPLACE FUNCTION ST_force_3dz(geometry)
RETURNS geometry AS
- $$ SELECT _postgis_deprecate('ST_Force_3dz', 'ST_Force3DZ', '2.1.0');
- SELECT ST_Force3DZ($1);
+ $$ SELECT @extschema@._postgis_deprecate('ST_Force_3dz', 'ST_Force3DZ', '2.1.0');
+ SELECT @extschema@.ST_Force3DZ($1);
$$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Deprecation in 2.1.0
CREATE OR REPLACE FUNCTION ST_force_3d(geometry)
RETURNS geometry AS
- $$ SELECT _postgis_deprecate('ST_Force_3d', 'ST_Force3D', '2.1.0');
- SELECT ST_Force3D($1);
+ $$ SELECT @extschema@._postgis_deprecate('ST_Force_3d', 'ST_Force3D', '2.1.0');
+ SELECT @extschema@.ST_Force3D($1);
$$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Deprecation in 2.1.0
CREATE OR REPLACE FUNCTION ST_force_3dm(geometry)
RETURNS geometry AS
- $$ SELECT _postgis_deprecate('ST_Force_3dm', 'ST_Force3DM', '2.1.0');
- SELECT ST_Force3DM($1);
+ $$ SELECT @extschema@._postgis_deprecate('ST_Force_3dm', 'ST_Force3DM', '2.1.0');
+ SELECT @extschema@.ST_Force3DM($1);
$$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Deprecation in 2.1.0
CREATE OR REPLACE FUNCTION ST_force_4d(geometry)
RETURNS geometry AS
- $$ SELECT _postgis_deprecate('ST_Force_4d', 'ST_Force4D', '2.1.0');
- SELECT ST_Force4D($1);
+ $$ SELECT @extschema@._postgis_deprecate('ST_Force_4d', 'ST_Force4D', '2.1.0');
+ SELECT @extschema@.ST_Force4D($1);
$$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Deprecation in 2.1.0
CREATE OR REPLACE FUNCTION ST_force_collection(geometry)
RETURNS geometry AS
- $$ SELECT _postgis_deprecate('ST_Force_Collection', 'ST_ForceCollection', '2.1.0');
- SELECT ST_ForceCollection($1);
+ $$ SELECT @extschema@._postgis_deprecate('ST_Force_Collection', 'ST_ForceCollection', '2.1.0');
+ SELECT @extschema@.ST_ForceCollection($1);
$$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.2.2
CREATE OR REPLACE FUNCTION ST_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)'
+ AS 'SELECT @extschema@.ST_Affine($1, $2, $3, 0, $4, $5, 0, 0, 0, 1, $6, $7, 0)'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.2.2
CREATE OR REPLACE FUNCTION ST_Rotate(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)'
+ AS 'SELECT @extschema@.ST_Affine($1, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0, 1, 0, 0, 0)'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 2.0.0
CREATE OR REPLACE FUNCTION ST_Rotate(geometry,float8,float8,float8)
RETURNS geometry
- AS 'SELECT ST_Affine($1, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0, 1, $3 - cos($2) * $3 + sin($2) * $4, $4 - sin($2) * $3 - cos($2) * $4, 0)'
+ AS 'SELECT @extschema@.ST_Affine($1, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0, 1, $3 - cos($2) * $3 + sin($2) * $4, $4 - sin($2) * $3 - cos($2) * $4, 0)'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 2.0.0
CREATE OR REPLACE FUNCTION ST_Rotate(geometry,float8,geometry)
RETURNS geometry
- AS 'SELECT ST_Affine($1, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0, 1, ST_X($3) - cos($2) * ST_X($3) + sin($2) * ST_Y($3), ST_Y($3) - sin($2) * ST_X($3) - cos($2) * ST_Y($3), 0)'
+ AS 'SELECT @extschema@.ST_Affine($1, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0, 1, @extschema@.ST_X($3) - cos($2) * @extschema@.ST_X($3) + sin($2) * @extschema@.ST_Y($3), @extschema@.ST_Y($3) - sin($2) * @extschema@.ST_X($3) - cos($2) * @extschema@.ST_Y($3), 0)'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.2.2
CREATE OR REPLACE FUNCTION ST_RotateZ(geometry,float8)
RETURNS geometry
- AS 'SELECT ST_Rotate($1, $2)'
+ AS 'SELECT @extschema@.ST_Rotate($1, $2)'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.2.2
CREATE OR REPLACE FUNCTION ST_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)'
+ AS 'SELECT @extschema@.ST_Affine($1, 1, 0, 0, 0, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0)'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.2.2
CREATE OR REPLACE FUNCTION ST_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)'
+ AS 'SELECT @extschema@.ST_Affine($1, cos($2), 0, sin($2), 0, 1, 0, -sin($2), 0, cos($2), 0, 0, 0)'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.2.2
CREATE OR REPLACE FUNCTION ST_Translate(geometry,float8,float8,float8)
RETURNS geometry
- AS 'SELECT ST_Affine($1, 1, 0, 0, 0, 1, 0, 0, 0, 1, $2, $3, $4)'
+ AS 'SELECT @extschema@.ST_Affine($1, 1, 0, 0, 0, 1, 0, 0, 0, 1, $2, $3, $4)'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.2.2
CREATE OR REPLACE FUNCTION ST_Translate(geometry,float8,float8)
RETURNS geometry
- AS 'SELECT ST_Translate($1, $2, $3, 0)'
+ AS 'SELECT @extschema@.ST_Translate($1, $2, $3, 0)'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 2.2.0
CREATE OR REPLACE FUNCTION ST_Scale(geometry,float8,float8,float8)
RETURNS geometry
--AS 'SELECT ST_Affine($1, $2, 0, 0, 0, $3, 0, 0, 0, $4, 0, 0, 0)'
- AS 'SELECT ST_Scale($1, ST_MakePoint($2, $3, $4))'
+ AS 'SELECT @extschema@.ST_Scale($1, @extschema@.ST_MakePoint($2, $3, $4))'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.2.2
CREATE OR REPLACE FUNCTION ST_Scale(geometry,float8,float8)
RETURNS geometry
- AS 'SELECT ST_Scale($1, $2, $3, 1)'
+ AS 'SELECT @extschema@.ST_Scale($1, $2, $3, 1)'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.2.2
CREATE OR REPLACE FUNCTION ST_Transscale(geometry,float8,float8,float8,float8)
RETURNS geometry
- AS 'SELECT ST_Affine($1, $4, 0, 0, 0, $5, 0,
+ AS 'SELECT @extschema@.ST_Affine($1, $4, 0, 0, 0, $5, 0,
0, 0, 1, $2 * $4, $3 * $5, 0)'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
BEGIN
- -- RAISE DEBUG '%,%', cur_path, ST_GeometryType(the_geom);
+ -- RAISE DEBUG '%,%', cur_path, @extschema@.ST_GeometryType(the_geom);
-- Special case collections : iterate and return the DumpPoints of the geometries
- IF (ST_IsCollection(the_geom)) THEN
+ IF (@extschema@.ST_IsCollection(the_geom)) THEN
i = 1;
- FOR tmp2 IN SELECT (ST_Dump(the_geom)).* LOOP
+ FOR tmp2 IN SELECT (@extschema@.ST_Dump(the_geom)).* LOOP
- FOR tmp IN SELECT * FROM _ST_DumpPoints(tmp2.geom, cur_path || tmp2.path) LOOP
+ FOR tmp IN SELECT * FROM @extschema@._ST_DumpPoints(tmp2.geom, cur_path || tmp2.path) LOOP
RETURN NEXT tmp;
END LOOP;
i = i + 1;
-- Special case (POLYGON) : return the points of the rings of a polygon
- IF (ST_GeometryType(the_geom) = 'ST_Polygon') THEN
+ IF (@extschema@.ST_GeometryType(the_geom) = 'ST_Polygon') THEN
- FOR tmp IN SELECT * FROM _ST_DumpPoints(ST_ExteriorRing(the_geom), cur_path || ARRAY[1]) LOOP
+ FOR tmp IN SELECT * FROM @extschema@._ST_DumpPoints(@extschema@.ST_ExteriorRing(the_geom), cur_path || ARRAY[1]) LOOP
RETURN NEXT tmp;
END LOOP;
- j := ST_NumInteriorRings(the_geom);
+ j := @extschema@.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
+ FOR tmp IN SELECT * FROM @extschema@._ST_DumpPoints(@extschema@.ST_InteriorRingN(the_geom, i), cur_path || ARRAY[i+1]) LOOP
RETURN NEXT tmp;
END LOOP;
END LOOP;
END IF;
-- Special case (TRIANGLE) : return the points of the external rings of a TRIANGLE
- IF (ST_GeometryType(the_geom) = 'ST_Triangle') THEN
+ IF (@extschema@.ST_GeometryType(the_geom) = 'ST_Triangle') THEN
- FOR tmp IN SELECT * FROM _ST_DumpPoints(ST_ExteriorRing(the_geom), cur_path || ARRAY[1]) LOOP
+ FOR tmp IN SELECT * FROM @extschema@._ST_DumpPoints(@extschema@.ST_ExteriorRing(the_geom), cur_path || ARRAY[1]) LOOP
RETURN NEXT tmp;
END LOOP;
-- Special case (POINT) : return the point
- IF (ST_GeometryType(the_geom) = 'ST_Point') THEN
+ IF (@extschema@.ST_GeometryType(the_geom) = 'ST_Point') THEN
tmp.path = cur_path || ARRAY[1];
tmp.geom = the_geom;
-- Use ST_NumPoints rather than ST_NPoints to have a NULL value if the_geom isn't
-- a LINESTRING, CIRCULARSTRING.
- SELECT ST_NumPoints(the_geom) INTO nb_points;
+ SELECT @extschema@.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);
+ RAISE EXCEPTION 'Unexpected error while dumping geometry %', @extschema@.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);
+ tmp.geom := @extschema@.ST_PointN(the_geom, i);
RETURN NEXT tmp;
END LOOP;
IF upper(gc_old.type) = 'GEOMETRY' THEN
-- This is an unconstrained geometry we need to do something
-- We need to figure out what to set the type by inspecting the data
- EXECUTE 'SELECT st_srid(' || quote_ident(gcs.attname) || ') As srid, GeometryType(' || quote_ident(gcs.attname) || ') As type, ST_NDims(' || quote_ident(gcs.attname) || ') As dims ' ||
+ EXECUTE 'SELECT @extschema@.ST_srid(' || quote_ident(gcs.attname) || ') As srid, GeometryType(' || quote_ident(gcs.attname) || ') As type, @extschema@.ST_NDims(' || quote_ident(gcs.attname) || ') As dims ' ||
' FROM ONLY ' || quote_ident(gcs.nspname) || '.' || quote_ident(gcs.relname) ||
' WHERE ' || quote_ident(gcs.attname) || ' IS NOT NULL LIMIT 1;'
INTO gc;
BEGIN
EXECUTE 'ALTER TABLE ONLY ' || quote_ident(gcs.nspname) || '.' || quote_ident(gcs.relname) ||
' ADD CONSTRAINT ' || quote_ident('enforce_srid_' || gcs.attname) ||
- ' CHECK (st_srid(' || quote_ident(gcs.attname) || ') = ' || gsrid || ')';
+ ' CHECK (ST_srid(' || quote_ident(gcs.attname) || ') = ' || gsrid || ')';
constraint_successful := true;
EXCEPTION
WHEN check_violation THEN
RETURN 'fail';
END IF;
ELSE
- new_srid := ST_SRID('POINT EMPTY'::geometry);
+ new_srid := @extschema@.ST_SRID('POINT EMPTY'::@extschema@.geometry);
IF ( new_srid_in != new_srid ) THEN
RAISE NOTICE 'SRID value % converted to the officially unknown SRID value %', new_srid_in, new_srid;
END IF;
RETURN false;
END IF;
ELSE
- unknown_srid := ST_SRID('POINT EMPTY'::geometry);
+ unknown_srid := @extschema@.ST_SRID('POINT EMPTY'::@extschema@.geometry);
IF ( new_srid != unknown_srid ) THEN
new_srid := unknown_srid;
RAISE NOTICE 'SRID value % converted to the officially unknown SRID value %', new_srid_in, new_srid;
EXECUTE 'UPDATE ' || quote_ident(real_schema) ||
'.' || quote_ident(table_name) ||
' SET ' || quote_ident(column_name) ||
- ' = ST_SetSRID(' || quote_ident(column_name) ||
+ ' = @extschema@.ST_SetSRID(' || quote_ident(column_name) ||
', ' || new_srid::text || ')';
-- Reset enforce_srid constraint
-- We are using postgis_type_name to lookup the new name
-- (in case Paul changes his mind and flips geometry_columns to return old upper case name)
EXECUTE 'ALTER TABLE ' || quote_ident(real_schema) || '.' || quote_ident(table_name) ||
- ' ALTER COLUMN ' || quote_ident(column_name) || ' TYPE geometry(' || postgis_type_name(myrec.type, myrec.coord_dimension, true) || ', ' || new_srid::text || ') USING ST_SetSRID(' || quote_ident(column_name) || ',' || new_srid::text || ');' ;
+ ' ALTER COLUMN ' || quote_ident(column_name) || ' TYPE geometry(' || postgis_type_name(myrec.type, myrec.coord_dimension, true) || ', ' || new_srid::text || ') USING @extschema@.ST_SetSRID(' || quote_ident(column_name) || ',' || new_srid::text || ');' ;
END IF;
RETURN real_schema || '.' || table_name || '.' || column_name ||' SRID changed to ' || new_srid::text;
CREATE OR REPLACE FUNCTION ST_Transform(geom geometry, to_proj text)
RETURNS geometry AS
'SELECT postgis_transform_geometry($1, proj4text, $2, 0)
-FROM spatial_ref_sys WHERE srid=ST_SRID($1);'
+FROM spatial_ref_sys WHERE srid=@extschema@.ST_SRID($1);'
LANGUAGE sql IMMUTABLE STRICT _PARALLEL;
-- Availability: 2.3.0
-- Availability: 1.2.2
CREATE OR REPLACE FUNCTION ST_SnapToGrid(geometry, float8, float8)
RETURNS geometry
- AS 'SELECT ST_SnapToGrid($1, 0, 0, $2, $3)'
+ AS 'SELECT @extschema@.ST_SnapToGrid($1, 0, 0, $2, $3)'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL
COST 25;
-- Availability: 1.2.2
CREATE OR REPLACE FUNCTION ST_SnapToGrid(geometry, float8)
RETURNS geometry
- AS 'SELECT ST_SnapToGrid($1, 0, 0, $2, $2)'
+ AS 'SELECT @extschema@.ST_SnapToGrid($1, 0, 0, $2, $2)'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- ST_SnapToGrid(input, point_offsets, xsize, ysize, zsize, msize)
-- Deprecation in 2.1.0
CREATE OR REPLACE FUNCTION ST_line_interpolate_point(geometry, float8)
RETURNS geometry AS
- $$ SELECT _postgis_deprecate('ST_Line_Interpolate_Point', 'ST_LineInterpolatePoint', '2.1.0');
- SELECT ST_LineInterpolatePoint($1, $2);
+ $$ SELECT @extschema@._postgis_deprecate('ST_Line_Interpolate_Point', 'ST_LineInterpolatePoint', '2.1.0');
+ SELECT @extschema@.ST_LineInterpolatePoint($1, $2);
$$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Deprecation in 2.1.0
CREATE OR REPLACE FUNCTION ST_line_substring(geometry, float8, float8)
RETURNS geometry AS
- $$ SELECT _postgis_deprecate('ST_Line_Substring', 'ST_LineSubstring', '2.1.0');
- SELECT ST_LineSubstring($1, $2, $3);
+ $$ SELECT @extschema@._postgis_deprecate('ST_Line_Substring', 'ST_LineSubstring', '2.1.0');
+ SELECT @extschema@.ST_LineSubstring($1, $2, $3);
$$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Deprecation in 2.1.0
CREATE OR REPLACE FUNCTION ST_line_locate_point(geom1 geometry, geom2 geometry)
RETURNS float8 AS
- $$ SELECT _postgis_deprecate('ST_Line_Locate_Point', 'ST_LineLocatePoint', '2.1.0');
- SELECT ST_LineLocatePoint($1, $2);
+ $$ SELECT @extschema@._postgis_deprecate('ST_Line_Locate_Point', 'ST_LineLocatePoint', '2.1.0');
+ SELECT @extschema@.ST_LineLocatePoint($1, $2);
$$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- TODO: switch to use of _postgis_deprecate() in 2.3.0 (or drop)
CREATE OR REPLACE FUNCTION ST_locate_along_measure(geometry, float8)
RETURNS geometry
- AS $$ SELECT ST_locate_between_measures($1, $2, $2) $$
+ AS $$ SELECT @extschema@.ST_locate_between_measures($1, $2, $2) $$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.5.0
-- Availability: 1.2.2
CREATE OR REPLACE FUNCTION ST_Buffer(geometry,float8,integer)
RETURNS geometry
- AS $$ SELECT _ST_Buffer($1, $2,
+ AS $$ SELECT @extschema@._ST_Buffer($1, $2,
CAST('quad_segs='||CAST($3 AS text) as cstring))
$$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.5.0
CREATE OR REPLACE FUNCTION ST_Buffer(geometry,float8,text)
RETURNS geometry
- AS $$ SELECT _ST_Buffer($1, $2,
+ AS $$ SELECT @extschema@._ST_Buffer($1, $2,
CAST( regexp_replace($3, '^[0123456789]+$',
'quad_segs='||$3) AS cstring)
)
-- Availability: 1.4.0
CREATE OR REPLACE FUNCTION ST_MinimumBoundingCircle(inputgeom geometry, segs_per_quarter integer DEFAULT 48)
RETURNS geometry
- AS $$ SELECT ST_Buffer(center, radius, segs_per_quarter) FROM ST_MinimumBoundingRadius($1) sq $$
+ AS $$ SELECT @extschema@.ST_Buffer(center, radius, segs_per_quarter) FROM @extschema@.ST_MinimumBoundingRadius($1) sq $$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 2.0.0 - requires GEOS-3.2 or higher
-- Availability: 1.4.0
CREATE OR REPLACE FUNCTION ST_LineCrossingDirection(geom1 geometry, geom2 geometry)
RETURNS integer AS
- $$ SELECT CASE WHEN NOT $1 && $2 THEN 0 ELSE _ST_LineCrossingDirection($1,$2) END $$
+ $$ SELECT CASE WHEN NOT $1 OPERATOR(@extschema@.&&) $2 THEN 0 ELSE @extschema@._ST_LineCrossingDirection($1,$2) END $$
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
-- Requires GEOS >= 3.0.0
RETURNS text
AS $$
SELECT CASE WHEN valid THEN 'Valid Geometry' ELSE reason END FROM (
- SELECT (ST_isValidDetail($1, $2)).*
+ SELECT (@extschema@.ST_isValidDetail($1, $2)).*
) foo
$$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL
-- Availability: 2.0.0
CREATE OR REPLACE FUNCTION ST_IsValid(geometry, int4)
RETURNS boolean
- AS 'SELECT (ST_isValidDetail($1, $2)).valid'
+ AS 'SELECT (@extschema@.ST_isValidDetail($1, $2)).valid'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Deprecation in 2.2.0
CREATE OR REPLACE FUNCTION ST_Combine_BBox(box3d,geometry)
RETURNS box3d AS
- $$ SELECT _postgis_deprecate('ST_Combine_BBox', 'ST_CombineBbox', '2.2.0');
- SELECT ST_CombineBbox($1,$2);
+ $$ SELECT @extschema@._postgis_deprecate('ST_Combine_BBox', 'ST_CombineBbox', '2.2.0');
+ SELECT @extschema@.ST_CombineBbox($1,$2);
$$
LANGUAGE 'sql' IMMUTABLE;
-- Deprecation in 2.2.0
CREATE OR REPLACE FUNCTION ST_Combine_BBox(box2d,geometry)
RETURNS box2d AS
- $$ SELECT _postgis_deprecate('ST_Combine_BBox', 'ST_CombineBbox', '2.2.0');
- SELECT ST_CombineBbox($1,$2);
+ $$ SELECT @extschema@._postgis_deprecate('ST_Combine_BBox', 'ST_CombineBbox', '2.2.0');
+ SELECT @extschema@.ST_CombineBbox($1,$2);
$$
LANGUAGE 'sql' IMMUTABLE;
-- Inlines index magic
CREATE OR REPLACE FUNCTION ST_Touches(geom1 geometry, geom2 geometry)
RETURNS boolean
- AS 'SELECT $1 && $2 AND _ST_Touches($1,$2)'
+ AS 'SELECT $1 OPERATOR(@extschema@.&&) $2 AND @extschema@._ST_Touches($1,$2)'
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
-- Availability: 1.3.4
-- Availability: 1.2.2
CREATE OR REPLACE FUNCTION ST_DWithin(geom1 geometry, geom2 geometry, float8)
RETURNS boolean
- AS 'SELECT $1 && ST_Expand($2,$3) AND $2 && ST_Expand($1,$3) AND _ST_DWithin($1, $2, $3)'
+ AS 'SELECT $1 OPERATOR(@extschema@.&&) @extschema@.ST_Expand($2,$3) AND $2 OPERATOR(@extschema@.&&) @extschema@.ST_Expand($1,$3) AND @extschema@._ST_DWithin($1, $2, $3)'
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
-- PostGIS equivalent function: intersects(geom1 geometry, geom2 geometry)
-- Inlines index magic
CREATE OR REPLACE FUNCTION ST_Intersects(geom1 geometry, geom2 geometry)
RETURNS boolean
- AS 'SELECT $1 && $2 AND _ST_Intersects($1,$2)'
+ AS 'SELECT $1 OPERATOR(@extschema@.&&) $2 AND @extschema@._ST_Intersects($1,$2)'
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
-- PostGIS equivalent function: crosses(geom1 geometry, geom2 geometry)
-- Inlines index magic
CREATE OR REPLACE FUNCTION ST_Crosses(geom1 geometry, geom2 geometry)
RETURNS boolean
- AS 'SELECT $1 && $2 AND _ST_Crosses($1,$2)'
+ AS 'SELECT $1 OPERATOR(@extschema@.&&) $2 AND @extschema@._ST_Crosses($1,$2)'
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
-- PostGIS equivalent function: contains(geom1 geometry, geom2 geometry)
-- Inlines index magic
CREATE OR REPLACE FUNCTION ST_Contains(geom1 geometry, geom2 geometry)
RETURNS boolean
- AS 'SELECT $1 ~ $2 AND _ST_Contains($1,$2)'
+ AS 'SELECT $1 OPERATOR(@extschema@.~) $2 AND @extschema@._ST_Contains($1,$2)'
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
-- Availability: 1.2.2
-- Availability: 1.2.2
CREATE OR REPLACE FUNCTION ST_CoveredBy(geom1 geometry, geom2 geometry)
RETURNS boolean
- AS 'SELECT $1 @ $2 AND _ST_CoveredBy($1,$2)'
+ AS 'SELECT $1 @ $2 AND @extschema@._ST_CoveredBy($1,$2)'
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
-- Availability: 1.2.2
-- Inlines index magic
CREATE OR REPLACE FUNCTION ST_Covers(geom1 geometry, geom2 geometry)
RETURNS boolean
- AS 'SELECT $1 ~ $2 AND _ST_Covers($1,$2)'
+ AS 'SELECT $1 OPERATOR(@extschema@.~) $2 AND @extschema@._ST_Covers($1,$2)'
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
-- Availability: 1.4.0
-- Inlines index magic
CREATE OR REPLACE FUNCTION ST_ContainsProperly(geom1 geometry, geom2 geometry)
RETURNS boolean
- AS 'SELECT $1 ~ $2 AND _ST_ContainsProperly($1,$2)'
+ AS 'SELECT $1 OPERATOR(@extschema@.~) $2 AND @extschema@._ST_ContainsProperly($1,$2)'
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
-- PostGIS equivalent function: overlaps(geom1 geometry, geom2 geometry)
-- PostGIS equivalent function: within(geom1 geometry, geom2 geometry)
CREATE OR REPLACE FUNCTION _ST_Within(geom1 geometry, geom2 geometry)
RETURNS boolean
- AS 'SELECT _ST_Contains($2,$1)'
+ AS 'SELECT @extschema@._ST_Contains($2,$1)'
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
-- Availability: 1.2.2
-- Inlines index magic
CREATE OR REPLACE FUNCTION ST_Within(geom1 geometry, geom2 geometry)
RETURNS boolean
- AS 'SELECT $2 ~ $1 AND _ST_Contains($2,$1)'
+ AS 'SELECT $2 OPERATOR(@extschema@.~) $1 AND @extschema@._ST_Contains($2,$1)'
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
-- Availability: 1.2.2
-- Inlines index magic
CREATE OR REPLACE FUNCTION ST_Overlaps(geom1 geometry, geom2 geometry)
RETURNS boolean
- AS 'SELECT $1 && $2 AND _ST_Overlaps($1,$2)'
+ AS 'SELECT $1 OPERATOR(@extschema@.&&) $2 AND @extschema@._ST_Overlaps($1,$2)'
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
-- PostGIS equivalent function: IsValid(geometry)
-- Availability: 1.2.1
CREATE OR REPLACE FUNCTION ST_Equals(geom1 geometry, geom2 geometry)
RETURNS boolean
- AS 'SELECT $1 ~= $2 AND _ST_Equals($1,$2)'
+ AS 'SELECT $1 OPERATOR(@extschema@.~=) $2 AND @extschema@._ST_Equals($1,$2)'
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
-- Deprecation in 1.2.3
-- Availability: 1.5.0
CREATE OR REPLACE FUNCTION ST_GeomFromGML(text)
RETURNS geometry
- AS 'SELECT _ST_GeomFromGML($1, 0)'
+ AS 'SELECT @extschema@._ST_GeomFromGML($1, 0)'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.5.0
CREATE OR REPLACE FUNCTION ST_GMLToSQL(text)
RETURNS geometry
- AS 'SELECT _ST_GeomFromGML($1, 0)'
+ AS 'SELECT @extschema@._ST_GeomFromGML($1, 0)'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 2.0.0
-- Changed: 2.0.0 to have default args
CREATE OR REPLACE FUNCTION ST_AsGML(geom geometry, maxdecimaldigits int4 DEFAULT 15, options int4 DEFAULT 0)
RETURNS TEXT
- AS $$ SELECT _ST_AsGML(2, $1, $2, $3, null, null); $$
+ AS $$ SELECT @extschema@._ST_AsGML(2, $1, $2, $3, null, null); $$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- ST_AsGML(version, geom, precision, option)
-- Availability: 2.1.0
CREATE OR REPLACE FUNCTION ST_AsGML(version int4, geom geometry, maxdecimaldigits int4 DEFAULT 15, options int4 DEFAULT 0, nprefix text DEFAULT null, id text DEFAULT null)
RETURNS TEXT
- AS $$ SELECT _ST_AsGML($1, $2, $3, $4, $5, $6); $$
+ AS $$ SELECT @extschema@._ST_AsGML($1, $2, $3, $4, $5, $6); $$
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
-----------------------------------------------------------------------
-- Changed: 2.0.0 to use default args and allow named args
CREATE OR REPLACE FUNCTION ST_AsKML(geom geometry, maxdecimaldigits int4 DEFAULT 15)
RETURNS TEXT
- AS $$ SELECT _ST_AsKML(2, ST_Transform($1,4326), $2, null); $$
+ AS $$ SELECT @extschema@._ST_AsKML(2, ST_Transform($1,4326), $2, null); $$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- ST_AsKML(version, geom, precision, text)
-- Changed: 2.0.0 allows default args and got rid of other permutations
CREATE OR REPLACE FUNCTION ST_AsKML(version int4, geom geometry, maxdecimaldigits int4 DEFAULT 15, nprefix text DEFAULT null)
RETURNS TEXT
- AS $$ SELECT _ST_AsKML($1, ST_Transform($2,4326), $3, $4); $$
+ AS $$ SELECT @extschema@._ST_AsKML($1, @extschema@.ST_Transform($2,4326), $3, $4); $$
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
-- _ST_AsGeoJson(version, geom, precision, options)
CREATE OR REPLACE FUNCTION _ST_AsGeoJson(int4, geometry, int4, int4)
RETURNS TEXT
- AS $$ SELECT ST_AsGeoJson($2::geometry, $3::int4, $4::int4); $$
+ AS $$ SELECT @extschema@.ST_AsGeoJson($2::@extschema@.geometry, $3::int4, $4::int4); $$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- ST_AsGeoJson(version, geom, precision,options)
-- Changed 2.0.0 to use default args and named args
CREATE OR REPLACE FUNCTION ST_AsGeoJson(gj_version int4, geom geometry, maxdecimaldigits int4 DEFAULT 15, options int4 DEFAULT 0)
RETURNS TEXT
- AS $$ SELECT ST_AsGeoJson($2::geometry, $3::int4, $4::int4); $$
+ AS $$ SELECT @extschema@.ST_AsGeoJson($2::@extschema@.geometry, $3::int4, $4::int4); $$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
------------------------------------------------------------------------
-- ST_GeomFromGeoHash(geohash text, precision int4)
CREATE OR REPLACE FUNCTION ST_GeomFromGeoHash(text, int4 DEFAULT NULL)
RETURNS geometry
- AS $$ SELECT CAST(ST_Box2dFromGeoHash($1, $2) AS geometry); $$
+ AS $$ SELECT CAST(@extschema@.ST_Box2dFromGeoHash($1, $2) AS geometry); $$
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
------------------------------------------------------------------------
CREATE OR REPLACE FUNCTION ST_NumPatches(geometry)
RETURNS int4
AS '
- SELECT CASE WHEN ST_GeometryType($1) = ''ST_PolyhedralSurface''
- THEN ST_NumGeometries($1)
+ SELECT CASE WHEN @extschema@.ST_GeometryType($1) = ''ST_PolyhedralSurface''
+ THEN @extschema@.ST_NumGeometries($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION ST_PatchN(geometry, integer)
RETURNS geometry
AS '
- SELECT CASE WHEN ST_GeometryType($1) = ''ST_PolyhedralSurface''
- THEN ST_GeometryN($1, $2)
+ SELECT CASE WHEN @extschema@.ST_GeometryType($1) = ''ST_PolyhedralSurface''
+ THEN @extschema@.ST_GeometryN($1, $2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION ST_PointFromText(text)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromText($1)) = ''POINT''
- THEN ST_GeomFromText($1)
+ SELECT CASE WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromText($1)) = ''POINT''
+ THEN @extschema@.ST_GeomFromText($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION ST_PointFromText(text, int4)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromText($1, $2)) = ''POINT''
- THEN ST_GeomFromText($1, $2)
+ SELECT CASE WHEN geometrytype(@extschema@.ST_GeomFromText($1, $2)) = ''POINT''
+ THEN @extschema@.ST_GeomFromText($1, $2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION ST_LineFromText(text)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromText($1)) = ''LINESTRING''
- THEN ST_GeomFromText($1)
+ SELECT CASE WHEN geometrytype(@extschema@.ST_GeomFromText($1)) = ''LINESTRING''
+ THEN @extschema@.ST_GeomFromText($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION ST_LineFromText(text, int4)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromText($1, $2)) = ''LINESTRING''
- THEN ST_GeomFromText($1,$2)
+ SELECT CASE WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromText($1, $2)) = ''LINESTRING''
+ THEN @extschema@.ST_GeomFromText($1,$2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION ST_PolyFromText(text)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromText($1)) = ''POLYGON''
- THEN ST_GeomFromText($1)
+ SELECT CASE WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromText($1)) = ''POLYGON''
+ THEN @extschema@.ST_GeomFromText($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION ST_PolyFromText(text, int4)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromText($1, $2)) = ''POLYGON''
- THEN ST_GeomFromText($1, $2)
+ SELECT CASE WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromText($1, $2)) = ''POLYGON''
+ THEN @extschema@.ST_GeomFromText($1, $2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.2.2
CREATE OR REPLACE FUNCTION ST_PolygonFromText(text, int4)
RETURNS geometry
- AS 'SELECT ST_PolyFromText($1, $2)'
+ AS 'SELECT @extschema@.ST_PolyFromText($1, $2)'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.2.2
CREATE OR REPLACE FUNCTION ST_PolygonFromText(text)
RETURNS geometry
- AS 'SELECT ST_PolyFromText($1)'
+ AS 'SELECT @extschema@.ST_PolyFromText($1)'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- PostGIS equivalent function: MLineFromText(text, int4)
RETURNS geometry
AS '
SELECT CASE
- WHEN geometrytype(ST_GeomFromText($1, $2)) = ''MULTILINESTRING''
- THEN ST_GeomFromText($1,$2)
+ WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromText($1, $2)) = ''MULTILINESTRING''
+ THEN @extschema@.ST_GeomFromText($1,$2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION ST_MLineFromText(text)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromText($1)) = ''MULTILINESTRING''
- THEN ST_GeomFromText($1)
+ SELECT CASE WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromText($1)) = ''MULTILINESTRING''
+ THEN @extschema@.ST_GeomFromText($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.2.2
CREATE OR REPLACE FUNCTION ST_MultiLineStringFromText(text)
RETURNS geometry
- AS 'SELECT ST_MLineFromText($1)'
+ AS 'SELECT @extschema@.ST_MLineFromText($1)'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.2.2
CREATE OR REPLACE FUNCTION ST_MultiLineStringFromText(text, int4)
RETURNS geometry
- AS 'SELECT ST_MLineFromText($1, $2)'
+ AS 'SELECT @extschema@.ST_MLineFromText($1, $2)'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- PostGIS equivalent function: MPointFromText(text, int4)
CREATE OR REPLACE FUNCTION ST_MPointFromText(text, int4)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromText($1, $2)) = ''MULTIPOINT''
+ SELECT CASE WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromText($1, $2)) = ''MULTIPOINT''
THEN ST_GeomFromText($1, $2)
ELSE NULL END
'
CREATE OR REPLACE FUNCTION ST_MPointFromText(text)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromText($1)) = ''MULTIPOINT''
- THEN ST_GeomFromText($1)
+ SELECT CASE WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromText($1)) = ''MULTIPOINT''
+ THEN @extschema@.ST_GeomFromText($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.2.2
CREATE OR REPLACE FUNCTION ST_MultiPointFromText(text)
RETURNS geometry
- AS 'SELECT ST_MPointFromText($1)'
+ AS 'SELECT @extschema@.ST_MPointFromText($1)'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- PostGIS equivalent function: MPolyFromText(text, int4)
CREATE OR REPLACE FUNCTION ST_MPolyFromText(text, int4)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromText($1, $2)) = ''MULTIPOLYGON''
- THEN ST_GeomFromText($1,$2)
+ SELECT CASE WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromText($1, $2)) = ''MULTIPOLYGON''
+ THEN @extschema@.ST_GeomFromText($1,$2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION ST_MPolyFromText(text)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromText($1)) = ''MULTIPOLYGON''
- THEN ST_GeomFromText($1)
+ SELECT CASE WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromText($1)) = ''MULTIPOLYGON''
+ THEN @extschema@.ST_GeomFromText($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.2.2
CREATE OR REPLACE FUNCTION ST_MultiPolygonFromText(text, int4)
RETURNS geometry
- AS 'SELECT ST_MPolyFromText($1, $2)'
+ AS 'SELECT @extschema@.ST_MPolyFromText($1, $2)'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.2.2
CREATE OR REPLACE FUNCTION ST_MultiPolygonFromText(text)
RETURNS geometry
- AS 'SELECT ST_MPolyFromText($1)'
+ AS 'SELECT @extschema@.ST_MPolyFromText($1)'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.2.2
RETURNS geometry
AS '
SELECT CASE
- WHEN geometrytype(ST_GeomFromText($1, $2)) = ''GEOMETRYCOLLECTION''
- THEN ST_GeomFromText($1,$2)
+ WHEN geometrytype(@extschema@.ST_GeomFromText($1, $2)) = ''GEOMETRYCOLLECTION''
+ THEN @extschema@.ST_GeomFromText($1,$2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
RETURNS geometry
AS '
SELECT CASE
- WHEN geometrytype(ST_GeomFromText($1)) = ''GEOMETRYCOLLECTION''
- THEN ST_GeomFromText($1)
+ WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromText($1)) = ''GEOMETRYCOLLECTION''
+ THEN @extschema@.ST_GeomFromText($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- PostGIS equivalent function: GeomFromWKB(bytea, int)
CREATE OR REPLACE FUNCTION ST_GeomFromWKB(bytea, int)
RETURNS geometry
- AS 'SELECT ST_SetSRID(ST_GeomFromWKB($1), $2)'
+ AS 'SELECT @extschema@.ST_SetSRID(@extschema@.ST_GeomFromWKB($1), $2)'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- PostGIS equivalent function: PointFromWKB(bytea, int)
CREATE OR REPLACE FUNCTION ST_PointFromWKB(bytea, int)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = ''POINT''
- THEN ST_GeomFromWKB($1, $2)
+ SELECT CASE WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromWKB($1, $2)) = ''POINT''
+ THEN @extschema@.ST_GeomFromWKB($1, $2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION ST_PointFromWKB(bytea)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = ''POINT''
- THEN ST_GeomFromWKB($1)
+ SELECT CASE WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromWKB($1)) = ''POINT''
+ THEN @extschema@.ST_GeomFromWKB($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION ST_LineFromWKB(bytea, int)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = ''LINESTRING''
- THEN ST_GeomFromWKB($1, $2)
+ SELECT CASE WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromWKB($1, $2)) = ''LINESTRING''
+ THEN @extschema@.ST_GeomFromWKB($1, $2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION ST_LineFromWKB(bytea)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = ''LINESTRING''
- THEN ST_GeomFromWKB($1)
+ SELECT CASE WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromWKB($1)) = ''LINESTRING''
+ THEN @extschema@.ST_GeomFromWKB($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION ST_LinestringFromWKB(bytea, int)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = ''LINESTRING''
- THEN ST_GeomFromWKB($1, $2)
+ SELECT CASE WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromWKB($1, $2)) = ''LINESTRING''
+ THEN @extschema@.ST_GeomFromWKB($1, $2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION ST_LinestringFromWKB(bytea)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = ''LINESTRING''
- THEN ST_GeomFromWKB($1)
+ SELECT CASE WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromWKB($1)) = ''LINESTRING''
+ THEN @extschema@.ST_GeomFromWKB($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION ST_PolyFromWKB(bytea, int)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = ''POLYGON''
- THEN ST_GeomFromWKB($1, $2)
+ SELECT CASE WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromWKB($1, $2)) = ''POLYGON''
+ THEN @extschema@.ST_GeomFromWKB($1, $2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION ST_PolyFromWKB(bytea)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = ''POLYGON''
- THEN ST_GeomFromWKB($1)
+ SELECT CASE WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromWKB($1)) = ''POLYGON''
+ THEN @extschema@.ST_GeomFromWKB($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION ST_PolygonFromWKB(bytea, int)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1,$2)) = ''POLYGON''
- THEN ST_GeomFromWKB($1, $2)
+ SELECT CASE WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromWKB($1,$2)) = ''POLYGON''
+ THEN @extschema@.ST_GeomFromWKB($1, $2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION ST_PolygonFromWKB(bytea)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = ''POLYGON''
- THEN ST_GeomFromWKB($1)
+ SELECT CASE WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromWKB($1)) = ''POLYGON''
+ THEN @extschema@.ST_GeomFromWKB($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION ST_MPointFromWKB(bytea, int)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = ''MULTIPOINT''
- THEN ST_GeomFromWKB($1, $2)
+ SELECT CASE WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromWKB($1, $2)) = ''MULTIPOINT''
+ THEN @extschema@.ST_GeomFromWKB($1, $2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION ST_MPointFromWKB(bytea)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = ''MULTIPOINT''
- THEN ST_GeomFromWKB($1)
+ SELECT CASE WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromWKB($1)) = ''MULTIPOINT''
+ THEN @extschema@.ST_GeomFromWKB($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION ST_MultiPointFromWKB(bytea, int)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1,$2)) = ''MULTIPOINT''
- THEN ST_GeomFromWKB($1, $2)
+ SELECT CASE WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromWKB($1,$2)) = ''MULTIPOINT''
+ THEN @extschema@.ST_GeomFromWKB($1, $2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION ST_MultiPointFromWKB(bytea)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = ''MULTIPOINT''
- THEN ST_GeomFromWKB($1)
+ SELECT CASE WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromWKB($1)) = ''MULTIPOINT''
+ THEN @extschema@.ST_GeomFromWKB($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION ST_MultiLineFromWKB(bytea)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = ''MULTILINESTRING''
- THEN ST_GeomFromWKB($1)
+ SELECT CASE WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromWKB($1)) = ''MULTILINESTRING''
+ THEN @extschema@.ST_GeomFromWKB($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION ST_MLineFromWKB(bytea, int)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = ''MULTILINESTRING''
- THEN ST_GeomFromWKB($1, $2)
+ SELECT CASE WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromWKB($1, $2)) = ''MULTILINESTRING''
+ THEN @extschema@.ST_GeomFromWKB($1, $2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION ST_MLineFromWKB(bytea)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = ''MULTILINESTRING''
- THEN ST_GeomFromWKB($1)
+ SELECT CASE WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromWKB($1)) = ''MULTILINESTRING''
+ THEN @extschema@.ST_GeomFromWKB($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION ST_MPolyFromWKB(bytea, int)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = ''MULTIPOLYGON''
- THEN ST_GeomFromWKB($1, $2)
+ SELECT CASE WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromWKB($1, $2)) = ''MULTIPOLYGON''
+ THEN @extschema@.ST_GeomFromWKB($1, $2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION ST_MPolyFromWKB(bytea)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = ''MULTIPOLYGON''
- THEN ST_GeomFromWKB($1)
+ SELECT CASE WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromWKB($1)) = ''MULTIPOLYGON''
+ THEN @extschema@.ST_GeomFromWKB($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION ST_MultiPolyFromWKB(bytea, int)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = ''MULTIPOLYGON''
- THEN ST_GeomFromWKB($1, $2)
+ SELECT CASE WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromWKB($1, $2)) = ''MULTIPOLYGON''
+ THEN @extschema@.ST_GeomFromWKB($1, $2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION ST_MultiPolyFromWKB(bytea)
RETURNS geometry
AS '
- SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = ''MULTIPOLYGON''
- THEN ST_GeomFromWKB($1)
+ SELECT CASE WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromWKB($1)) = ''MULTIPOLYGON''
+ THEN @extschema@.ST_GeomFromWKB($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
RETURNS geometry
AS '
SELECT CASE
- WHEN geometrytype(ST_GeomFromWKB($1, $2)) = ''GEOMETRYCOLLECTION''
- THEN ST_GeomFromWKB($1, $2)
+ WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromWKB($1, $2)) = ''GEOMETRYCOLLECTION''
+ THEN @extschema@.ST_GeomFromWKB($1, $2)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
RETURNS geometry
AS '
SELECT CASE
- WHEN geometrytype(ST_GeomFromWKB($1)) = ''GEOMETRYCOLLECTION''
- THEN ST_GeomFromWKB($1)
+ WHEN @extschema@.geometrytype(@extschema@.ST_GeomFromWKB($1)) = ''GEOMETRYCOLLECTION''
+ THEN @extschema@.ST_GeomFromWKB($1)
ELSE NULL END
'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 1.5.0
CREATE OR REPLACE FUNCTION ST_MaxDistance(geom1 geometry, geom2 geometry)
RETURNS float8
- AS 'SELECT _ST_MaxDistance(ST_ConvexHull($1), ST_ConvexHull($2))'
+ AS 'SELECT @extschema@._ST_MaxDistance(@extschema@.ST_ConvexHull($1), @extschema@.ST_ConvexHull($2))'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION ST_ClosestPoint(geom1 geometry, geom2 geometry)
CREATE OR REPLACE FUNCTION ST_LongestLine(geom1 geometry, geom2 geometry)
RETURNS geometry
- AS 'SELECT _ST_LongestLine(ST_ConvexHull($1), ST_ConvexHull($2))'
+ AS 'SELECT @extschema@._ST_LongestLine(@extschema@.ST_ConvexHull($1), @extschema@.ST_ConvexHull($2))'
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION _ST_DFullyWithin(geom1 geometry, geom2 geometry,float8)
CREATE OR REPLACE FUNCTION ST_DFullyWithin(geom1 geometry, geom2 geometry, float8)
RETURNS boolean
- AS 'SELECT $1 && ST_Expand($2,$3) AND $2 && ST_Expand($1,$3) AND _ST_DFullyWithin(ST_ConvexHull($1), ST_ConvexHull($2), $3)'
+ AS 'SELECT $1 OPERATOR(@extschema@.&&) @extschema@.ST_Expand($2,$3) AND $2 OPERATOR(@extschema@.&&) @extschema@.ST_Expand($1,$3) AND @extschema@._ST_DFullyWithin(@extschema@.ST_ConvexHull($1), @extschema@.ST_ConvexHull($2), $3)'
LANGUAGE 'sql' IMMUTABLE;
-- Availability: 2.2.0
mline geometry;
geom geometry;
BEGIN
- mline := ST_MultiLineStringFromText(geomtext, srid);
+ mline := @extschema@.ST_MultiLineStringFromText(geomtext, srid);
IF mline IS NULL
THEN
RAISE EXCEPTION 'Input is not a MultiLinestring';
END IF;
- geom := ST_BuildArea(mline);
+ geom := @extschema@.ST_BuildArea(mline);
IF GeometryType(geom) != 'POLYGON'
THEN
mline geometry;
geom geometry;
BEGIN
- mline := ST_MultiLineStringFromText(geomtext, srid);
+ mline := @extschema@.ST_MultiLineStringFromText(geomtext, srid);
IF mline IS NULL
THEN
RAISE EXCEPTION 'Input is not a MultiLinestring';
END IF;
- geom := ST_Multi(ST_BuildArea(mline));
+ geom := @extschema@.ST_Multi(@extschema@.ST_BuildArea(mline));
RETURN geom;
END;
CREATE OR REPLACE FUNCTION ST_DistanceSphere(geom1 geometry, geom2 geometry)
RETURNS FLOAT8
AS $$
- select st_distance(geography($1),geography($2),false)
+ select @extschema@.ST_distance( @extschema@.geography($1), @extschema@.geography($2),false)
$$
LANGUAGE 'sql' IMMUTABLE STRICT
COST 300;
-- Deprecation in 2.2.0
CREATE OR REPLACE FUNCTION ST_distance_sphere(geom1 geometry, geom2 geometry)
RETURNS FLOAT8 AS
- $$ SELECT _postgis_deprecate('ST_Distance_Sphere', 'ST_DistanceSphere', '2.2.0');
- SELECT ST_DistanceSphere($1,$2);
+ $$ SELECT @extschema@._postgis_deprecate('ST_Distance_Sphere', 'ST_DistanceSphere', '2.2.0');
+ SELECT @extschema@.ST_DistanceSphere($1,$2);
$$
LANGUAGE 'sql' IMMUTABLE STRICT
COST 300;
CREATE OR REPLACE FUNCTION ST_3DDWithin(geom1 geometry, geom2 geometry,float8)
RETURNS boolean
- AS 'SELECT $1 && ST_Expand($2,$3) AND $2 && ST_Expand($1,$3) AND _ST_3DDWithin($1, $2, $3)'
+ AS 'SELECT $1 OPERATOR(@extschema@.&&) @extschema@.ST_Expand($2,$3) AND $2 OPERATOR(@extschema@.&&) @extschema@.ST_Expand($1,$3) AND @extschema@._ST_3DDWithin($1, $2, $3)'
LANGUAGE 'sql' IMMUTABLE
COST 100;
CREATE OR REPLACE FUNCTION ST_3DDFullyWithin(geom1 geometry, geom2 geometry,float8)
RETURNS boolean
- AS 'SELECT $1 && ST_Expand($2,$3) AND $2 && ST_Expand($1,$3) AND _ST_3DDFullyWithin($1, $2, $3)'
+ AS 'SELECT $1 OPERATOR(@extschema@.&&) @extschema@.ST_Expand($2,$3) AND $2 OPERATOR(@extschema@.&&) @extschema@.ST_Expand($1,$3) AND @extschema@._ST_3DDFullyWithin($1, $2, $3)'
LANGUAGE 'sql' IMMUTABLE
COST 100;
CREATE OR REPLACE FUNCTION ST_3DIntersects(geom1 geometry, geom2 geometry)
RETURNS boolean
- AS 'SELECT $1 && $2 AND _ST_3DIntersects($1, $2)'
+ AS 'SELECT $1 OPERATOR(@extschema@.&&) $2 AND @extschema@._ST_3DIntersects($1, $2)'
LANGUAGE 'sql' IMMUTABLE
COST 100;
CREATE OR REPLACE FUNCTION ST_OrderingEquals(GeometryA geometry, GeometryB geometry)
RETURNS boolean
AS $$
- SELECT $1 ~= $2 AND _ST_OrderingEquals($1, $2)
+ SELECT $1 OPERATOR(@extschema@.~=) $2 AND @extschema@._ST_OrderingEquals($1, $2)
$$
LANGUAGE 'sql' IMMUTABLE;
CREATE OR REPLACE FUNCTION ST_Polygon(geometry, int)
RETURNS geometry
AS $$
- SELECT ST_SetSRID(ST_MakePolygon($1), $2)
+ SELECT @extschema@.ST_SetSRID(@extschema@.ST_MakePolygon($1), $2)
$$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
CREATE OR REPLACE FUNCTION overlaps_2d(geometry, box2df)
RETURNS boolean
AS $$
- SELECT $2 && $1;
+ SELECT $2 OPERATOR(@extschema@.&&) $1;
$$ LANGUAGE SQL IMMUTABLE STRICT;
-- Availability: 2.3.0
CREATE OR REPLACE FUNCTION overlaps_nd(geometry, gidx)
RETURNS boolean
AS $$
- SELECT $2 &&& $1;
+ SELECT $2 OPERATOR(@extschema@.&&&) $1;
$$ LANGUAGE SQL IMMUTABLE STRICT;
-- Availability: 2.3.0
BEGIN
-- First compute the ConvexHull of the geometry
- vexhull := ST_ConvexHull(param_inputgeom);
+ vexhull := @extschema@.ST_ConvexHull(param_inputgeom);
var_inputgeom := param_inputgeom;
--A point really has no concave hull
- IF ST_GeometryType(vexhull) = 'ST_Point' OR ST_GeometryType(vexHull) = 'ST_LineString' THEN
+ IF @extschema@.ST_GeometryType(vexhull) = 'ST_Point' OR @extschema@.ST_GeometryType(vexHull) = 'ST_LineString' THEN
RETURN vexhull;
END IF;
-- convert the hull perimeter to a linestring so we can manipulate individual points
- vexring := CASE WHEN ST_GeometryType(vexhull) = 'ST_LineString' THEN vexhull ELSE ST_ExteriorRing(vexhull) END;
- IF abs(ST_X(ST_PointN(vexring,1))) < 1 THEN --scale the geometry to prevent stupid precision errors - not sure it works so make low for now
+ vexring := CASE WHEN @extschema@.ST_GeometryType(vexhull) = 'ST_LineString' THEN vexhull ELSE @extschema@.ST_ExteriorRing(vexhull) END;
+ IF abs(@extschema@.ST_X(@extschema@.ST_PointN(vexring,1))) < 1 THEN --scale the geometry to prevent stupid precision errors - not sure it works so make low for now
scale_factor := 100;
- vexring := ST_Scale(vexring, scale_factor,scale_factor);
- var_inputgeom := ST_Scale(var_inputgeom, scale_factor, scale_factor);
+ vexring := @extschema@.ST_Scale(vexring, scale_factor,scale_factor);
+ var_inputgeom := @extschema@.ST_Scale(var_inputgeom, scale_factor, scale_factor);
--RAISE NOTICE 'Scaling';
END IF;
- seglength := ST_Length(vexring)/least(ST_NPoints(vexring)*2,1000) ;
+ seglength := @extschema@.ST_Length(vexring)/least(@extschema@.ST_NPoints(vexring)*2,1000) ;
- vexring := ST_Segmentize(vexring, seglength);
+ vexring := @extschema@.ST_Segmentize(vexring, seglength);
-- find the point on the original geom that is closest to each point of the convex hull and make a new linestring out of it.
- cavering := ST_Collect(
+ cavering := @extschema@.ST_Collect(
ARRAY(
SELECT
- ST_ClosestPoint(var_inputgeom, pt ) As the_geom
+ @extschema@.ST_ClosestPoint(var_inputgeom, pt ) As the_geom
FROM (
- SELECT ST_PointN(vexring, n ) As pt, n
+ SELECT @extschema@.ST_PointN(vexring, n ) As pt, n
FROM
- generate_series(1, ST_NPoints(vexring) ) As n
+ generate_series(1, @extschema@.ST_NPoints(vexring) ) As n
) As pt
)
;
- var_resultgeom := ST_MakeLine(geom)
- FROM ST_Dump(cavering) As foo;
+ var_resultgeom := @extschema@.ST_MakeLine(geom)
+ FROM @extschema@.ST_Dump(cavering) As foo;
- IF ST_IsSimple(var_resultgeom) THEN
- var_resultgeom := ST_MakePolygon(var_resultgeom);
+ IF @extschema@.ST_IsSimple(var_resultgeom) THEN
+ var_resultgeom := @extschema@.ST_MakePolygon(var_resultgeom);
--RAISE NOTICE 'is Simple: %', var_resultgeom;
ELSE /** will not result in a valid polygon -- just return convex hull **/
--RAISE NOTICE 'is not Simple: %', var_resultgeom;
- var_resultgeom := ST_ConvexHull(var_resultgeom);
+ var_resultgeom := @extschema@.ST_ConvexHull(var_resultgeom);
END IF;
IF scale_factor > 1 THEN -- scale the result back
- var_resultgeom := ST_Scale(var_resultgeom, 1/scale_factor, 1/scale_factor);
+ var_resultgeom := @extschema@.ST_Scale(var_resultgeom, 1/scale_factor, 1/scale_factor);
END IF;
RETURN var_resultgeom;
CREATE OR REPLACE FUNCTION ST_ConcaveHull(param_geom geometry, param_pctconvex float, param_allow_holes boolean DEFAULT false) RETURNS geometry AS
$$
DECLARE
- var_convhull geometry := ST_ConvexHull(param_geom);
+ var_convhull geometry := @extschema@.ST_ConvexHull(param_geom);
var_param_geom geometry := param_geom;
- var_initarea float := ST_Area(var_convhull);
+ var_initarea float := @extschema@.ST_Area(var_convhull);
var_newarea float := var_initarea;
var_div integer := 6; /** this is the 1/var_div is the percent increase we will allow per triangle to keep speed decent **/
var_tempgeom geometry;
IF param_pctconvex = 1 THEN
return var_resultgeom;
- ELSIF ST_GeometryType(var_param_geom) = 'ST_Polygon' THEN -- it is as concave as it is going to get
+ ELSIF @extschema@.ST_GeometryType(var_param_geom) = 'ST_Polygon' THEN -- it is as concave as it is going to get
IF param_allow_holes THEN -- leave the holes
RETURN var_param_geom;
ELSE -- remove the holes
- var_resultgeom := ST_MakePolygon(ST_ExteriorRing(var_param_geom));
+ var_resultgeom := @extschema@.ST_MakePolygon(@extschema@.ST_ExteriorRing(var_param_geom));
RETURN var_resultgeom;
END IF;
END IF;
- IF ST_Dimension(var_resultgeom) > 1 AND param_pctconvex BETWEEN 0 and 0.98 THEN
+ IF @extschema@.ST_Dimension(var_resultgeom) > 1 AND param_pctconvex BETWEEN 0 and 0.98 THEN
-- get linestring that forms envelope of geometry
- var_enline := ST_Boundary(ST_Envelope(var_param_geom));
- var_buf := ST_Length(var_enline)/1000.0;
- IF ST_GeometryType(var_param_geom) = 'ST_MultiPoint' AND ST_NumGeometries(var_param_geom) BETWEEN 4 and 200 THEN
+ var_enline := @extschema@.ST_Boundary(@extschema@.ST_Envelope(var_param_geom));
+ var_buf := @extschema@.ST_Length(var_enline)/1000.0;
+ IF @extschema@.ST_GeometryType(var_param_geom) = 'ST_MultiPoint' AND @extschema@.ST_NumGeometries(var_param_geom) BETWEEN 4 and 200 THEN
-- we make polygons out of points since they are easier to cave in.
-- Note we limit to between 4 and 200 points because this process is slow and gets quadratically slow
- var_buf := sqrt(ST_Area(var_convhull)*0.8/(ST_NumGeometries(var_param_geom)*ST_NumGeometries(var_param_geom)));
- var_atempgeoms := ARRAY(SELECT geom FROM ST_DumpPoints(var_param_geom));
+ var_buf := sqrt(@extschema@.ST_Area(var_convhull)*0.8/(@extschema@.ST_NumGeometries(var_param_geom)*@extschema@.ST_NumGeometries(var_param_geom)));
+ var_atempgeoms := ARRAY(SELECT geom FROM @extschema@.ST_DumpPoints(var_param_geom));
-- 5 and 10 and just fudge factors
- var_tempgeom := ST_Union(ARRAY(SELECT geom
+ var_tempgeom := @extschema@.ST_Union(ARRAY(SELECT geom
FROM (
-- fuse near neighbors together
- SELECT DISTINCT ON (i) i, ST_Distance(var_atempgeoms[i],var_atempgeoms[j]), ST_Buffer(ST_MakeLine(var_atempgeoms[i], var_atempgeoms[j]) , var_buf*5, 'quad_segs=3') As geom
+ SELECT DISTINCT ON (i) i, @extschema@.ST_Distance(var_atempgeoms[i],var_atempgeoms[j]), @extschema@.ST_Buffer(@extschema@.ST_MakeLine(var_atempgeoms[i], var_atempgeoms[j]) , var_buf*5, 'quad_segs=3') As geom
FROM generate_series(1,array_upper(var_atempgeoms, 1)) As i
INNER JOIN generate_series(1,array_upper(var_atempgeoms, 1)) As j
ON (
- NOT ST_Intersects(var_atempgeoms[i],var_atempgeoms[j])
- AND ST_DWithin(var_atempgeoms[i],var_atempgeoms[j], var_buf*10)
+ NOT @extschema@.ST_Intersects(var_atempgeoms[i],var_atempgeoms[j])
+ AND @extschema@.ST_DWithin(var_atempgeoms[i],var_atempgeoms[j], var_buf*10)
)
UNION ALL
-- catch the ones with no near neighbors
- SELECT i, 0, ST_Buffer(var_atempgeoms[i] , var_buf*10, 'quad_segs=3') As geom
+ SELECT i, 0, @extschema@.ST_Buffer(var_atempgeoms[i] , var_buf*10, 'quad_segs=3') As geom
FROM generate_series(1,array_upper(var_atempgeoms, 1)) As i
LEFT JOIN generate_series(ceiling(array_upper(var_atempgeoms,1)/2)::integer,array_upper(var_atempgeoms, 1)) As j
ON (
- NOT ST_Intersects(var_atempgeoms[i],var_atempgeoms[j])
- AND ST_DWithin(var_atempgeoms[i],var_atempgeoms[j], var_buf*10)
+ NOT @extschema@.ST_Intersects(var_atempgeoms[i],var_atempgeoms[j])
+ AND @extschema@.ST_DWithin(var_atempgeoms[i],var_atempgeoms[j], var_buf*10)
)
WHERE j IS NULL
ORDER BY 1, 2
) As foo ) );
- IF ST_IsValid(var_tempgeom) AND ST_GeometryType(var_tempgeom) = 'ST_Polygon' THEN
- var_tempgeom := ST_ForceSFS(ST_Intersection(var_tempgeom, var_convhull));
+ IF @extschema@.ST_IsValid(var_tempgeom) AND @extschema@.ST_GeometryType(var_tempgeom) = 'ST_Polygon' THEN
+ var_tempgeom := @extschema@.ST_ForceSFS(@extschema@.ST_Intersection(var_tempgeom, var_convhull));
IF param_allow_holes THEN
var_param_geom := var_tempgeom;
ELSE
- var_param_geom := ST_MakePolygon(ST_ExteriorRing(var_tempgeom));
+ var_param_geom := @extschema@.ST_MakePolygon(@extschema@.ST_ExteriorRing(var_tempgeom));
END IF;
return var_param_geom;
- ELSIF ST_IsValid(var_tempgeom) THEN
- var_param_geom := ST_ForceSFS(ST_Intersection(var_tempgeom, var_convhull));
+ ELSIF @extschema@.ST_IsValid(var_tempgeom) THEN
+ var_param_geom := @extschema@.ST_ForceSFS(@extschema@.ST_Intersection(var_tempgeom, var_convhull));
END IF;
END IF;
- IF ST_GeometryType(var_param_geom) = 'ST_Polygon' THEN
+ IF @extschema@.ST_GeometryType(var_param_geom) = 'ST_Polygon' THEN
IF NOT param_allow_holes THEN
- var_param_geom := ST_MakePolygon(ST_ExteriorRing(var_param_geom));
+ var_param_geom := @extschema@.ST_MakePolygon(@extschema@.ST_ExteriorRing(var_param_geom));
END IF;
return var_param_geom;
END IF;
- var_cent := ST_Centroid(var_param_geom);
- IF (ST_XMax(var_enline) - ST_XMin(var_enline) ) > var_buf AND (ST_YMax(var_enline) - ST_YMin(var_enline) ) > var_buf THEN
- IF ST_Dwithin(ST_Centroid(var_convhull) , ST_Centroid(ST_Envelope(var_param_geom)), var_buf/2) THEN
+ var_cent := @extschema@.ST_Centroid(var_param_geom);
+ IF (@extschema@.ST_XMax(var_enline) - @extschema@.ST_XMin(var_enline) ) > var_buf AND (@extschema@.ST_YMax(var_enline) - @extschema@.ST_YMin(var_enline) ) > var_buf THEN
+ IF @extschema@.ST_Dwithin(@extschema@.ST_Centroid(var_convhull) , @extschema@.ST_Centroid(@extschema@.ST_Envelope(var_param_geom)), var_buf/2) THEN
-- If the geometric dimension is > 1 and the object is symettric (cutting at centroid will not work -- offset a bit)
- var_cent := ST_Translate(var_cent, (ST_XMax(var_enline) - ST_XMin(var_enline))/1000, (ST_YMAX(var_enline) - ST_YMin(var_enline))/1000);
+ var_cent := @extschema@.ST_Translate(var_cent, (@extschema@.ST_XMax(var_enline) - @extschema@.ST_XMin(var_enline))/1000, (@extschema@.ST_YMAX(var_enline) - @extschema@.ST_YMin(var_enline))/1000);
ELSE
-- uses closest point on geometry to centroid. I can't explain why we are doing this
- var_cent := ST_ClosestPoint(var_param_geom,var_cent);
+ var_cent := @extschema@.ST_ClosestPoint(var_param_geom,var_cent);
END IF;
- IF ST_DWithin(var_cent, var_enline,var_buf) THEN
- var_cent := ST_centroid(ST_Envelope(var_param_geom));
+ IF @extschema@.ST_DWithin(var_cent, var_enline,var_buf) THEN
+ var_cent := @extschema@.ST_centroid(@extschema@.ST_Envelope(var_param_geom));
END IF;
-- break envelope into 4 triangles about the centroid of the geometry and returned the clipped geometry in each quadrant
FOR i in 1 .. 4 LOOP
- var_geoms[i] := ST_MakePolygon(ST_MakeLine(ARRAY[ST_PointN(var_enline,i), ST_PointN(var_enline,i+1), var_cent, ST_PointN(var_enline,i)]));
- var_geoms[i] := ST_ForceSFS(ST_Intersection(var_param_geom, ST_Buffer(var_geoms[i],var_buf)));
- IF ST_IsValid(var_geoms[i]) THEN
+ var_geoms[i] := @extschema@.ST_MakePolygon(@extschema@.ST_MakeLine(ARRAY[@extschema@.ST_PointN(var_enline,i), @extschema@.ST_PointN(var_enline,i+1), var_cent, @extschema@.ST_PointN(var_enline,i)]));
+ var_geoms[i] := @extschema@.ST_ForceSFS(@extschema@.ST_Intersection(var_param_geom, @extschema@.ST_Buffer(var_geoms[i],var_buf)));
+ IF @extschema@.ST_IsValid(var_geoms[i]) THEN
ELSE
- var_geoms[i] := ST_BuildArea(ST_MakeLine(ARRAY[ST_PointN(var_enline,i), ST_PointN(var_enline,i+1), var_cent, ST_PointN(var_enline,i)]));
+ var_geoms[i] := @extschema@.ST_BuildArea(@extschema@.ST_MakeLine(ARRAY[@extschema@.ST_PointN(var_enline,i), @extschema@.ST_PointN(var_enline,i+1), var_cent, @extschema@.ST_PointN(var_enline,i)]));
END IF;
END LOOP;
- var_tempgeom := ST_Union(ARRAY[ST_ConvexHull(var_geoms[1]), ST_ConvexHull(var_geoms[2]) , ST_ConvexHull(var_geoms[3]), ST_ConvexHull(var_geoms[4])]);
- --RAISE NOTICE 'Curr vex % ', ST_AsText(var_tempgeom);
- IF ST_Area(var_tempgeom) <= var_newarea AND ST_IsValid(var_tempgeom) THEN --AND ST_GeometryType(var_tempgeom) ILIKE '%Polygon'
+ var_tempgeom := @extschema@.ST_Union(ARRAY[@extschema@.ST_ConvexHull(var_geoms[1]), @extschema@.ST_ConvexHull(var_geoms[2]) , @extschema@.ST_ConvexHull(var_geoms[3]), @extschema@.ST_ConvexHull(var_geoms[4])]);
+ --RAISE NOTICE 'Curr vex % ', @extschema@.ST_AsText(var_tempgeom);
+ IF @extschema@.ST_Area(var_tempgeom) <= var_newarea AND @extschema@.ST_IsValid(var_tempgeom) THEN --AND @extschema@.ST_GeometryType(var_tempgeom) ILIKE '%Polygon'
- var_tempgeom := ST_Buffer(ST_ConcaveHull(var_geoms[1],least(param_pctconvex + param_pctconvex/var_div),true),var_buf, 'quad_segs=2');
+ var_tempgeom := @extschema@.ST_Buffer(@extschema@.ST_ConcaveHull(var_geoms[1],least(param_pctconvex + param_pctconvex/var_div),true),var_buf, 'quad_segs=2');
FOR i IN 1 .. 4 LOOP
- var_geoms[i] := ST_Buffer(ST_ConcaveHull(var_geoms[i],least(param_pctconvex + param_pctconvex/var_div),true), var_buf, 'quad_segs=2');
- IF ST_IsValid(var_geoms[i]) Then
- var_tempgeom := ST_Union(var_tempgeom, var_geoms[i]);
+ var_geoms[i] := @extschema@.ST_Buffer(@extschema@.ST_ConcaveHull(var_geoms[i],least(param_pctconvex + param_pctconvex/var_div),true), var_buf, 'quad_segs=2');
+ IF @extschema@.ST_IsValid(var_geoms[i]) Then
+ var_tempgeom := @extschema@.ST_Union(var_tempgeom, var_geoms[i]);
ELSE
- RAISE NOTICE 'Not valid % %', i, ST_AsText(var_tempgeom);
- var_tempgeom := ST_Union(var_tempgeom, ST_ConvexHull(var_geoms[i]));
+ RAISE NOTICE 'Not valid % %', i, @extschema@.ST_AsText(var_tempgeom);
+ var_tempgeom := @extschema@.ST_Union(var_tempgeom, @extschema@.ST_ConvexHull(var_geoms[i]));
END IF;
END LOOP;
- --RAISE NOTICE 'Curr concave % ', ST_AsText(var_tempgeom);
- IF ST_IsValid(var_tempgeom) THEN
+ --RAISE NOTICE 'Curr concave % ', @extschema@.ST_AsText(var_tempgeom);
+ IF @extschema@.ST_IsValid(var_tempgeom) THEN
var_resultgeom := var_tempgeom;
END IF;
- var_newarea := ST_Area(var_resultgeom);
- ELSIF ST_IsValid(var_tempgeom) THEN
+ var_newarea := @extschema@.ST_Area(var_resultgeom);
+ ELSIF @extschema@.ST_IsValid(var_tempgeom) THEN
var_resultgeom := var_tempgeom;
END IF;
- IF ST_NumGeometries(var_resultgeom) > 1 THEN
- var_tempgeom := _ST_ConcaveHull(var_resultgeom);
- IF ST_IsValid(var_tempgeom) AND ST_GeometryType(var_tempgeom) ILIKE 'ST_Polygon' THEN
+ IF @extschema@.ST_NumGeometries(var_resultgeom) > 1 THEN
+ var_tempgeom := @extschema@._ST_ConcaveHull(var_resultgeom);
+ IF @extschema@.ST_IsValid(var_tempgeom) AND @extschema@.ST_GeometryType(var_tempgeom) ILIKE 'ST_Polygon' THEN
var_resultgeom := var_tempgeom;
ELSE
- var_resultgeom := ST_Buffer(var_tempgeom,var_buf, 'quad_segs=2');
+ var_resultgeom := @extschema@.ST_Buffer(var_tempgeom,var_buf, 'quad_segs=2');
END IF;
END IF;
IF param_allow_holes = false THEN
-- only keep exterior ring since we do not want holes
- var_resultgeom := ST_MakePolygon(ST_ExteriorRing(var_resultgeom));
+ var_resultgeom := @extschema@.ST_MakePolygon(@extschema@.ST_ExteriorRing(var_resultgeom));
END IF;
ELSE
- var_resultgeom := ST_Buffer(var_resultgeom,var_buf);
+ var_resultgeom := @extschema@.ST_Buffer(var_resultgeom,var_buf);
END IF;
- var_resultgeom := ST_ForceSFS(ST_Intersection(var_resultgeom, ST_ConvexHull(var_param_geom)));
+ var_resultgeom := @extschema@.ST_ForceSFS(@extschema@.ST_Intersection(var_resultgeom, @extschema@.ST_ConvexHull(var_param_geom)));
ELSE
-- dimensions are too small to cut
- var_resultgeom := _ST_ConcaveHull(var_param_geom);
+ var_resultgeom := @extschema@._ST_ConcaveHull(var_param_geom);
END IF;
RETURN var_resultgeom;
END;
-- ST_AsX3D(geom, precision, options)
CREATE OR REPLACE FUNCTION ST_AsX3D(geom geometry, maxdecimaldigits integer DEFAULT 15, options integer DEFAULT 0)
RETURNS TEXT
- AS $$SELECT _ST_AsX3D(3,$1,$2,$3,'');$$
+ AS $$SELECT @extschema@._ST_AsX3D(3,$1,$2,$3,'');$$
LANGUAGE 'sql' IMMUTABLE;
-- make views and spatial_ref_sys public viewable --