gpt4 book ai didi

javascript - 折线简化

转载 作者:行者123 更新时间:2023-12-03 02:08:06 25 4
gpt4 key购买 nike

我试图理解this代码。

我的理解是,代码尝试根据公差细化几何形状。基本上它检查两点之间的距离是否小于公差,并相应地保留/删除点。

不过我有一个疑问。点采用经纬度格式。该代码只是计算欧几里得距离的平方(我们都知道的简单平方公式)。这不是一种错误的方法吗,因为基于经纬度的距离与欧几里德距离不同?

二、公差的单位是什么?在此test ,使用容差值 5。这个值在这里如何体现?

最佳答案

What I understand is that code tries to refine the geometry based on tolerance. Basically it checks if distance between two points is less than tolerance or not, and retains/removes the points accrdingly.

是的,这是第一步,在第二步中,它尝试找到(基本上)对齐的连续行并将它们合并。

I have a query though. Points are in lat-long format. Code simply calculates square of the Euclidean distance(simple square formula we all know). Isn't this a wrong approach as lat-long based distance are different from Euclidean distance?

(c) 2017, Vladimir Agafonkin
Simplify.js, a high-performance JS polyline simplification library

该代码并未声称适合经纬度坐标。虽然它们看起来像 2d 坐标,但它们代表 3d 空间中的点;我不认为代码是为此而编写的。

另一方面,将其重写为 3d 空间应该不会太复杂。然后您所要做的就是将您的经纬度点转换为 3d 坐标

Second, what is the unit of tolerance? In test, tolerance value of 5 is used. How does this value fit in here?

像素、英里,并不重要。与您通过的分数相同的单位。

关于javascript - 折线简化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49716160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com