如何找到所选集合中最近的城市

时间:2012-09-09 02:03:30

标签: java google-maps postgis openstreetmap

我需要从一组选定的城市中获取最近的城市。

我们公司有一份子公司名单(我国约有100家)。我们每天收到大约3000个请求。此请求应分配给子公司(按地理距离)。

是否有API可以执行此操作?

最好的是(java)GoogleMaps API或类似的网络服务。

最诚挚的问候, 基督教。

2 个答案:

答案 0 :(得分:0)

Nominatim获取坐标,应该直接从java应用程序发出请求。 计算每个城市到每个城市的大圆距离。我不得不承认结果可能是300乘300?阵列。但是它可能只包含整数。将其保存在内存中以备将来使用。 找到行或列中编号最小的条目。

答案 1 :(得分:0)

有点老问题,也许你的答案太迟了。

对于速度问题的一个很好的近似,绝对精度并不重要,就是围绕一个点绘制一个矩形(这里需要找到最近的子公司)。该矩形本身具有NE和SW坐标边界(或NW / SE)。

要找到最近的子公司,需要找到所有NE坐标为" less"而不是矩形和"更多"而不是SW边界。

我在引用"更多"和"少"因为它们可能根据你到底在哪里而有所不同。

几年前,我为自己的需要写了https://github.com/grumlimited/geocalc。看一下有关名称" BoundingArea"。

的部分