셰이프 파일로 포인트 세트가 있고 기존 포인트 각각에서 가능한 가장 긴 거리를 갖는 새 포인트의 좌표를 찾고 싶습니다. 가능합니까? 그렇다면 샘플 VB 코드가 있습니까? 감사합니다 Demetris
셰이프 파일로 포인트 세트가 있고 기존 포인트 각각에서 가능한 가장 긴 거리를 갖는 새 포인트의 좌표를 찾고 싶습니다. 가능합니까? 그렇다면 샘플 VB 코드가 있습니까? 감사합니다 Demetris
답변:
구형 보로 노이 다이어그램 (Thiessen polygons)을 구성하는 Kirk Kuykendall의 권장 사항은 좋은 것이지만 해결해야 할 기술적 문제가있을 수 있습니다. 한편, 대안으로, 위에 설명 된대로 표준 래스터 솔루션을 적용 할 수 있습니다. 다른 스레드에 . 유클리드 거리 대신 구면 거리를 사용하십시오.
다음은 (lat, lon)과 같이 5 개의 점을 사용한 예입니다.
82.7051 -145.256
60.3321 81.2881
-17.076 105.125
-38.792 -122.686
0.000 180.000
이 구형 거리 맵은 수평으로 -180에서 180도, 수직으로 -90에서 90도까지 지구에 걸쳐 있습니다. 점은 큰 빨간 점으로 표시됩니다. 거리는 밝기에 따라 증가합니다. 명백한 융기 부분은 큰 원의 일부 여야합니다. (-15.3268, -2.04352) 근처의 작은 검은 점은 11,227km의 최대 거리를 나타냅니다. (거리는 ITRF00 타원체 데이텀에서 계산되었습니다.)
이 격자의 해상도는 1 도입니다. 보다 정확한 솔루션을 얻으려면 이러한 점을 확대하고 (글로벌 최대 값에 충분히 가까운 값으로 다른 로컬 최대 값으로 확대) 작지만 고해상도 그리드에서 계산을 반복하십시오.
나는 이것을 시도한 적이 없지만 이것이 효과가있는 것처럼 보입니다.
구의 3D 보로 노이 다이어그램 을 만듭니다 . 이 결과 다각형은 기존의 기존 (종자) 점을 중심으로합니다.
각각의 결과 정점을 반복하여 가장 가까운 기존 지점에서 가장 먼 정점을 찾습니다. 이 지점은 지구상에서 가장 먼 지점이어야합니다.
Cost-Weighted Distance 기능을 사용하여 래스터의 모든 셀이 다른 모든 지점과 얼마나 떨어져 있는지 식별 할 수 있습니다.
내가 아는 한,이 " 접근 불가능한 극 "분석은 반복적으로 수행되어야합니다.
투영에서 왜곡이 최소화 된 작은 영역을 보는 한 반복적 인 래스터 방식이 적합합니다. 각 셀에 대해 모든 점까지의 거리를 계산 한 다음 최소 거리를 사용하십시오. 가장 높은 값을 가진 셀이 극입니다. 유클리드 거리를 사용할 수도 있습니다Spatial Analyst에서 를 하여이를 수행 .
반복 벡터 접근 방식이 더 복잡합니다. Garcia-Castellanos 등 (2007) 은 구형 지구에 기반한 반복 방법을 설명합니다. C 코드를 온라인에서 사용할 수 있는 것으로 보입니다 . 버퍼로 Arc 에서이 작업을 수행하는 방법을 상상할 수 있지만 여전히 반복적이고 느려질 것입니다.
포인트 세트에서 가장 먼 포인트는 세트에서 가장 내부 포인트에 대한 역수입니다. 예를 들어, 세트의 가장 안쪽 점이 북쪽으로 49도, 동쪽으로 -144 도의 좌표를 가졌다면 역과 가장 먼 점의 좌표는 남쪽으로 49도, 서쪽으로 36 도입니다. 지구가 완전히 구형이 아니라 지오이드이기 때문에 이것은 사실이 아닙니다. 따라서 결과 포인트의 정확성은 사용하는 투영 및 지리 시스템 (직교, 직교 교정 ...)에 따라 다릅니다. 전체 세트에 대한 역수를 찾은 다음 (세트에 대한 안티 포드 전송) 지형이 매우 많을 수 있기 때문에 포인트에 의해 커버 된 지형 내에서 표면 분석을 실행하는 것이 도움이 될 수 있습니다. 나는 당신의 질문이 다른 행성이나 달과 같은 외계 몸의 어떤 점에 관한 것이 아니라고 가정합니다. 죄송합니다, VB 코드가 없습니다. 🙄