【发布时间】:2021-03-14 07:44:42
【问题描述】:
假设我有一个带有 IP 地址的位置 A,以及一个带有纬度和经度的地理定位器 API。现在我想查找位置 A 25 英里半径范围内的所有实例。如何以最少的步数计算?
解决方案 A:我可以计算位置 A 与数据库中所有实例之间的所有距离,并显示 25 半径内的实例。 (太慢了,特别是如果我想要一个动态的位置,有一个大型的位置数据库)
解决方案 B:除了 IP 和(纬度,经度)之外,我还可以根据邮政编码对所有实例进行分组。因此需要计算位置 A 和实例之间的距离更少。 (更好,但是如果 IP 地址在另一个邮政编码的边界,这将增加所需的计算量)
解决方案 C:我可以使用三角函数。使用位置 A 的纬度和经度。我可以找到 25 英里半径内的每个实例。
有人可以描述比较距离的更好方法吗?非常感谢您的想法和建议(如果需要进一步解释,请询问)谢谢。
【问题讨论】:
-
也许像 voronoi diagram 这样的地理位置可能会有所帮助?
-
请阅读What topics can I ask about here? 和Welcome to Stack Overflow 介绍导览。 “告诉我如何解决这个编码问题”是off-topic for Stack Overflow。
标签: python algorithm geolocation logic