여러 지점의 중심을 결정하십시오
-
20-08-2019 - |
문제
Python으로 작성하는 매핑 응용 프로그램을 작성하고 있으며 N 포인트의 LAT/LON Centroid를 가져와야합니다. 두 곳이 있다고 말합니다
a.lat = 101
a.lon = 230
b.lat = 146
b.lon = 200
두 지점의 중심을 얻는 것은 유클리드 공식을 사용하여 쉽게 쉽습니다. 나는 두 가지 이상을 위해 그것을 할 수 있기를 원합니다.
기본적으로 나는 같은 일을하고 싶다 http://a.placebetween.us/ 여러 주소를 입력하고 모든 사람에게 등거리가있는 지점을 찾을 수있는 곳.
해결책
아래 링크 된 PDF 문서를 살펴보십시오. 신청 방법을 설명합니다 도마뱀을 청구하는 평면 그림 알고리즘 언급하지만 구의 표면에.
포스터 썸네일 및 일부 세부 사항 http://img51.imageshack.us/img51/4093/centroidspostersummary.jpg
원천: http://www.jennessent.com/arcgis/shapes_poster.htm
또 한있다 25 MB 풀 사이즈 PDF 다운로드 할 수 있습니다.
크레딧이 간다 믹스 데브 원래 소스에 대한 링크와 물론 Jenness Enterprises에 대한 링크를 찾아 정보를 제공합니다. 참고 : 저는이 자료의 저자와 제휴하지 않습니다.
다른 팁
Andrew Rollings의 답변에 추가.
또한 "올바른 방향"으로 측정하는 0/360 경도 선의 양쪽에 포인트가있는 경우
Is the center of (0,359) and (0, 1) at (0,0) or (0,180)?
평균 각도를하고 0/360을 건너는 것을 처리해야한다면 각 값의 죄와 COS를 합산 한 다음 평균 = atan2 (죄의 합, 코사인의 합)가 더 안전합니다.
(ATAN2 기능의 인수 순서에주의하십시오)
아래 PDF는 Jenness Enterprises의 포스터보다 약간 더 자세합니다. 또한 완벽한 구체보다는 양방향과 구형 (예 : 지구)의 변환을 처리합니다.
위도와 종단을 별도로 평균화합니다.