]> granicus.if.org Git - postgis/commitdiff
Change face.mbr field from BOX2D to GEOMETRY, and gist-index it, closes ticket #800...
authorSandro Santilli <strk@keybit.net>
Fri, 28 Jan 2011 08:55:22 +0000 (08:55 +0000)
committerSandro Santilli <strk@keybit.net>
Fri, 28 Jan 2011 08:55:22 +0000 (08:55 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@6747 b70326c6-7e19-0410-871a-916f4a2858ee

topology/sql/populate.sql
topology/test/regress/addface.sql
topology/topology.sql.in.c

index 1e124ac7513cbe0d490caab633759821932ec064..33a16adb0902f2acbd5ed188ee8f02f2a6c8dec9 100644 (file)
@@ -523,7 +523,7 @@ BEGIN
                -- face_id
                || faceid || ','
                -- minimum bounding rectangle
-               || quote_literal(Box2d(apoly))
+               || quote_literal(ST_Envelope(apoly)::text)
                || ')';
 
        --
index 2506f23d691c45b7fd4e8c2d7518084d5a186952..4f5ce915b1548440a2ca55562a975116d7c96fc2 100644 (file)
@@ -35,7 +35,7 @@ SELECT 'f1*',  topology.addFace('tt', 'POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))');
 SELECT 'f2',  topology.addFace('tt', 'POLYGON((10 10, 20 10, 20 0, 10 0, 10 10))');
 
 -- Check added faces
-SELECT face_id, mbr from tt.face ORDER by face_id;
+SELECT face_id, Box2d(mbr) from tt.face ORDER by face_id;
 
 -- Check linking
 SELECT edge_id, left_face, right_face from tt.edge ORDER by edge_id;
index 998e5525411b9a128dd5088baabd3fb7f0e9e53a..4b5d6537cfdd8b1ed2810e37a61546ef0d7bbea2 100644 (file)
@@ -1623,9 +1623,15 @@ CREATE SCHEMA '' || quote_ident(atopology) || '';
        EXECUTE 
        ''CREATE TABLE '' || quote_ident(atopology) || ''.face (''
        || ''face_id SERIAL,''
-       || ''mbr BOX2D,''
        || '' CONSTRAINT face_primary_key PRIMARY KEY(face_id)''
        || '');'';
+
+       -- Add mbr column to the face table 
+       EXECUTE
+       ''SELECT AddGeometryColumn(''||quote_literal(atopology)
+       ||'',''''face'''',''''mbr'''',''||quote_literal(srid)
+       ||'',''''POLYGON'''',''''2'''')'';
+
        -------------} END OF face CREATION
 
 
@@ -1782,6 +1788,11 @@ CREATE SCHEMA '' || quote_ident(atopology) || '';
        ------- Default (world) face
        EXECUTE ''INSERT INTO '' || quote_ident(atopology) || ''.face(face_id) VALUES(0);'';
 
+       ------- GiST index on face
+       EXECUTE ''CREATE INDEX face_gist ON ''
+               || quote_ident(atopology)
+               || ''.face using gist (mbr gist_geometry_ops);'';
+
        ------- GiST index on node
        EXECUTE ''CREATE INDEX node_gist ON ''
                || quote_ident(atopology)