我有一个算法可以检查我选择的城市周围 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/