I have a polygon (or let's call it just a series of points). I want to simplify it (reduce the amount of points) to a given number of points.

Currently I use Douglas Peucker and try to guess the correct epsilon. That works more or less (I get approximately the given amount of points). The biggest problem is, that I have to call DP over and over again. Since I want to massively reduce the points, e.G. from 10.000s to 30 the process is a bit frustrating.

So I thought, that I might create my own version of DP, were I stop when I reach the amount of points I am looking for. Are there any existing or maybe better solutions available?

  • approximately how many points would you want to reach at the end of the process ? Are you still far from the extent rectangle of your polygon. – radouxju May 17 '16 at 13:59
  • Visvalingam's algorithm suits probably better for your use case. An interactive example is at bost.ocks.org/mike/simplify – user30184 May 17 '16 at 14:01
  • @radouxju Well I reach the desired amount of points. But I have to rerun DP quite often. Therefore, I am looking for a better solution, since I want to calculate the simplification more or less efficient. – Robin May 17 '16 at 14:05
  • @user30184 Thanks yes, you might be right. Adapting the Visvalingam to stop when a given node count is reached would be easier. – Robin May 17 '16 at 14:12
  • That simplify is huge... you may want to use a topological simplification with postgis topology for example.... strk.kbt.io/blog/2012/04/13/… – WKT May 17 '16 at 14:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.