選択した一連の都市から最も近い都市を取得する必要があります。
当社には子会社のリストがあります (私の国では約 100 社)。1日に約3000件のリクエストがあります。この要求は、(地理的な距離によって) 子会社に割り当てる必要があります。
これを行うための API はありますか?
(Java) GoogleMaps API または同様の Web サービスが最適です。
敬具、クリスチャン。
選択した一連の都市から最も近い都市を取得する必要があります。
当社には子会社のリストがあります (私の国では約 100 社)。1日に約3000件のリクエストがあります。この要求は、(地理的な距離によって) 子会社に割り当てる必要があります。
これを行うための API はありますか?
(Java) GoogleMaps API または同様の Web サービスが最適です。
敬具、クリスチャン。
私がすることは、地理的な距離に基づいて子会社のボロノイ図を作成し、その図をコードで使用できる形式で保存することです。次に、各リクエストを含むセルを探します。これにより、どの子会社が最も近いかがわかります。
本当に正確にしたい場合は、OSM の道路網を使用して、単なる地理的な距離ではなく、運転距離に基づいて図を作成できます。
少し古い質問で、答えが遅すぎるかもしれません。
絶対的な精度が本質ではない速度の問題の適切な近似値は、点 (ここで最も近い子会社を見つけるために必要な点) の周りに長方形を描くことです。その長方形には、ネイティブに NE と SW の座標境界 (または NW/SE) があります。
最も近い子会社を見つけるには、NE 座標が長方形の座標よりも「小さく」、SW 境界の座標よりも「大きい」ものをすべて見つける必要があります。
「多い」と「少ない」を引用しているのは、地球上のどこにいるかによって意味が異なる可能性があるためです。
数年前に自分の必要に応じてhttps://github.com/grumlimited/geocalcを書きました。「BoundingArea」という名前に関するセクションを見てください。