algorithm - 如何查找位置点集是否包含距离大于 1 公里的点

标签 algorithm geolocation distance

我有一组用户,每个用户都有一组由经纬度表示的点(n~5000)。 我需要找到静态用户。 “静态”是指没有超过 1 公里的点对的用户。最好的算法是什么?

最佳答案

一组点中任意一对点之间的最大距离称为该组的直径

这是一种基于凸包的高效算法,用于解决此问题:

由于您可能不关心此处的准确性,因此更容易找到所有点的最小和最大纬度和经度,并测试由这些极值定义的框的一侧是否大于某些临界点。假设您不关心北极或南极附近的用户,这是可行的。

关于algorithm - 如何查找位置点集是否包含距离大于 1 公里的点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23639629/

相关文章:

c++ - 在 C++ 中复制和反转 char*

python - 为什么我的埃拉托色尼筛法这么慢?

c# - 如何使用 sharpmap 在地球上渲染一个国家的图像

math - 谷本系数距离测度

android - 如何在 Android 上通过 GPS 跟踪距离?

javascript - 在 Google Maps Javascript API 中将距离转换为英里

c - 平衡且正确书写的表达

java - 深度优先搜索 - 2D 游戏 map

java - 从 Java 中的时区获取纬度和经度

cordova - Phonegap 在应用程序运行时启用 GPS/位置