Hi all,

This is something I have been pondering about for quite some time: would it be technically possible to create an option in the PostGIS "ST_ChaikinSmoothing" function (https://postgis.net/docs/ST_ChaikinSmoothing.html) to skip smoothing near perpendicular 90 degrees angles (e.g. within 85-95 degrees?), or any point who's two connecting segments have a > 90 degree's angle between them (90-180 degree),  and only smooth "sharp" corners of < 90 degrees?

The reason I am asking is that from a cartographer's point of view, you might not wish to have "square" polygons being smoothed, and there is also little sense in smoothing angles that are already "smooth" (> 90 degrees).

E.g., natural forests are usually nice features to smooth, especially after having generalized them which tends to introduce "sharp" corners and spikes in places. On the contrary, artificial or highly managed forest tend to be divided into a "square" sections, that should generally not be smoothed for display in a map.

In addition, although "ST_Subdivide" is generally recommended as the last step in processing, so after a potential smoothing step, there may be technical and performance reasons why one would wish to subdivide earlier in a processing pipeline. If smoothing is subsequently applied to a subdivided dataset, gaps will appear near the perpendicular crosspoints of the horizontal and vertical cutting lines of ST_Subdivide, as these will be smoothed as well.

Of course, this should be an option, not least for the fact that it will likely also slow down the algorithm due to the additional computations to be made.

Marco


_______________________________________________
postgis-users mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/postgis-users

Reply via email to