]> granicus.if.org Git - postgis/commitdiff
#1433: part 1 -- get rid of SE functions
authorRegina Obe <lr@pcorp.us>
Thu, 5 Jan 2012 19:56:18 +0000 (19:56 +0000)
committerRegina Obe <lr@pcorp.us>
Thu, 5 Jan 2012 19:56:18 +0000 (19:56 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@8680 b70326c6-7e19-0410-871a-916f4a2858ee

postgis/legacy.sql.in.c
postgis/sqlmm.sql.in.c
postgis/uninstall_legacy.sql.in.c

index f8565e3b7f0e477e4c8f96d62351389203c8a6c8..5a02caf6bde0b8430753a7abecd8d38df51a5408 100644 (file)
@@ -50,6 +50,54 @@ CREATE OR REPLACE FUNCTION noop(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)
index 695f39a615b8bd223ef8436e80d8c3ab5671d506..459aaf8ec2da7a9fb78daa05614c34d90edaedb0 100644 (file)
 --      * ESRI in DB2      : RETURNS 1 if TRUE, 0 if FALSE, NULL if NULL 
 --      * PostGIS          : RETURNS 1 if TRUE, 0 if FALSE, NULL if NULL 
 --
--- TODO: Implement ESRI's Shape constructors
---   * SE_AsShape(geometry)
---   * SE_ShapeToSQL
---   * SE_GeomFromShape
---   * SE_PointFromShape
---   * SE_LineFromShape
---   * SE_PolyFromShape
---   * SE_MPointFromShape
---   * SE_MLineFromShape
---   * SE_MPolyFromShape
--- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
+--
 #include "sqldefines.h"
 
 -------------------------------------------------------------------------------
@@ -112,17 +101,6 @@ CREATE OR REPLACE FUNCTION ST_WKBToSQL(bytea)
 
 -- ST_AsBinary(geometry) - already defined
 
--------------------------------------------------------------------------------
--- SQL/MM (ArcSDE subset) - SQL Functions for obtaining the ESRI Shape 
--- representation of an ST_Geometry
--------------------------------------------------------------------------------
-
--- TODO: SE_AsShape(geometry)
---CREATE OR REPLACE FUNCTION SE_AsShape(geometry)
---    RETURNS bytea
---    AS 'MODULE_PATHNAME','LWGEOM_AsShape'
---    LANGUAGE 'C' IMMUTABLE STRICT; 
-
 -------------------------------------------------------------------------------
 -- SQL/MM (ArcSDE subset) - SQL Functions on type ST_Geometry
 -------------------------------------------------------------------------------
@@ -163,20 +141,8 @@ CREATE OR REPLACE FUNCTION ST_OrderingEquals(geometry, geometry)
        $$      
        LANGUAGE 'SQL' IMMUTABLE STRICT; 
 
--- Availability: 1.5.0
-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;
-
 -------------------------------------------------------------------------------
--- SQL/MM (ArcSDE subset) - SQL Functions on type ST_Point
+-- SQL/MM - SQL Functions on type ST_Point
 -------------------------------------------------------------------------------
 
 -- PostGIS equivalent function: makePoint(float8,float8)
@@ -185,18 +151,6 @@ CREATE OR REPLACE FUNCTION ST_Point(float8, float8)
        AS 'MODULE_PATHNAME', 'LWGEOM_makepoint'
        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; 
-
 -------------------------------------------------------------------------------
 -- SQL/MM (ArcSDE subset) - SQL Functions on type ST_Curve
 -------------------------------------------------------------------------------
@@ -276,14 +230,6 @@ CREATE OR REPLACE FUNCTION ST_Polygon(geometry, int)
 -- ST_Contains(geometry, geometry) - already defined.
 -- ST_Relate(geometry, geometry, text) - already defined.
 
--- PostGIS equivalent function: none
-CREATE OR REPLACE FUNCTION SE_EnvelopesIntersect(geometry,geometry)
-       RETURNS boolean
-       AS $$ 
-       SELECT $1 && $2
-       $$      
-       LANGUAGE 'SQL' IMMUTABLE STRICT; 
-
 -------------------------------------------------------------------------------
 -- SQL/MM (ArcSDE subset) - SQL Functions for distance relationships
 -------------------------------------------------------------------------------
@@ -301,18 +247,6 @@ CREATE OR REPLACE FUNCTION SE_EnvelopesIntersect(geometry,geometry)
 -- ST_Buffer(geometry, float8) - already defined.
 -- ST_ConvexHull(geometry) already defined.
 
--- 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;
-
 ---
 -- Linear referencing functions (move to postgis.sql.in.c?)
 ---
@@ -323,7 +257,7 @@ CREATE OR REPLACE FUNCTION ST_LocateBetween(geometry, float8, float8)
        
 CREATE OR REPLACE FUNCTION ST_LocateAlong(geometry, float8)
        RETURNS geometry
-       AS $$ SELECT SE_LocateBetween($1, $2, $2) $$
+       AS $$ SELECT ST_LocateBetween($1, $2, $2) $$
        LANGUAGE 'sql' IMMUTABLE STRICT;
 
 -- LRS with offset parameter
@@ -335,11 +269,10 @@ CREATE OR REPLACE FUNCTION ST_LocateBetween(geometry, float8, float8, float8)
 -- LRS with offset parameter
 CREATE OR REPLACE FUNCTION ST_LocateAlong(geometry, float8, float8)
        RETURNS geometry
-       AS $$ SELECT SE_LocateBetween($1, $2, $2) $$
+       AS $$ SELECT ST_LocateBetween($1, $2, $2) $$
        LANGUAGE 'sql' IMMUTABLE STRICT;
 
 
-
 -------------------------------------------------------------------------------
 -- END
 -------------------------------------------------------------------------------
index 6d521f0250a3ffe26e6211e41cb44fb380dae7aa..b3e838ed263b8f2b94fa28fbb55393d621d94e8f 100644 (file)
@@ -125,3 +125,12 @@ DROP FUNCTION IF EXISTS SnapToGrid(geometry, geometry, float8, float8, float8, f
 DROP FUNCTION IF EXISTS SnapToGrid(geometry, float8, float8);
 DROP FUNCTION IF EXISTS transform(geometry,integer);
 
+-- ESRI compatibility functions --
+DROP FUNCTION IF EXISTS SE_Is3D(geometry);
+DROP FUNCTION IF EXISTS SE_IsMeasured(geometry);
+DROP FUNCTION IF EXISTS SE_Z(geometry);
+DROP FUNCTION IF EXISTS SE_M(geometry);
+DROP FUNCTION IF EXISTS SE_LocateBetween(geometry, float8, float8);
+DROP FUNCTION IF EXISTS SE_LocateAlong(geometry, float8);
+DROP FUNCTION IF EXISTS SE_EnvelopesIntersect(geometry,geometry);
+DROP FUNCTION IF EXISTS SE_AsShape(geometry);