ユーザーの地理位置情報を検出し、mySQL データベースにクエリを実行し、たとえば 5 キロメートル以内にあるすべてのバス停を返す基本的な Web アプリケーションを作成しようとしています。
経度と緯度を含む GTFS フィードが mySQL データベースに挿入され、Web アプリケーションにアクセスするブラウザーの経度と緯度を提供する HTML ページの例を見つけました。
この情報を取得して結果を返す mySQL クエリを作成するための助けを求めています。
ユーザーの地理位置情報を検出し、mySQL データベースにクエリを実行し、たとえば 5 キロメートル以内にあるすべてのバス停を返す基本的な Web アプリケーションを作成しようとしています。
経度と緯度を含む GTFS フィードが mySQL データベースに挿入され、Web アプリケーションにアクセスするブラウザーの経度と緯度を提供する HTML ページの例を見つけました。
この情報を取得して結果を返す mySQL クエリを作成するための助けを求めています。
大円の公式は正確ですが、この場合は正確である必要はありません。1 分間の緯度は約 1 マイル (1.6 km) です。1 分間の経度は約 cos(LAT)*1 マイルです。LAT +/- 3 分と LONG +/- (3/cos(LAT)) 分のボックスを選択することを検討します。箱ではなく円が本当に必要な場合は、ユークリッド座標のふりをしてください。このスケールのエラーは、バスの長さよりも小さくなります。
唯一の注意点は、赤道からの距離によって経度の 1 分の長さが異なることです。
このリンクには次のものがあります。
SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin( radians( lat ) ) ) ) AS 距離 FROM マーカー HAVING 距離 < 25 ORDER BY 距離 LIMIT 0 , 20;