>백엔드 개발 >Golang >위도/경도 지점이 지역 내에 있는지 확인

위도/경도 지점이 지역 내에 있는지 확인

WBOY
WBOY앞으로
2024-02-06 09:24:091059검색

위도/경도 지점이 지역 내에 있는지 확인

질문 내용

한 쌍의 위도/경도 좌표가 (다른 위도/경도 좌표에서 생성된) 지역 내에 있는지 확인하는 방법을 찾으려고 합니다.

예를 들어, 내 영역이 다음 좌표를 사용하여 생성된 직사각형인 경우:

으아악

다음 좌표가 해당 지역 내에 있는지 확인하고 싶습니다. 43.651989,-79.371993

이 패키지를 사용해 보았지만 제대로 작동하지 못했습니다. github.com/kellydunn/golang-geo

으아악

누구든지 이 구현을 공유할 수 있는지, 아니면 올바른 방향을 알려줄 수 있는 리소스가 있는지 궁금합니다. 나는 또한 Google Maps API를 사용할 의향이 있습니다.


정답


귀하의 예에서는 직사각형이므로 다음과 같이 계산할 수 있습니다.

  1. 넓이로 가장 작은 점을 찾아보세요. minimumpoint.x = min(p1.x, p2.x)minimumpoint.y = min(p1.y, p2.y)
  2. 면적의 최대점을 찾아보세요. maximumpoint.x = max(p1.x, p2.x)maximumpoint.y = max(p1.y, p2.y)
  3. 포인트가 둘 사이에 있는지 확인하세요. checkpoint.x >=minimumpoint.xcheckpoint.x 和<code>checkpoint.y >=minimumpoint.ycheckpoint.y

또는 contains 기능을 사용할 수도 있습니다: https://www.php.cn/link/fb6e7c396949fea1f6f6bf144dbc7908

프로젝트에 추가: go get github.com/paulmach/orb

귀하의 질문에 대해 제가 작성한 샘플 코드는 다음과 같습니다.

으아악

결과:

으아악

위 내용은 위도/경도 지점이 지역 내에 있는지 확인의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제