我有点(x,y)的数组,我需要减少多边形的点。
我想使用Simplify.js(它结合了Douglas-Peucker)。
但是我有问题:

let test =
[ { x: 33.56257055900005, y: 44.83995926300003 },
                    .....
                    ..... more than 7k points
  { x: 33.56257055900005, y: 44.83995926300003 } ];

let simplified = simplify(test, 1, true);


总是返回2分(第一和最后)。

https://www.npmjs.com/package/simplify-js
http://mourner.github.io/simplify-js/

什么是行不通的?

最佳答案

首先,删除测试的最后一点以将多边形转换为折线,然后平衡您的tolerance。如果您的坐标在地球上,则1表示至少50英里(80公里)!!!
尝试0.001的容差

let simplified = simplify(test, 0.001, true);

关于javascript - simple-js包。总是返回2点多边形,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52925419/

10-09 22:21