문제

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 기능의 인수 순서에주의하십시오)

포인트가 형성되면 수학이 매우 간단합니다. 평면 그림. 그러나 위도와 종단 세트가 그렇게 간단하다는 보장은 없으므로 먼저 볼록한 선체 포인트의.

편집 : AS Ejames 지적하면, 당신은 구 표면을 수정해야합니다. (생각없이) 이것이 이해되었다고 가정 한 내 잘못. 그에게 +1.

아래 PDF는 Jenness Enterprises의 포스터보다 약간 더 자세합니다. 또한 완벽한 구체보다는 양방향과 구형 (예 : 지구)의 변환을 처리합니다.

3D 직교와 타원 위도, 경도 및 높이 좌표 사이를 전환

위도와 종단을 별도로 평균화합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top