Fixing invalid geometries
You will often find invalid geometries in your PostGIS database. These invalid geometries could compromise the functioning of PostGIS itself and any external tool using it, such as QGIS and MapServer. PostGIS, being compliant with the OGC Simple Features Specification, must manage and work with valid geometries.
Luckily, PostGIS 2.0 offers you the ST_MakeValid
function that, together with the ST_IsValid
, ST_IsValidReason
, and ST_IsValidDetails
functions, is the ideal toolkit for inspecting and fixing geometries within the database. In this recipe, you will learn how to fix a common case of invalid geometry.
Getting ready
Unzip the data/TM_WORLD_BORDERS-0.3.zip
file into your working directory—working/chp3
. Import the shapefile in PostGIS with the shp2pgsql
command, as follows:
$ shp2pgsql -s 4326 -g the_geom -W LATIN1 -I TM_WORLD_BORDERS-0.3.shp chp03.countries > countries.sql $ psql -U me -d postgis_cookbook -f countries.sql
How to do it...
The steps you need to...