Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I would like to simplify some polygons that represent rivers into linestrings. I assume that holes in polygons can be omitted. Anybody has some good idea how to simply do it?

It would be nice, if it was possible to be done directly in postgis or by another open source tool, but brief algorithm description will be sufficient.

share|improve this question
up vote 12 down vote accepted

What you need is called "skeletisation algorithm".

Have a look at this article:

Haunert, J.-H., Sester, M., Jun. 2008. Area collapse and road centerlines based on straight skeletons. GeoInformatica 12 (2), 169-191. URL

Some of these algorithms are developped in the CGAL library.

share|improve this answer
Neither link works any more, Julien: do you think you could supply a summary of the algorithms or at least formal references to allow people to look up the papers? – whuber Aug 5 '13 at 20:35
Yes, I have updated the answer with a proper reference to a more recent article. – julien Aug 5 '13 at 20:50
Thank you! (Can't add another upvote though--I only had one to give. :-) – whuber Aug 5 '13 at 20:54

the JUMP skeletonizer plugin is available as part of openjump

share|improve this answer

In PostGIS 2.2 with SFCGAL, this can be done with ST_StraightSkeleton or ST_ApproximateMedialAxis, depending on your criteria.

share|improve this answer

Just as a warning, I've never tried this before. Your success will depend on the quality of the data you currently have.

So, think of the polygon as a strip of triangles. Each triangle connects to a vertex on the opposite side of the corridor with an edge. Now, for each of the edges in the corridor, simply place a vertex right smack in the center. These new vertices are the points of your linestring. You can probably fiddle with how you select the middle point on the edge for greater accuracy.

share|improve this answer

Once again, ET GeoWizards might be the answer. Try the Create Centerlines from Polygons tool.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.