집 >데이터 베이스 >MySQL 튜토리얼 >MySQL에서 두 지리적 좌표 사이의 거리를 계산하는 방법은 무엇입니까?
위도와 경도를 사용하여 MySQL에서 지리 좌표 간 거리 확인
귀하의 쿼리는 구면 코사인 법칙 공식을 사용하여 한 지점 사이의 거리를 계산합니다. 그리고 다른 모든 것. 두 특정 지점 사이의 거리를 찾으려면 다음과 같이 쿼리를 수정하세요.
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;
이 쿼리는 두 도시(3과 7)에 대한 좌표 쌍을 검색하고 수식을 적용하여 거리를 킬로미터 단위로 계산합니다.
가까운 지점의 경우 속도가 느려질 수 있으므로 거리 기반 필터를 사용하지 마세요. 대신 http://www.plumislandmedia.net/mysql/haversine-mysql-nearest-loc/.
최신 솔루션(2022)
최신 기술을 따라가려면 다음 단축어를 사용해 보세요. 코드:SELECT ST_Distance_Sphere( point(-87.6770458, 41.9631174), point(-73.9898293, 40.7628267))이 쿼리는 ST_Distance_Sphere() 함수를 사용하여 두 점 사이의 거리를 계산합니다.
위 내용은 MySQL에서 두 지리적 좌표 사이의 거리를 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!