>데이터 베이스 >MySQL 튜토리얼 >MySQL에서 두 지리적 좌표 사이의 거리를 계산하는 방법은 무엇입니까?

MySQL에서 두 지리적 좌표 사이의 거리를 계산하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-15 16:45:18228검색

How to Calculate the Distance Between Two Geographic Coordinates in 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.