안녕하세요. 이전에 polygon hole 관련하여 답변 주셨던 글에 이어 추가 문의 드립니다.
[이전글]
[문의사항]
이전 답변에서 polygon hole 을 만들때는 각 hole 이 겹치거나 맞닿으면 안된다 라고 안내해주셨습니다.
주신 내용처럼 테스트 하였을때 맞닿은 hole 이 있는 경우에 fill 이 깨지는 현상을 확인 했습니다.
해당 케이스들이 많아서 데이터 제공 측에도 정제를 요청해둔 상태이긴 하나, 추가 안내 및 정리가 필요한 부분이 있는것 같습니다.
위 제약사항(polygon 내 hole 끼리 겹침, 맞닿음 금지)가 공식 문서 어디에 명시되어 있는지 공유 부탁 드립니다.
우선 이전에는 임시로 dimscreen 으로 처리를 하였는데 polygonHole 이 다른 색상으로 2개 이상 존재 시 에는 dimScreen 이 1개만 존재할수 있어서 보여질수가 없는 상태 입니다. 갯수를 늘릴수는 없는것인지 dimscreen 과 polygonHole에 어떤 차이에서 이 현상이 다르게 보여지는것인지 궁금 합니다.
withHole 테스트 시 겹치는 hole 에 따라서 깨지는 현상이 일어날떄도 일어나지 않을때도 있습니다. 그래서 꼭 겹쳤을때만 일어나는것이 아닌 다른 이유도 있을것이라고 판단되는데 확인이 가능 할까요..? 테스트한 폴리곤 데이터 공유 드립니다. 테스트 했을때는 [2,3] [4,5] [2,3,5] 등 몇개 데이터들만 그려주도록 반복 테스트 해봤는데 겹치는 hole 이 있더라도 발생이 되는 경우도 안되는 경우도 존재 했습니다.
DimScreenLayer 는 1개만 존재 할 수 있습니다. 그리고, Dimmed 되는 영역을 지정할 수 없고 보여지는 Viewport 영역 전체를 덮습니다. DimScreenLayer 안에는 hole 은 여러개 다른 색상으로 그릴 수 있습니다. vs 그리고, 일반 Polygon 은 DimScreen 과 달리 여러개 생성 할 수 있고 Polygon 이 그려지는 영역을 지정 할 수 있고, 그 안에 홀도 여러개 생성 할 수 있습니다. DimScreenLayer 자체의 갯수를 늘릴 수는 없습니다. 그 안에 hole 처럼 Polygon 을 여러개 추가할 수 있는 구조입니다.
아직, 직접 테스트하진 않았지만 올려주신 데이터만 보면, 아래의 좌표들이
[37.52103, 126.91539000000002] (2회 출현)
hole_5의 31번째 좌표
hole_6의 1번째 좌표
[37.52013, 126.91618000000001] (2회 출현)
hole_5의 30번째 좌표
30번-31번 정점이 세트로 일치하는 것으로 보아, 단순히 두 구멍은 점 하나가 아닌 하나의 선분(Edge)을 완벽하게 공유하며 맞닿아 있어 보입니다. "구멍"을 그릴 때 경계선을 기준으로 안팎을 나눕니다. 그런데 두 구멍이 선 하나를 공유하면, 해당 선이 "구멍의 끝"인지 "다른 구멍의 시작"인지 등 알고리즘마다 충돌하고 문제를 일으킬 수 있습니다.
구멍도형 데이터들이 단순히 정점을 공유한 경우도 있고, 저렇게 선분을 공유하기도 하고 겹치는 양이 많다면 또 다르게 표현 되기도 할 것 같습니다. 아마도, 좌표들이 겹치는 양상이 다르다 보니 데이터에 따라 다르게 보여지는 것 같습니다.