algorithm - 检查半径城市的算法是否正常工作

标签 algorithm latitude-longitude

我有一个算法可以检查我选择的城市周围 50 公里范围内的城市。它使用纬度和经度,但我不知道它是否正确检查城市,因为我有一个包含澳大利亚许多城市及其经纬度的数据库,我不知道我的代码是否正常工作。我做了很多测试,但速度很慢,而且我无法判断它是否足够准确。

所以我想问:有没有办法检查一下,假设澳大利亚的悉尼,邮政编码为 2000,是否有半径 50 公里范围内的 50 个城市作为邻居。有什么网站之类的吗?有什么吗?

最佳答案

这很容易检查:

假设您的算法通过距离计算来检查城市。

喜欢

if (distance(lat1,lon1,lat2,lon2) < radius) {
  // isInside..
}

然后您只需测试您的距离计算方法是否有效。

可能性:
测试用例:
1)两个纬度点之间的距离:从谷歌地球获取,并与它们的值进行比较,或使用网络服务计算两点之间的距离

2) 测试重叠基准限制(经度 -180/180):限制以西一点:经度 1 -179.0,另一点以东:经度 = 0.0001(应该给出大约 111.0 公里),两者的纬度都 = 0。

关于algorithm - 检查半径城市的算法是否正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24526133/

相关文章:

c++ - 线段树的构建

javascript - 我们如何将纬度和经度转换为网站中的地址?

mysql - 在 MySQL 上查找交叉点位置

c++ - 逐级遍历树找出层次

c++ - 如何判断二进制数的小数部分翻译的准确性?

c++ - Dijikstra计算后如何打印路径?

javascript - 如何在 javascripts 中按经度纬度距离对数组项进行排序?

python - 计算测地网格三角点的经纬度点(最好用python)

r - 在 R 代码中为路段(纬度经度)分配 ID

java - 并行冒泡排序性能