[postgis-users] Re: Re: Problem in Polygon-to-Polygon Intersection

myunghwa Hwang mhwang4 at uiuc.edu
Thu Feb 15 12:45:52 PST 2007


Thank you very much, Steve!
Your advice worked!!!
But, since I needed polygons, not multipolygon, I used your tip like  
this:
It's a little long sql, but for me it's easy to understand.

BEGIN;
-- CREATE TEMP TABLE CONTAINING ALL RESULTS DIRECT INTERSECTION
CREATE TABLE TEMP_INTER WITH OIDS AS
SELECT INTERSECTION(A.THE_GEOM, B.THE_GEOM) AS THE_GEOM
FROM BOUNDARY_1990 A, BOUNDARY_2000 B
WHERE INTERSECTS(A.THE_GEOM, B.THE_GEOM);
-- CREATE A REAL TABLE CONTAINING ONLY POLYGON GEOMETRIES IN TEMP TABLE
CREATE TABLE INT_90_00 WITH OIDS AS
SELECT THE_GEOM AS THE_GEOM FROM TEMP_INTER
WHERE GEOMETRYTYPE(THE_GEOM) = 'POLYGON';
-- INSERT THE OTHER POLYGONS FROM GEOMETRYCOLLECTION
INSERT INTO INT_90_00 (THE_GEOM)
SELECT GEOM1 FROM
(SELECT (DUMP(THE_GEOM)).GEOM AS GEOM1 FROM TEMP_INTER
WHERE GEOMETRYTYPE(THE_GEOM) = 'GEOMETRYCOLLECTION') AS FOO
WHERE GEOMETRYTYPE(GEOM1) = 'POLYGON';
-- DROP TEMPORARY TABLE
DROP TABLE TEMP_INTER;
END;

from Myunghwa Hwang







More information about the postgis-users mailing list