MapAPIから緯度・経度情報をとってくるのは簡単です。
一方でMAPAPI単体ではN km内にOOな業態の店があるか
を調べるのは少し難しく思えます。 今回は十分に小さい(大体10km以内)であれば緯度経度情報だけで簡単な式で範囲内検索を行えることを紹介していこうと思います。
緯度経度についてですがkm換算した場合には5km程度では誤差の範囲に収まると考えています。
wikipediaによると地球の扁平率は1/300であり、これをもとに地球を真円(球)と仮定したときに出る実際の位置との誤差は1kmあたり3m程度であり5km程度の範囲であれば十分に無視できる誤差であるといえるだろう。そのため、今回は地球のゆがみについて考慮せずに議論を行うことができる。
-
調べたいもののざっくりとした緯度経度情報を取得する。
例えば、Nkm県内には何市と何市が含まれるのでそれぞれの市内の〇〇業態の住所のリストからGoogleMapAPI等で緯度経度情報を調べCSVなどにまとめる。 -
1kmあたりに増える緯度経度は(赤道半径をもとに計算すると)約0.010966(°)とわかる。ので基準の場所の緯度経度を(X,Y)対象の緯度経度を(x,y)とすると以下の式を満たしている場合に条件が満たされていることがわかる。
(x-X)^2+(y-Y)^2 =< 0.0030063289