我正在做一个项目,我必须保存点之间的距离,我有一个 api 来获取点之间的距离,但问题是如何将它们保存在 MySql 中。就像我有 3 个点,那么我必须将每个点与其余所有点的距离保存到数据库中。
为此,我可以简单地制作一个 n 列和 n 行的表格,并像这样保存距离:
| | a | b | c |
---------------
|a| 0 | 6 | 8 |
|b| 6 | 0 | 5 |
|c| 8 | 5 | 0 |
但问题是我的点数将来也会增加,在那种情况下我将不得不添加额外的列,这不是一个好的做法。
有什么好的方法吗?
最佳答案
在 Cartesian space 中存储为点,如果是二维,则为 (x,y),如果是三维,则为 (x,y,z)。然后您可以创建一个简单的算法来在需要时计算距离数组。所以表结构变成:
点标签
x坐标
y坐标
这将是完全可扩展的并且非常灵活。例如,您可以通过 b 计算点 a 到 z 的距离。
关于mysql - SQL表创建以节省多点之间的距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46246502/