[postgis-users] Bezier or Spline smoothing implementation

Rémi Cura remi.cura at gmail.com
Mon Sep 23 05:54:14 PDT 2013


 Hello,
I don't know if you have a clear theoretical idea of what you want to do.

If you work on roads, maybe you don't want to make them "smooth" but make
them usable by realistic cars (ie no sharp turn, no turn with a radius
minus than XX meters, so on...).

For instance, you could use "coupoundCurve" (ie a mixture of line and
curve) to represent your road, as in this paper (see page 9):
The fitting process is page 10 and straightforward, you could use pure
postgis - pl/pgsql.

Wilkie D., Sewall J., Lin M. C., Lin M. C. « Transforming GIS Data into
Functional Road Models for Large-Scale Traffic Simulation ». *IEEE
Transactions on Visualization and Computer Graphics* [En ligne]. 2012.
Disponible sur : < http://dx.doi.org/10.1109/TVCG.2011.116 >


I'm guessing that depending on the target volume/processing time/result
complexity ,
you can either solve the problem with "mathematical" processing or with an
heuristic

With "mathematical" processing you will consider your linestring as a
multi-segment line, and fit to it a splin/polygon/clothoid/whatever. This
would be easier with PL/R, as the fitting can become complex depending on
the criteria (C1, radius, etc).

with heuristic you will look for places where angles are too sharp and then
correct it using local tricks/postgis curves. This would be easier with
Pl/pgsql

Cheers,
Rémi-C
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20130923/cb806243/attachment.html>


More information about the postgis-users mailing list