ホームページ >データベース >mysql チュートリアル >PHP で 2 つの郵便番号間の距離を計算するにはどうすればよいですか?
PHP での郵便番号間の距離の計算
2 つの郵便番号間の距離を計算するには、各郵便番号の緯度と経度の情報が含まれるデータベースにアクセスする必要があります。コード。この質問では、MySQL テーブルのデータを使用してこの距離を計算する方法を検討します。
解決策
提案された解決策は、PHP 関数を利用して、指定された 2 点間の距離を計算します。緯度と経度。コードは次のとおりです:
<code class="php">function calc_distance($point1, $point2) { // Constants $radius = 3958; // Earth's radius (miles) $deg_per_rad = 57.29578; // Number of degrees/radian (for conversion) $distance = ($radius * pi() * sqrt( ($point1['lat'] - $point2['lat']) * ($point1['lat'] - $point2['lat']) + cos($point1['lat'] / $deg_per_rad) // Convert to radians for cos() * cos($point2['lat'] / $deg_per_rad) // Convert to radians for cos() * ($point1['long'] - $point2['long']) * ($point1['long'] - $point2['long']) ) / 180); return $distance; // Returned using the units used for $radius. }</code>
USAGE
この関数にはパラメータとして 2 つのデータ ポイント ($point1 と $point2) が必要です。それぞれのデータ ポイントには緯度と経度が含まれています。郵便番号。返される距離は、指定された半径定数と同じ単位になります (この場合はマイル)。
以上がPHP で 2 つの郵便番号間の距離を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。