2017-08-11 9 views
1

私は緯度と経度の配列と中心点を持っています。特定の範囲内の近くの場所を取得するには?

{ 
    center: { 
    lat: 10.002, 
    lng: 20.003 
    }, 
    all: [ 
    { 
     lat: 20, 
     lng: 50 
    }, 
    { 
     lat: 10, 
     lng: 20.000001 
    }, 
    // ... 
    ] 
} 

私は10kmまたは他の特定の範囲で近くの場所を取得する方法を知りたいと思います。これを行うのに役立つキーワードやライブラリはありますか?

答えて

0

geohashを使用できます。
標準のgeohashは、ハッシュが場所を表しているので、あなたの精度に基づいて特定のマスクでハッシュでグループ化できるので、良い出発点を与えることができます。
https://en.wikipedia.org/wiki/Geohash

この方法は単純であり、そこには多くのライブラリがあります。
でもありますが、ポール歪みやエッジケースも発生します。 https://github.com/linehrr/geohash
欠点は精度が事前に決定されるということですので、それは直線的ではないですので、マスキングは動作しません。

は、しかし、私はそれらの問題を解決するための代替アルゴリズムを実装しています。

これが役に立ちます。

関連する問題