[postgis-commits] svn - r2731 - trunk/lwgeom

postgis-commits at postgis.refractions.net postgis-commits at postgis.refractions.net
Thu Jan 17 17:05:30 PST 2008


Author: benjubb
Date: 2008-01-17 17:05:30 -0800 (Thu, 17 Jan 2008)
New Revision: 2731

Modified:
   trunk/lwgeom/lwpostgis.sql.in
Log:
Added new function wrappers to expose prepared geometry predicates:
ST_ContainsPrepared( geometry, geometry )
ST_ContainsProperlyPrepared( geometry, geometry )
ST_CoversPrepared( geometry, geometry )
ST_IntersectsPrepared( geometry, geometry )

as well, this function was added, for orthogonality:
ST_ContainsProperly( geometry, geometry )




Modified: trunk/lwgeom/lwpostgis.sql.in
===================================================================
--- trunk/lwgeom/lwpostgis.sql.in	2008-01-18 01:04:18 UTC (rev 2730)
+++ trunk/lwgeom/lwpostgis.sql.in	2008-01-18 01:05:30 UTC (rev 2731)
@@ -4632,6 +4632,70 @@
     LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable);
 
 -----------------------------------------------------------------------
+-- Prepared Geometry Predicates
+-- requires GEOS 3.2.0-CAPI-1.5.0
+-----------------------------------------------------------------------
+	
+CREATEFUNCTION _ST_ContainsPrepared(geometry,geometry)
+    RETURNS boolean
+    AS '@MODULE_FILENAME@','containsPrepared'
+    LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable);
+
+-- Availability: 1.3.3
+-- Inlines index magic
+CREATEFUNCTION ST_ContainsPrepared(geometry,geometry)
+    RETURNS boolean
+    AS 'SELECT $1 && $2 AND _ST_ContainsPrepared($1,$2)'
+    LANGUAGE 'SQL' _IMMUTABLE; -- WITH (iscachable);
+
+	
+CREATEFUNCTION _ST_ContainsProperlyPrepared(geometry,geometry)
+    RETURNS boolean
+    AS '@MODULE_FILENAME@','containsProperlyPrepared'
+    LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable);
+
+-- Availability: 1.3.3
+-- Inlines index magic
+CREATEFUNCTION ST_ContainsProperlyPrepared(geometry,geometry)
+    RETURNS boolean
+    AS 'SELECT $1 && $2 AND _ST_ContainsProperlyPrepared($1,$2)'
+    LANGUAGE 'SQL' _IMMUTABLE; -- WITH (iscachable);
+
+	
+-- Availability: 1.3.3
+-- Added for completeness, and to make testing ST_ContainsProperlyPrepared easier
+CREATE OR REPLACE FUNCTION ST_ContainsProperly(geometry,geometry)
+    RETURNS boolean
+    AS 'SELECT $1 && $2 AND ST_relate($1,$2,''T**FF*FF*'')'
+    LANGUAGE 'SQL' IMMUTABLE; 
+
+	
+CREATEFUNCTION _ST_CoversPrepared(geometry,geometry)
+    RETURNS boolean
+    AS '@MODULE_FILENAME@','coversPrepared'
+    LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable);
+	
+-- Availability: 1.3.3
+-- Inlines index magic
+CREATEFUNCTION ST_CoversPrepared(geometry,geometry)
+    RETURNS boolean
+    AS 'SELECT $1 && $2 AND _ST_CoversPrepared($1,$2)'
+    LANGUAGE 'SQL' _IMMUTABLE; -- WITH (iscachable);
+
+	
+CREATEFUNCTION _ST_IntersectsPrepared(geometry,geometry)
+    RETURNS boolean
+    AS '@MODULE_FILENAME@','intersectsPrepared'
+    LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable);
+	
+-- Availability: 1.3.3
+-- Inlines index magic
+CREATEFUNCTION ST_IntersectsPrepared(geometry,geometry)
+    RETURNS boolean
+    AS 'SELECT $1 && $2 AND _ST_IntersectsPrepared($1,$2)'
+    LANGUAGE 'SQL' _IMMUTABLE; -- WITH (iscachable);
+
+-----------------------------------------------------------------------
 -- SVG OUTPUT
 -----------------------------------------------------------------------
 -- Deprecation in 1.2.3



More information about the postgis-commits mailing list