+ -180도 자오선에서 폴리 라인을 끊어야합니다. 이를 위해서는 폴리 라인이 자오선을 가로 지르는 위도를 찾아야합니다. 당신의 GIS는 아마도 깨는 방법이있을 것입니다. 그렇지 않은 경우 관련 스레드에 표시된 코드에서 간단한 솔루션을 얻을 수 있습니다 . 자세한 내용은 다음과 같습니다.
폴리 라인은 -180 <= lon <= 180 인 각 (lat, lon) 형식 으로 제공 되는 일련의 꼭짓점 으로 표시됩니다 . 각 연속 쌍이 + -180 자오선을 통과하는지 확인해야합니다. 빠른 테스트가 있습니다. 경도 차이의 절대 값이 180 이상이면 교차점이 있습니다.
+ -180 자오선을 교차하는 각 세그먼트 (lat0, lon0)-> (lat1, lon1) 내에서 폴리 라인을 교차하는 두 조각으로 나눠야합니다.
핵심은 적절한 정확도로 중단 점의 위도를 찾는 것입니다. 이것은 구형 지구 모델에서 가장 쉽게 수행됩니다. 오류 (보다 정확한 타원체 모델과 비교)는 알아 채기에는 너무 작습니다.
해당 세그먼트가 (lat0, lon0)의 0 점에서 (lat1, lon1)의 1 점으로 이동합니다. 직교 좌표로 표시된대로 두 점 사이에 직선 세그먼트를 3D로 실행하고 y 좌표가 0 인 위치를 찾아 중단 점을 찾을 수 있습니다. 직교 좌표가 있습니다
(x0, y0, z0) = (cos(lon0)*sin(lat0), sin(lon0)*sin(lat0), cos(lat0))
점 1에 (x1, y1, z1)을주는 유사한 표현입니다.
t * y0 + (1-t) * y1 = 0
t의 경우; 그건,
t = y1 / (y1 - y0).
따라서 교차점의 좌표는
(x, y, z) = (t * x0 + (1-t) * x1, 0, t * z0 + (1-t) * z1)
이 지점 (+ -180 자오선 아래 어딘가의 지표면 아래)은 위도와 같습니다.
lat2 = ATan(z/x).
중단 점은 두 가지 방법으로 표현해야합니다. 깨진 폴리 라인의 첫 번째 부분을 종료하기 위해 (lat0, lon0) 이후에 연결할 때 lon0이 음수이면 (lat2, -180)을 사용하고 그렇지 않으면 (lat2, 180)을 사용하십시오. 깨진 폴리 라인의 두 번째 부분을 시작하기 전에 (lat1, lon1)을 부착 할 때 비슷한 규칙을 따릅니다.
예외적 인 경우, 0 점과 1 점 중 하나 또는 둘 다가 + -180 자오선에있을 수 있습니다. 이 절차를 수행하면 작성한 폴리선 조각 중 하나에 길이가 0 인 세그먼트가 배치됩니다. 이것이 GIS에 문제를 일으킬 수있는 경우이 상태를 테스트하십시오.
폴리 라인은이 자오선을 두 번 이상 교차 할 수 있습니다. 따라서 첫 번째 끊기를 찾아 폴리 라인을 두 부분으로 나눈 후에 두 번째 부분을 같은 방식으로 처리해야합니다.