What is the center line of a complex polygon? Routing Stream and Rivers

Continuing my posts on the centerline of a complex polygon (you can work your way backward from here), here’s it’s application to a riverine system (legend: light blue river, black centerline derived from routing through the skeleton of voronoi polygons from a densified stream bank set + the skipped skeleton bits in pink– read through the series if you if you don’t grok that explaination):

12 thoughts on “What is the center line of a complex polygon? Routing Stream and Rivers

  1. I had to this for a job one time and found a nice ArcGIS model (ArcInfo required). Clever way of using Thiessen Polygons to do the job, am guessing the workflow is pretty similar to yours:
    http://resources.arcgis.com/gallery/file/geoprocessing/details?entryID=EF0C96FF-1422-2418-7F9F-B0A8839FC796

    I also used FME and worked pretty well too, from what I remember too ET GeoWaizards a create centerline tool.

    It would be really cool if you could do all of this in PostGIS.

      1. Depending on how you densify, it may take a long time to finish the process especially if you have lots of features. After the trimming of the skeletons, unsplitting the lines and applying a threshold minimum length helps in cleaning further the lines and also creates line segments according to line intersections. You still have to make some manual edits but it helps a lot in minimizing the worload.

  2. Are you able to provide the methodology for this process? We are trying to do something very similar for remote sensing application

      1. We’re doing rapid characterization of river widths across large areas. Input is a binary river mask, but we need to compute centerlines initially.

  3. It is possible to achieve it, on PostgresGis, with one of the options of the free tool geom8tricks. With the PolygonsToLines option, once you select the origin polygons and the destination Database connection has been correctly configured, you get the line objects, centered on the polygons . The program does it in two stages, in a first one it obtains the decomposition of the polygon in lines, by means of st_skeleton function.
    In a second stage, the tool selects the longest line of all those that make up the object.
    The problem of intersections is solved whenever there is a primary key column in the origin polygons, which allows to distinguish between the objects that intersect

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.