ArcGIS API for JavaScript를 활용한 Voxel Layer 시각화 하기

ArcGIS 2.9가 새롭게 발표되면서 Voxel Layer를 ArcGIS Online과 Enterprise Portal 10.9.1을 활용하여 웹에서 공유할 수 있게 되었습니다. Voxel Layer는 대기질, 지하 지질 모델, 수온 등을 시각화하여 주변 공간 정보와 비교하기에 적합합니다.

Voxel 레이어를 웹에 발행하면 Voxel scene layer package(SLPKs) 가 생성되고 JavaScript 응용 프로그램용 커스텀 ArcGIS API를 활용하여 시각화된 3D 데이터를 공유할 수 있습니다. 아직까지는 베타 버전이기 때문에 웹에서는 시각화만 가능합니다.

기존에 ArcGIS Pro에서 드론으로 측정한 대기질 정보를 Voxel Layer로 나타낸 방법에 대해서는 아래의 한국지비에스 블로그 포스팅을 통해 확인할 수 있습니다.

이 글에서는 Voxel Layer를 웹에 발행하여 활용하는 방법을 자세히 알아보도록 하겠습니다.

ArcGIS Pro에서 생성한 미세먼지 측정 보간 Voxel Layer를 웹에서 공유하기 위해 AGOL에 발행하면 다음과 같은 API 가 생성됩니다.

AGOL에 발행된 Voxel Layer API

이 피처레이어를 ArcGIS API for JavaScript로 시각화하기 위해서 VoxelLayer 모듈을 스크립트에 로드(load)하고 url을 받아주는 변수를 생성합니다.

‘VoxelLayer’ 모듈 Script에 load

공간정보를 시각화 할 때는 좌표계(spatial reference)가 매우 중요한 요소로 Web Scene에 Voxel Layer를 발행할 때 이 샘플은 WKID 4326으로 발행되었습니다. 정확한 좌표계로 레이어를 발행한 후 property도 스크립트에 지정해주어야 Web Scene에 나타납니다.

Voxel Layer 변수를 WebScene의 layers에 추가
Voxel Layer는 Sceneview의 viewingMode property를 “local”로 지정해 주어야 한다.

지금까지 ArcGIS API for JavaScript를 통해 ArcGIS의 새로운 공간정보 표출 방식을 웹상으로 공유하고 시각화하여 효과적으로 공간 정보를 나타낼 수 있는 방법을 알아보았습니다.

아래 지도를 클릭하면 드론으로 측정된 대기질 정보를 ArcGIS Pro에서 보간법으로 분석한 상층부의 대기질을 3D로 확인할 수 있습니다. Esri에서는 지속적으로 Voxel Layer에서 상세 정보를 팝업을 통해 확인하는 등의 기능을 추가할 예정에 있습니다. 해당 기술을 통해 공간정보를 3D로 분석하여 해수면 상승, 지구 온난화 등에 효과적으로 대비할 수 있기를 기대합니다.

위 이미지를 클릭하면 해당 지도로 이동합니다.

 

드론으로 측정한 3D 대기질 정보를 Voxel 레이어로 보간 및 시각화

Voxel 레이어(3D 볼륨 레이어)는 다차원 공간 및 시간 정보를 3D로 표현하기 위한 환상적인 방법을 제공합니다. Voxel 레이어 기능을 사용하면 데이터 3D로 시각화하고 데이터 필터링 및 시계열 정보를 확인할 수 있습니다. 이 기술은 기후 데이터, 지하 정보, 그리고 사업을 시작하기 가장 적합한 장소를 결정하기 위한 공간 분석과 시간 기반 분석을 시각화하는데 유용합니다.

다음의 예시는 드론이 수집한 다양한 높이에서 pm10(미세먼지)과 pm2.5(초미세먼지) 대기질 수치를 시각화하는 것입니다. 한국지비에스는 한국과학기술정보연구원(KISTI)으로부터 다양한 고도에서의 공기 질에 대한 항공 드론 데이터를 제공받았습니다. 샘플 데이터는 2020년 6월 인천에서 7일 동안 수집되었습니다. 목적은 고도 기록과 대기질 기록 사이의 관계를 찾는 것으로 이 분석과정에서는 표면 및 voxel 시각화 도구를 생성하기 위한 값을 예측하는 데 도움이 되는 3D 보간 방법인 ESRI의 Empirical Bayesian Kriging 3D 도구를 사용했습니다.


아래 Figure 1은 대기질 센서를 갖추고 있는 드론이 하루 동안 자료를 수집한 지점들을 보여줍니다. 고도에 따라 초미세먼지
(pm2.5) 수치를 수집하고 파란색(낮은 값)과 빨간색(높은 값)으로 비교하도록 시각화되었습니다. Figure 2는 pm2.5 값과 고도 사이의 관계를 보여줍니다.

Figure 1: 드론이 캡처한 X, Y, Z 포인트를 보여주는 이미지입니다.
Figure 2: pm2.5와 고도 사이의 관계를 보여주는 산점도입니다.

위의 비디오는 1주일간의 시간 경과에 따른 대기질 변화를 3D로 보여줍니다. 점 데이터로부터 보간된 표면을 만들어 연구 영역의 서로 다른 높이에서 예측 pm2.5 수준을 표시할 수 있습니다. 아래 Figure 3은 높이에 따른 보간된 pm2.5 값을 보여줍니다. 고도가 높아짐에 따라 pm2.5 농도가 증가하는 것으로 보이고 있습니다.

다음으로 Voxel 레이어(netCDF 파일)를 생성하여 데이터를 완전한 3D 볼륨으로 시각화할 수 있습니다. NetCDF/Voxel 레이어는 래스터, 피쳐 레이어 또는 테이블에서 생성될 수 있으며 다차원 공간 데이터 또는 시간 데이터를 저장할 수 있습니다. ESRI의 ArcGIS Pro에는 수직 및 수평 슬라이스, 등각 표면, 각도 또는 횡단면을 만드는 기능을 통해 각 표면을 시각화하는 데 도움이 되는 유용한 도구를 제공하고 있습니다. 아래 Figure 4는 3D 볼륨 레이어의 전체 3D 볼륨(왼쪽)과 기울어진 섹션(오른쪽)을 보여줍니다.

Figure 4: Voxel레이어(왼쪽)와 Voxel레이어의 기울어진 섹션을 표시합니다.

위의 비디오는 Voxel 레이어가 3D 볼륨 데이터를 시각화하는 데 유용하고 물리적으로 경험할 수 없는 조건을 더 잘 이해하는 데 도움이 되는 ArcGIS Pro의 슬라이스 생성 기능을 보여줍니다. Voxel레이어에 시간 요소가 포함된 경우 추가 분석 및 시간 슬라이스를 만들고 시각화할 수 있습니다.

 

3D 침수 피해 시각화

‘3D’ 맵핑이란 2D로써의 한계를 가진 데이터를 더욱더 효과적으로 시각화 할 수 있는 최선의 방법이고 여러 다양한 데이터를 하나의 씬에 구현해 내기에 최적의 선택일 것입니다. 이번 글에서는 침수 피해를 시각화 할때 3D가 탁월함을 설명하고자 하는데 이는 강수량 데이터를 수집, 분석하여 침수지역을 보다 현실적으로 보여주고 더 나아가 어느 정도의 강수량을 예측할 경우 피해 정도를 미리 분석하여 결론적으로 피해를 최소화까지 가능하게 할 수 있습니다.


위 사진을 예시로 들어, 이 정도의 비가 왔을 경우 자동차, 가로수, 빌딩, 가로등의 높이를 참조하여 물이 대략 어느 높이까지 찼는지 알 수 있습니다. 만약 이러한 상황이 웹맵에서 미리 예측되고 시각화 된다면 상황 보고를 포함한 시각화가 필요한 부분에서 굉장히 유용하게 사용될 것입니다. 실제로 침수 피해를 3D로 나타내고 자동차, 가로수 모형 피처와 빌딩을 추가한다면 맵에서도 위 사진과 비슷하게 나타낼 수 있으며 더욱 자세하게 자동차 바퀴까지, 빌딩 1층 가게 바닥까지 등 침수 피해 정도를 정확히 알 수 있습니다.

위의 예시는 뉴질랜드의 Queenstown 이라는 곳에서 강수량 레벨이 1일 경우를 시각화한 데모입니다. 현실 높이를 반영한 차와 사람 피쳐를 추가하여 어느 높이까지 침수 피해를 입을지 그리고 또 침수 피해를 입을 건물의 개수와 피해 정도도 예측이 가능합니다. 이와 같이 첫번째 이미지였던 실제 침수 피해 현황과 예측 데모 이미지는 시각적으로 굉장히 비슷하고 3D 맵에서는 세세하게 수치적 분석까지 가능합니다.

강수량 데이터를 3D로 변환하기 위해서는 raster 데이터에서 실제 지형의 고도를 raster calculator를 이용하여 더해야 하고 실제 지형을 반영하여 침수 높이를 계산하는 것이 중요합니다.

추가적으로 침수 피해를 입은 빌딩을 3D로 표현하고자 하는 경우에는 빌딩 레이어와 침수 지역이 맞닿는 부분을 intersect (교차)하여 다른 심볼로 저장한다면 전체 지역을 크게 보았을때 효과적으로 침수 지역에 위치한 빌딩들을 찾을 수 있고 그 주위 지역 상황을 알 수 있습니다.

끝으로, 침수 피해를 3D로 시각화함으로써 예측이 불가한 자연재해에 대한 피해를 조금이라도 줄일 수 있을 것을 예상합니다. 예를 들어, 침수 피해가 심할 것으로 예상 되는 지역에는 배수 시설을 확충할 수 있으며 건물 건설을 피하는 등의 노력으로 예측을 통한 피해의 최소화가 가능할 것입니다.