저번에 글을 쓴 후, 직접 작업을 해보기로 했다.
저번 글에서는 층 수에 따른 레이어 색깔 구분에 대해서 어려움이 있을 것 같다 토로했지만, 생각해보니
이 QGIS에서는 단계구분이란 아주 좋은 기능이 있다.
그래서 단계 구분 탭에서 NMLY로 설정하고, 층수가 겹치지 않게 급간을 설정하여 명도를 설정해주었다.
작업을 해준 후에, 이렇게 사각형에 맞게 딱 캡쳐를 해주었다.
이는 추후에 Image Sampler에 들어갈 자료이다.
캐드에서 QGIS 파일을 불러왔다.
이 객체들은 단순히 해치 뿐, 테두리는 없다. 따라서 Hatchgenerateboundary 명령어를 사용하여
테두리를 생성 하였다.
테두리가 제대로 생성되었다.
이를 Rhinoceros에 불러왔다.
여기서 주의해야 할 점은, 이 캐드 건물 데이터의 좌측 최하단 부분이 0,0에 오도록 위치를 정해주어야 한다.
아니면 작동을 안 한다.
근데 아직 부정확한 부분도 많고, Image Sampler의 값을 제대로 설정해주지 않았다.
그래서 다시 조정하기로 하였다.
일단 여기서 크나큰 오류가 있다면,
정황상 1층이어야 할 매스들이 이렇게 올라온 것을 확인할 수 있다.
나는 이 현상을 보고 아마도 테두리 때문일 것이라 유추하였다.
각 서피스들에서 무게중심을 추출했을 떄,
이 매스는 아마도 테두리에 의하여 검은색 pixel을 부여받았을 거라 추정,
QGIS 상에서 이 처음부터 테두리를 없애는 것이 작은 쪼가리 데이터들의
데이터 부정확성을 해소시켜줄 것이라 판단한다.
이번은 흰색 0%에서 100%까지 바꿔주었으며,
테두리 색깔로 인해서 갑자기 1층 건물들이 높은 값을 부여받게 되는 경우도 사라질 것이다.
작업 완료한 알고리즘이다.
사실 이 알고리즘은 정확도가 100%는 아니다.
데이터가 1, 2, 3, 4, 5, 10이 있다면
10은 6으로 계산되기 때문이다.
하지만 이런 경우는 보통 가장 높은 건물에서만 일어나는 현상으로 파악된다.
따라서 이런 부분은 가장 높은 건축물들은 따로 작업을 잠깐 해주는 게 나을 것이다.
이 작업은 아마도 10분도 안 돼서 끝날테니 그렇게 큰 문제는 아닐 뿐더러
애초에 도시 3D 모델링 상 도시 매스들의 높이가 중요한 게 아니라 어느 곳이 높고 낮은지가 중요한 것이다.
그래도 기본적으로 90% 이상의 데이터가 정확하다는 것을 panel의 데이터와 QGIS의 데이터를 비교하여 신뢰성을 확인하였으며,
이는 오래 걸리던 3D 모델링 작업을 훨씬 줄여줄 것이다.
연구 완료.