MySQL で緯度と経度を使用して点間距離を計算する
多くの場合、緯度と経度に基づいて 2 つの場所間の距離を決定することが必要になります。経度座標。これは、近くの施設の検索や移動距離の計算など、多くのシナリオで一般的なタスクです。この距離を正確に計算するために、MySQL は強力なソリューションを提供します。都市名、緯度、経度の値を含むテーブルがあるシナリオを考えてみましょう。-------------------------------------------- | id | city | Latitude | Longitude | -------------------------------------------- | 1 | 3 | 34.44444 | 84.3434 | -------------------------------------------- | 2 | 4 | 42.4666667 | 1.4666667 | -------------------------------------------- | 3 | 5 | 32.534167 | 66.078056 | -------------------------------------------- | 4 | 6 | 36.948889 | 66.328611 | -------------------------------------------- | 5 | 7 | 35.088056 | 69.046389 | -------------------------------------------- | 6 | 8 | 36.083056 | 69.0525 | -------------------------------------------- | 7 | 9 | 31.015833 | 61.860278 | --------------------------------------------
SELECT a.city AS from_city, b.city AS to_city, 111.111 * DEGREES(ACOS(LEAST(1.0, COS(RADIANS(a.Latitude)) * COS(RADIANS(b.Latitude)) * COS(RADIANS(a.Longitude - b.Longitude)) + SIN(RADIANS(a.Latitude)) * SIN(RADIANS(b.Latitude))))) AS distance_in_km FROM city AS a JOIN city AS b ON a.id <> b.id WHERE a.city = 3 AND b.city = 7
select ST_Distance_Sphere( point(-87.6770458, 41.9631174), point(-73.9898293, 40.7628267))
以上がMySQL で緯度と経度を使用して 2 つの場所間の距離を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。