【发布时间】:2023-03-16 01:52:01
【问题描述】:
问题:我有很多点 a、b、c、d 的(经纬度)坐标。 . .在数据库中。 现在,当我选择点 a 时,我需要计算点 a 与其他每个点的距离,并获得最近的点,例如。此数学需要对点进行 cos 和 tan 计算。所以这在数据库方面似乎相当昂贵。
所以我想了一个策略来简化这个。下面是策略的解释。
我有 3 个已知点 (x, y, z) 一个点到另一个点之间的距离是已知的。对于此示例,假设为 10。即从 x 到 y = 10 的距离; y 到 z = 10; z 到 x = 10。(这形成一个等边三角形。但实际情况可能并非如此)
现在假设我们有两个点 a 和 b。我们计算点 a 到 x、y 和 z 的距离并分别存储和存储点 b。 (比如应用逻辑)
所以我们有:
- 对于 a 点:Ax、Ay 和 Az
- 对于点 b:Bx、By 和 Bz
至于策略,问题是我们如何计算点 a 到点 b 之间的距离。
至于问题本身,如果我将上述策略应用于我的问题,问题是我是在简化还是使情况复杂化?
提前感谢您的回答。
【问题讨论】:
-
我会说你把情况复杂化了。如果您在 3d 坐标系中有点,只需使用 pythagoras 进行距离计算,然后在距离列表中搜索最近的点。
-
计算 2 个二维点之间的距离非常简单,甚至不需要 cos/sin。 d = sqrt (Xd^2 + Yd^2)
-
@popovitsj 我应该更具体地了解纬度和经度的坐标。这就是为什么我担心使用三角函数。