지도의 건물에 대한 벡터 데이터가 있으며 알려진 높이에 따라 돌출 된 것처럼 보이게하려고합니다.의사 3D 건물이 시각적으로 겹치지 않도록 정렬/묘화하는 방법
저는 이것이 일반적인 작업이라는 것을 알고 있지만 만족할만한 해결책을 찾지 못했습니다.
mapnik에서 실현 된 것을 보았을 때, 폴리곤의 모든 정점 중 최소 Y만큼 간단한 정렬을 사용합니다. 결과적으로 대부분의 경우 오른쪽으로 그려 지지만 일부는 여전히 겹쳐져 있습니다 (약 2-3 %). 그냥 (? 어떻게 든) 잘 buldings를 정렬하고 (위의 경우이 순서가 3-2-1을 것이다) 적절한 순서를 끌기에 충분하다 대부분의 경우
.
더 복잡한 경우 다각형이 오목하고 서로 너무 가까울 경우 모든 벽과 캡 (지붕)을 별도로 그려야합니다 (아래 참조).
업데이트 : 벽과 캡 :그래서, 두 그릴 세그먼트의 종류가 있습니다. 벽 세그먼트는 최소 Y 단위로 주문하기 쉽습니다. 나는 대문을 주문하는 방법을 알아낼 수 없다.
감사합니다.
항상 위에서 건물을보고 있다면 모자가 항상 벽 앞에 있지 않습니까? 대문자가 모두 같은 높이에 있다면, 결코 중첩되지 않아야합니다. – Alan
@Alan 아니, 일반적인 경우에는 높이가 다르기 때문에 그냥 쉬지 않다. –
아, 너는 높이가 다른 건물을 가지고 있으면 사물을 바꾼다. 일반적인 경우의 해결책은 z 버퍼링을 사용하는 것입니다. – Alan