Book Image

PostGIS Cookbook

Book Image

PostGIS Cookbook

Overview of this book

Table of Contents (18 chapters)
PostGIS Cookbook
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Improving ST_Polygonize


In this short recipe, we will be using a common coding pattern, in use when geometries are being constructed with ST_Polygonize, and formalizing it into a function for re-use.

ST_Polygonize is a very useful function. Pass a set of "unioned" lines or an array of lines to ST_Polygonize, and the function will construct polygons from the input. ST_Polygonize does so aggressively insofar as it will construct all possible polygons from the inputs. One frustrating aspect of the function, however, is that it does not return a multipolygon, but instead returns a GeometryCollections. GeometryCollections can be problematic in third-party tools for interacting with PostGIS as so many third-party tools don't have mechanisms in place for recognizing and displaying GeometryCollections.

The pattern we will formalize here is the commonly recommended approach for changing GeometryCollections into mulipolygons when it is appropriate to do so. This approach will be useful not only for...