티스토리 뷰

개요 

- Unreal Cesium은 매우 기가 막 하고 코가 막히는 지형 서비스를 지원한다. 

- 지형을 불러내기 위해서 Cesium에서 제공하는 Cesium ion으로부터 지형 API를 요청받아야 한다. 

- 필자는 Cesium ion을 거치지 않고 오프라인에서 지형을 불러내고 싶다.

 

생각해야 하는 요소 

- Cesium이 지형을 생성하기 위해서 요청하는 데이터는?

  -> Georeferncing Raster Image : 2D 형태의 위성(or 항공) 사진 

https://desktop.arcgis.com/en/arcmap/latest/manage-data/raster-and-images/what-is-raster-data.htm

  -> quantized mesh : 지형 타일 

https://cesium.com/learn/ion-sdk/ref-doc/QuantizedMeshTerrainData.html

 

- Cesium은 해당 지형 데이터르 REST API 형태로 요청을 보낸다. 그리고 우리는 해당 요청을 받아서 Cesium에게 데이터를 반환해 주어야 한다. 

즉 로컬 지형 서버를 만들어야 한다는 결론이 나온다. 

 


 

오프라인 환경 지형을 추출하기 위한 사전 준비 

아나콘다 설치 

파이썬 가상환경을 구축하기 위해 아나콘다를 사용했다. 아나콘다 설치 주소는 아래와 같다.

https://www.anaconda.com/download

 

Download Anaconda Distribution | Anaconda

Download Anaconda's open-source Distribution today. Discover the easiest way to perform Python/R data science and machine learning on a single machine.

www.anaconda.com

 

설치파일을 다운로드 하기 전에 이메일 주소를 입력해야 한다. 본인의 이메일 주소를 입력하도록 하자. 

 

이메일 주소를 입력하면 아래 이미지와 같이 OS 별 설치 파일들을 볼 수 있다. Windows OS를 사용하는 사람은 빨간 네모의 Windows를 선택하면 된다. 

 

설치 파일이 다운로드 되면 실행하여 아나콘다를 설치해 주자.

아래 이미지는 필자가 아나콘다를 설치했을 때 설정한 값들이다. (왜 이렇게 설정했냐고 물어본다면... 음.... 기본 설정이라서 허허)

 

필자는 cmd 화면에서 아나콘다를 사용할 것이기 때문에 환경변수를 설정해 주었다. 

 

설정을 완료하고 cmd에서 아나콘다 커맨드를 입력해 본다. 

conda -V

 

아래 이미지처럼 아나콘다 버전이 출력된다면 정상적으로 설치되었다는 뜻이다. 

 

 

가상 환경 구축 

cmd 창에 python v3.10 가상환경을 생성하는 커맨드를 입력한다. 커맨드는 아래와 같다.

conda create -n py310 python=3.10

 

뭐 저시기 코멘트가 뜨고 Proceed [y/n]에 'y'를 입력해 준다.

 

설치 끝나면 아래 이미지와 같은 메시지가 나온다. 

 

설치한 가상 환경을 실행시키기 위해서 아나콘다 초기 설정을 해주어야 한다. 커맨드는 아래와 같다.

conda init

 

초기 설정이 끝났으면 cmd를 닫았다가 다시 실행해 준다.

 

생성한 가상환경으로 전환하기 위해서 아래와 같은 커맨드를 입력한다. 

conda activate py310

 

 

아래 이미지처럼 'base'에서 'py310'으로 변경됐으면 생성한 파이썬 가상환경으로 활성화되었다는 뜻이다. 

 

가상환경을 비활성화하고 싶다면 아래와 같은 커맨드를 입력한다. 

conda deactivate

 

 

GDAL Python 패키지 설치 

이제 본격적으로 GDAL Python을 가상환경에 설치해 볼 것이다. 

아래 주소는  GDAL python의 설치페이지이다.

https://pypi.org/project/GDAL/

 

GDAL

GDAL: Geospatial Data Abstraction Library

pypi.org

 

해당 사이트에서 아나콘다를 이용한 GDAL 설치 항목을 참조한다. 

 

cmd에서 py310 가상환경을 활성화하고 아래와 같은 설치 커맨드를 입력한다.

conda install -c conda-forge gdal

 

Docker 설치 

Docker를 설치해 준다.

Docker는 고도 데이터를 Unreal Cesium이 읽을 수 있는 quantized-mesh으로 변환시키는 cesium-terrain-builder를 사용하기 위함이다. (다른 방법이 있다면 알려주세요 ㅠㅠ) 

https://www.docker.com/products/docker-desktop/

 

Docker Desktop: The #1 Containerization Tool for Developers | Docker

Docker Desktop is collaborative containerization software for developers. Get started and download Docker Desktop today on Mac, Windows, or Linux.

www.docker.com

 

설치 프로그램의 설정은 아래와 같이 했다.  Windows OS에 리눅스 환경을 조성하기 위해서 WSL를 설정하였다. 

 

설치가 완료되면 PC를 재시작해준다.

 

Docker 계정 연동까지 해준다. 

 

Docker를 최초 실행하면 작업 관리자에 메모리 사용률이 엄청 증가하는 것을 볼 수 있는데 이는 WSL을 실행하는데 할당된 기본 메모리 이므로 수동으로 직접 할당 메모리를 정의해주어야 한다. 

 

 

C 드라이브 -> Users -> User 디렉터리에. wslconfig 파일을 생성하고 해당파일에 아래와 같은 코드를 입력한다. 

1[wsl2]
2memory=4GB		
3swap=0​

 

이후 컴퓨터를 껐다 켜거나 cmd 창에 아래와 같은  커맨드를 입력해 준다. 

wsl --shutdown

 

Cesium Terrain Builder Container 등록 

아래의 github에서 Cesium Terrain Builder를 가져올 것이다.

자세한 절차는 해당 사이트의 Readme를 참조한다. 

https://github.com/tum-gis/cesium-terrain-builder-docker

 

GitHub - tum-gis/cesium-terrain-builder-docker: Dockerfile for the geo-data/cesium-terrain-builder app with quantized mesh suppo

Dockerfile for the geo-data/cesium-terrain-builder app with quantized mesh support. - tum-gis/cesium-terrain-builder-docker

github.com

 

cmd창에 아래와 같은 커맨드를 입력한다.(Windows OS)

docker run -it --name ctb ^
    -v "<.tif 파일이 있는 디렉토리>:/data" ^
  tumgis/ctb-quantized-mesh

 

STM(위성영상), DEM(고도데이터) 준비하기 

위성영상과 고도데이터는 국토정보플랫폼에서 다운로드했다. 여기서 지형 정보를 다운로드하려면 조금 복잡한 인증절차가 있으니 반드시 해당 방법을 통해서 지형정보를 가져오지 않아도 된다. 

https://map.ngii.go.kr/ms/map/NlipMap.do

 

국토정보플랫폼 국토정보맵

선택 선택

map.ngii.go.kr

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함