我有GPS坐标(纬度经度)的冲击我想要创建组,每个组将包含相同半径的坐标,iam使用此代码获得2点之间的距离: -
float radius = (float) 1000.0;
float distance = loc.distanceTo(loc2);
if (distance < radius)
Toast.makeText(getApplicationContext(), "inside", Toast.LENGTH_LONG).show();
}
但是使用这段代码我需要将每个坐标与其余坐标进行比较以检查哪一个最接近,哪个看起来不够,还有其他方法吗?
提前致谢
答案 0 :(得分:0)
另一种方法是使用地理空间索引,例如quad tree
在这种情况下,您首先要计算哪些四边形单元在半径范围内,然后您只考虑该单元格内的点。
但这是一些编程,搜索和理解工作,所以在对所有点进行强力搜索时要使用这样的索引。