>  기사  >  데이터 베이스  >  다음은 스타일과 초점이 ​​다양한 몇 가지 제목 옵션입니다. **직접적이고 유익한 내용:** * **MySQL을 사용하여 반경 내 위치를 찾는 방법: 향상된 쿼리** * **정확한 위치정보 검색

다음은 스타일과 초점이 ​​다양한 몇 가지 제목 옵션입니다. **직접적이고 유익한 내용:** * **MySQL을 사용하여 반경 내 위치를 찾는 방법: 향상된 쿼리** * **정확한 위치정보 검색

Susan Sarandon
Susan Sarandon원래의
2024-10-26 09:44:03779검색

Here are a few title options, varying in style and focus:

**Direct & Informative:**

* **How to Find Locations Within a Radius Using MySQL: An Improved Query**
* **Accurate Geolocation Search in MySQL: A Query for Finding Locations Within a Radius**

**Q

반경 내 위치를 찾는 MySQL 쿼리

지정된 반경 내 위치를 검색하는 쿼리는 지리공간 데이터를 처리할 때 사용됩니다. 이 경우 지정된 위도 및 경도에서 반경 25마일 내의 모든 행을 검색하려면 쿼리가 필요합니다. 그러나 원래 쿼리는 모든 행에 대해 정확한 결과를 반환하지 않았습니다.

향상된 쿼리

향상된 쿼리는 더 정확한 수식을 사용하여 계산을 수행함으로써 잘못된 결과를 제거합니다. 행 사이의 거리:

SELECT
    `id`,
    (
        6371 *
        acos(
            cos( radians( :lat ) ) *
            cos( radians( `lat` ) ) *
            cos(
                radians( `long` ) - radians( :long )
            ) +
            sin(radians(:lat)) *
            sin(radians(`lat`))
        )
    ) `distance`
FROM
    `location`
HAVING
    `distance` < :distance
ORDER BY
    `distance`
LIMIT
    25

설명

  • acos( ... ) 공식은 두 위도-경도 지점 사이의 각도를 계산합니다.
  • 이 각도에 6371을 곱하면 결과가 마일로 변환됩니다.
  • 결과 거리는 거리 열에 저장됩니다.
  • 거리가 지정된 값보다 작은 모든 행이 선택됩니다.

매개변수

  • :lat 및 :long은 중심점의 위도와 경도입니다.
  • :거리는 원하는 값입니다. 반경(마일).

이 향상된 쿼리를 사용하면 지정된 반경 내의 모든 행을 정확하게 검색할 수 있으므로 원래 쿼리에 표시된 잘못된 결과가 제거됩니다.

위 내용은 다음은 스타일과 초점이 ​​다양한 몇 가지 제목 옵션입니다. **직접적이고 유익한 내용:** * **MySQL을 사용하여 반경 내 위치를 찾는 방법: 향상된 쿼리** * **정확한 위치정보 검색의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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