I glossed over the difficulties of finding the centerline of a complex polygon in the last couple of posts, and didn’t realize the disservice until we got to the nitty-gritty of finding the centerline of “bumpy” streams, for which our solution, which is arguably a discretized version of the traditional medial axis, is quite sensitive to noise and “bumpiness”.
With a little more googling, my collegue T. Kraft found Bálint Miklós site describing The Scale Axis Transform, an alternate technique that is not sensitive to noise, but looks at the importance factor of a feature to control whether we show an axis for it, e.g.:
Notice how many “extra” lines we have in the initial medial axis? The scale axis transform really helps in trimming these out. There are some really well done videos describing this process conceptually for both the 2D case and the 3D case.
We’ll see if we can implement an approximation of this technique in PostGIS.