【发布时间】:2018-07-23 00:10:26
【问题描述】:
我正在尝试构建路线优化软件,并且我正在使用 openstreetmaps 作为界面。我在后端有一个节省算法的实现,它有助于确定进行一系列交付的最佳路线。
我遇到的问题是在地图上点击的地方返回的一些坐标是错误的。假设我必须在 2 个不同的地方送货。这两个地方的坐标加上我开始和完成后返回的位置应该形成一个三角形。有时返回的坐标可能非常错误,以至于违反了三角不等式定理。
我一直在阅读 Skiena 的算法设计手册,并且想知道,给定一对错误的坐标,是否可以使用所讨论的任何技术(凸壳、Voronoi 图、Delaunay 三角剖分等)来确定最可能的正确坐标,例如不违反三角不等式定理?
谢谢
【问题讨论】:
-
我看不出三角不等式在欧几里得平面上怎么可能是错误的。请更准确。
-
谢谢 S. Huber。比较。 Geo对我来说是陌生的,所以请耐心等待。该定理指出,任何 2 条边之和应大于第 3 条边。有时,当我在地图上选择 3 个点并将它们提供给谷歌距离矩阵 api 时,我会对它们执行计算,从其他两个点的总和中减去一个距离。我有时会得到一个不应该的结果。这似乎源于返回的一些坐标是错误的。我正在处理肯尼亚的 openstreetmaps 数据,我可以清楚地看到其中一些是错误的。
-
一些更偏东的点的经度小于一些在其西边的点。这显然是错误的。我认为这就是导致违反三角不等式定理的原因。我得到的结果表明要么是一个不完整的三角形,要么是一个三角形,其边长得像桅杆上的三角形旗帜。
-
我仍然无法关注,因为我缺少详细信息。你能举一个违反三角不等式的具体例子吗?
-
你不是穿越格林威治子午线吗?
标签: computational-geometry convex-hull voronoi delaunay