Changes between Version 2 and Version 3 of UsersWikiSplitPolygonWithLineString


Ignore:
Timestamp:
Apr 6, 2015, 2:52:13 PM (9 years ago)
Author:
Mike Taves
Comment:

Mention ST_Split at top, add 'ST_SplitPolygon' function

Legend:

Unmodified
Added
Removed
Modified
  • UsersWikiSplitPolygonWithLineString

    v2 v3  
     1'''Note:''' As of PostGIS 2.0, [http://postgis.net/docs/ST_Split.html ST_Split] returns a collection of geometries resulting by splitting a geometry.
     2
    13= Split Polygon With Line String =
    24
     
    145147
    146148Yo!Zik
     149
     150== Function: ST_SplitPolygon ==
     151For versions of PostGIS before 2.0, a custom function can be used to split polygons using a linestring.
     152{{{
     153CREATE OR REPLACE FUNCTION ST_SplitPolygon(poly geometry, blade geometry)
     154  RETURNS geometry AS
     155'SELECT ST_Polygonize(ST_Union(ST_Boundary($1), $2))' LANGUAGE sql IMMUTABLE STRICT COST 100;
     156}}}
     157For example:
     158{{{
     159SELECT ST_AsText(ST_SplitPolygon(circle, line)) result
     160FROM (SELECT
     161    ST_MakeLine(ST_MakePoint(10, 10),ST_MakePoint(190, 190)) line,
     162    ST_Buffer(ST_GeomFromText('POINT(100 90)'), 50) circle) f;
     163
     164           result
     165-----------------------------------------
     166GEOMETRYCOLLECTION(
     167  POLYGON((150 90,...,150 90)),
     168  POLYGON((60.1371179574584 60.1371179574584,...,60.1371179574584 60.1371179574584)))
     169}}}