[디지털 트윈] Unity에 3D 지형 시각화하기 - 수치 지형도/정사 영상 편
Unity에 3D 지형 시각화하기 - 수치 지형도/정사 영상 편
디지털 트윈 프로젝트를 준비하며, 웹 브라우저 상에서 3D 지형을 구현해보려 합니다. 이를 위해 지형, 건물, 도로 등 다양한 공간 정보를 시각화할 계획입니다. 우선 국토정보플랫폼에서 지원하는 정사 영상을 QGIS에 띄우려고 합니다.
개발 환경
- Node v22.16.0
- React v19.1.0 (TypeScript) + Vite
- QGIS Desktop 3.42.3
- Unity 6000.0.50f1 (LTS)
개발 순서
- 수치 지형도 다운받기
- 정사 영상 다운받기
참고 사이트
- 국토정보플랫폼 국토정보맵 - 수치지도받기 : https://map.ngii.go.kr/ms/map/NlipMap.do
- 블로그 : https://bongra.tistory.com/226
1. 수치 지형도 다운받기
국토정보플랫폼에서 제공하는 정사 영상(.tif)는 공간 데이터(좌표 등)를 포함하고 있지 않습니다. 정사 영상을 올바른 위치에 출력하기 위해 같은 위치의 수치 지형도(.dxf)를 통해 공간 데이터를 추출할 수 있는 작업을 선행했습니다.
국토정보플랫폼 국토정보맵의 수치지도 제공 사이트에서 원하는 위치를 검색한 후, 수치 지형도(.dxf)를 다운받습니다. 다운받은 파일은 QGIS를 열어서 상단 탭의 레이어 > 레이어 추가 > 벡터 레이어 추가를 통해 열어줍니다.
방금 추가한 레이어를 모두 선택한 후 EPSG:5186 좌표계로 설정합니다.
.
레이어를 우클릭하여 속성 > 정보 > 제공자로부터의 정보 > 범위 에서 수치 지형도 레이어의 범위를 메모해둡니다. 범위(Extent)는 <좌측 x>,<하단 y>:<우측 x>,<상단 y> 의 형식으로 기재되어 있습니다.
2. 정사 영상 다운받기
국토정보플랫폼 국토정보맵의 수치지도 제공 사이트에서 원하는 위치를 검색한 후, 정사 영상(.tif)를 다운받습니다. 다운받은 파일은 QGIS를 열어서 상단 탭의 레이어 > 레이어 추가 > 래스터 레이어 추가를 통해 열어줍니다.
생성된 정사 영상 레이어를 보면, 위치가 맞지 않는 것을 볼 수 있습니다. 우선 방금 추가한 레이어를 모두 선택한 후, 수치 지형도에서 했던 방식과 동일하게 EPSG:5186 좌표계로 설정합니다.
각 정사 영상 레이어의 범위를 수정하기 위해, 메모해뒀던 수치 지형도 범위를 아래의 형식으로 수정합니다.
-a_ullr <좌측 x-50> <하단 y+50> < x+50> <상단 y-50>
상단 탭의 공간 처리 > 툴박스 를 클릭하여, 공간 처리 툴박스의 GDAL > 래스터 변환 > 변환 (포맷 변경) 을 클릭합니다. 입력 레이어에 원하는 정사 영상을 넣고, 고급 파라미터 > 추가 명령줄 파라미터 에 메모장에 정리한 명령어를 추가합니다.
작업을 완료하면 OpenStreetMap 의 지도와 비교하여, 정사 영상이 알맞은 위치에 들어갔는지 확인합니다.
3. 결과 확인
다음 글 보기
[디지털 트윈] Unity에 3D 지형 시각화하기 - DEM 편
Unity에 3D 지형 시각화하기 - DEM 편 디지털 트윈 프로젝트를 준비하며, 웹 브라우저 상에서 3D 지형을 구현해보려 합니다. 이를 위해 지형, 건물, 도로 등 다양한 공간 정보를 시각화할 계획입니다.
dachaes-devlogs.tistory.com