ArcGIS로 구글어스 애니메이션 제작법


original docs : http://geochalkboard.wordpress.com/

translated by : 푸른하늘(http://heomin61.blogspot.com, heomin61@gmail.com)

개요
구글어스 버전 4가 발표되면서, 원래부터 환상적이었던 지리정보 표현 툴에 더 많은 기능이 추가되었지만, 그 중에서  가장 중요한 것은 기존 GIS 데이터에 시간 정보를 넣을 수 있는, 시간 제어 기능(Time Control)을 도입한 것이라고 생각합니다. 이처럼 4차원이 추가됨으로써 자료의 시간적 변화 패턴을 분석할 수 있게 되어, 구글어스의 활용 범위가 한층 더 높일 수 있게 되었습니다. 이 포스트에서는 ArcGIS Desktop, Spatial Anayst, Google Earth, 그리고 에디터를 사용하여, 구글어스 파일 포맷(kml/kmz)에 시간 콘트롤을 활성화시킬 수 있는 방법을 알려드리고자 합니다.

구글어스 버전 4에서는, 기존 유저인터페이스에 시간의 흐름을 조절할 수 있는 시간 제어기(Time Control)가 추가되었습니다. 시간 제어기는 매우 강력하면서도 간단한데, 불러들이는 kml/kmz 파일에 TimeSpan 태그가 있을 때만 구글어스 화면에 나타나게 됩니다.

시간 제어를 위한 유저 인터페이스는 드래그 할 수 있는 부분과, 애니메이션을 시작시킬 수 있는 콘트롤, 그리고 시간 속성폼을 표시하는 단추로 구성됩니다. 드래그 할 수 있는 부분은 시작시간과 끝시간이 있고, 늘리거나 줄일 수 있습니다. (위 그림은 드래그 할 수 있는 부분을 늘린 상태입니다.) 

시간 속성 폼에서는 시간대, 애니메이션 속도 기타 옵션을 설정할 수 있습니다. 지도의 현재 시간에 따라 시간정보 태그가 붙은 자료가 나타나기도 하고 사라지기도 합니다. TimeSpan 태그는 시작 날짜/시간과 끝 날짜/시간을 설정하는데 사용합니다. 아래는 시작하는 시간을 2003년 1월1일, 끝나는 시간을 2003년 12월 31일로 설정한 예입니다.

개요
여기에서는 ARCGIS와 Google Earth를 통합하여 텍사스주 오스틴시의 1997년부터 2003년까지 건축 승인 자료를 분석하는 예를 설명 드리겠습니다. 우선, Spatial Anayst 확장기능이 있는 ArcGIS를 사용하여 공간 분석을 한 후, 그 결과를 래스터/벡터 파일로 생성하고, 구글어스의 시간제어기능을 통하여 분석결과를 표시하는 KML 파일을 생성하겠습니다. 자세한 설명에 들어가기 전에 먼저 최종결과를 둘러 보시기 바랍니다. 구글어스가 설치되어 있지 않다면, 먼저 Google Earth 4를 먼저 설치해 주세요. 여기에서는 2개의 kml을 생성할 것입니다. 첫번째는 센서스 구역(census track)별 건축 승인 자료를 벡터방식으로 분석하여 누진 칼라 지도(graduated color map)를 생성할 것입니다. 이 분석결과를 보시려면 여기를 눌러보세요. 두번째로 동일한 자료로부터 래스터 형식으로 "온도지도(heat map)"을 생성할 것인데, 그 결과는 여기를 누르면 보실 수 있습니다.

작업절차
1단계 - GIS 자료 획득
먼저 텍사스주 오스틴시로부터 1997년부터 2003년까지의 건축허가자료를 입수했습니다. 이 자료는 좌표가 부여되어있고, shape 포맷의 점자료로 저장되어 있으며, 매년 별도의 파일로 저장되어 있습니다. 오스틴 시의 건축허가자료에 관한 상세한 정보는 오스틴시 웹사이트를 방문해 보시기 바랍니다. 우선 이 자료를 ArcMap으로 불러들이고, 공간 조인 연산을 위해 센서스 구역 폴리곤도 불러들였습니다.

2 단계 - ArcMap 자료처리
이 예제의 목표는 2가지 KML을 작성하는 것입니다. 첫번째는 벡터 분석 결과이며, 두번째는 래스터(heat map) 분석결과입니다. 벡터 분석에서는 오스틴시 영역의 센서스 구역 폴리곤을 추가하였습니다. 건축 허가 자료가 포함된 shape 파일과 센서스 구역 폴리곤을 사용하여 여러가지 공간 조인 연산을 수행했습니다. ArcMap에서 공간 조인을 수행하는 방법은 Arc 데스크탑 도움말 파일을 참고하시기 바랍니다. 공간 조인 연산으로 수행한 결과는 센서스 구역 폴리곤에 새로운 속성으로 각각의 구역에서 승인된 건축허가 건수를 생성하였습니다. 이러한 과정을 모든 연도에 대해 반복하여 년도별 건축허가 건수를 새로운 필드로 생성하였습니다. 그 결과는 아래 그림과 같습니다.

이렇게 생성된 필드를 사용하여 연도별 누진컬러지도(graduated color map)를 생성하였습니다. 최종적으로 ArcMap의 Export Map 기능을 사용하여 이 파일들을 .png 포맷으로 변환하였습니다. 예를 들어, 2003년의 건축허가 누진컬러지도를 go_Census_Tracts_2003.png로 변환하였습니다. 이 이미지 파일이 구글어스 애니메이션의 기초자료로 사용됩니다.



"온도지도(heat map)" 래스터 분석자료는 ArcGIS의 Spatial Analyst 확장버전에서 Point Density 도구를 사용하여 생성하였습니다.

 벡터 누진 컬러지도와 마찬가지로, 연도별로 래스터 레이어를 생성한 후, 이를 Export Map 기능을 이용하여 .gif 포맷으로 변환하였습니다. 아래 그림은 이러한 과정을 통해 제작한 래스터 "온도지도"입니다.


 ArcMap에서 마지막으로 수행한 작업은 최종 이미지 파일의 범위에 대한 경위도 좌표값(Deciaml Degree값 : 도분초방식이 아닌 소숫점 방식. 예를 들어 127도 30분은 Decimal Degree로 127.5도)을 알아내는 것입니다. 먼저 "Data Frame Properties"를 "Deciaml Degrees"로 설정하고, 커서를 화면 양 끝으로 이동시킨 후, 수작업으로 좌표를 수집하면 됩니다.

한가지 고려할 사항은 영상의 투명도를 고려해야 한다는 것입니다. 투명도를 적절히 설정하면 분석결과를 보면서, 구글어스가 제공한 지형도 동시에 볼 수 있습니다. 여기에서는 "Layer Properties"에 있는 Display 탭에서 각 이미지 투명도 값을 50%로 설정하였습니다. 투명도는 반드시 여기에서 설정할 필요는 없습니다. 구글어스에서도 설정할 수 있습니다.

3 단계 - KML/KMZ 파일
구글어스 애니메이션을 생성하는 최종 단계는 자료를 표시하는데 사용되는 KML/KMZ 파일을 생성하는 것입니다. 생성하는 방법은 매우 다양하지만, 이 예제의 성격상, 보다 정확히 이해하는데 도움이 될 수 있도록 텍스트 에디터(Notepad)를 사용하여 파일을 직접 생성하겠습니다. 다만, 기본 kml 파일만은 구글어스에서 생성합니다.

 먼저 구글어스를 열고, 위치(Places) 패널에서 추가(Add) -> 폴더(Folder)를 선택하여 이미지를 넣을 폴더를 생성하고, 아래와 같이 “Austin Building Permits 1997 – 2003” 등의 폴더 명을 부여한 뒤, OK 버튼을 누릅니다.

이제 새로 생성된 폴더를 마우스 오른쪽 버튼으로 클릭하고, "다른 이름으로 저장(Save As)"를 선택한 후 kml 포맷(지금은 kmz를 선택하면 안됨)으로 파일을 생성합니다. 이렇게 생성된 파일은 가장 기본적인 kml 구조를 담고 있는데, 앞으로 이 파일을 적당한 텍스트 에디터로 편집하면 됩니다. 구글어스를 닫아버리고, 여러분이 저장한 kml파일을 찾아 에디터로 불러들이면 다음과 같은 내용이 들어 있을 것입니다.


이 파일에 우리가 생성한 이미지를 영상지상중첩(Ground Overlay)로 불러들이고, 애니메이션용 태그를 붙이는 과정이 필요합니다. 우선 ArcMap에서 생성한 모든 영상을 kml 파일에서 중첩영상(Image Overlay)로 받아들여야 합니다. 아래 예제는 태그를 사용하여 영상을 구글어스의 중첩영상으로 읽어오는 방법을 보인 것입니다. 이것은 첫번째 중첩영상으로서, 1997년도 건축허가 분석결과입니다.

여기에서 먼저 몇가지 태그의 속성에 대해 설명드리겠습니다. 우리가 ArcMap에서 변환한 영상파일을 가르키는 부분을 살펴보시기 바랍니다. 이 KML에서는 영상의 절대 위치를 입력했지만, 나중에 이 파일을 쉽게 배포할 수 있도록 상대 위치(relative path name)로 바꾸는 방법을 알려드리겠습니다. 또 한가지, 영상의 범위를 나타내는 태그를 보아주시기 바랍니다. 구글어스에서는 이러한 방법으로 영상의 위치를 지정해야 합니다. 2단계에서 수집하였던, ArcMap 화면의 위치를 이러한 방식으로 편집하시기 바랍니다.

이제 영상중첩을 정의하는 방법을 알았으므로, 각각의 영상에 시간을 부여하여 구글어스에서 시간에 따라 영상을 표시하는 방법을 알아야 합니다. 이 문서 앞부분에서 이 작업에 필요한 태그를 설명드렸는데, 아래에 예제 파일처럼, <TimeSpan> 태그를 <GroundOverlay>태그 안에 삽입하면 구글어스에서 영상이 나타나는 시간을 제어할 수 있습니다.

이와 같이 정의를 하면, 1997년 건축허가 자료를 표시하는데 필요한 모든 정의가 완료된 것입니다. 이제 나머지 영상에서도 똑같은 절차를 수행해야 합니다. 지루한 작업이지만, 복사/붙여넣기를 사용하면 간단히 정리하실 수 있을 것입니다. 여기를 누르시면 편집이 끝난 파일을 다운로드 할 수 있습니다. (번역자 주: 원 포스트에도 링크가 없습니다.)

모든 영상에 대해 kml태그 작업을 끝내고 파일을 저장하면 구글어스에서 이 파일을 열 수 있습니다. 대략 다음과 같은 결과를 보실 수 있을 것입니다.

위치(Places) pane의 폴더에 모든 영상이 삽입되어 있고, 시간제어기(Time control)이 활성화되어 있음을 아실 수 있을 것입니다. 이 시점에서 작성한 kml 파일을 효과적으로 공유하고 배포하려면 한가지 작업이 더 필요합니다. 우리가 작성한 kml 에는 영상의 위치가 절대경로로 입력되어 있습니다. 이 kml 파일을 kmz 포맷으로 변환하면 원래의 영상이 kmz 포맷에 함께 들어가게 되고, 영상의 절대 경로도 상대 경로로 바뀌게 됩니다. 그냥 구글어스에서 폴더를 마우스 오른쪽 버튼으로 클릭하고, "다른 이름으로 저장(Save As)"를 선택한 후, 포맷을 .kmz로 저장하기만 하면 됩니다.

생성된 kmz 파일의 물리적구조는 다음과 같아집니다.

모든 영상이 kmz 파일에 삽입되고, 새로운 doc.kml이 생성됩니다. doc.kml의 내용은 우리가 처음 만들었던 kml 파일과 거의 비슷합니다. 다만, 영상의 위치가 상대경로로 지정되어 있습니다.

.kmz 파일의 내용을 확인하시려면 파일 확장자만 .zip으로 바꾼뒤 압축을 풀어주면 됩니다.

4단계 : 시간 제어기(Time Control) 사용법
구글어스의 기능이 모두 그렇듯이 시간제어기도 아주아주 사용하기 쉽습니다. 구글어스가 kml/kmz 파일에 시간관련 태그가 들어있다는 것을 감지하면 저절로 제어기가 표시됩니다.

실행(Play) 버튼 - kml/kmz 파일로부터 애니메이션을 실행하는데 사용됩니다.

중지(Pause) 버튼 - 애니메이션을 잠시 중지 시킬때 사용됩니다.

시간속성 표시(Display Time Properties) - 시간 속성 폼을 띄우는 데 사용됩니다.

시간 범위(Time Span) - 화면에 표시되는 시간 범위(시작/끝 시간)를 드래깅하여 지정하는 데 사용됩니다. (역자 주: 애니메이션이 중간중간 끊어지는 경우, 맨처음에 시간범위를 최대로 벌려두어 모든 데이터를 다운로드 받은 뒤, 다시 범위를 줄여놓고 애니메이션을 하면 좋습니다. 특히, 영상이나 모델이 kmz 파일에 없고 네트웤상의 다른 곳에 있을 경우 유용합니다.)

결론

여기에서는 ArcMap과 구글어스를 사용하여 지리정보를 애니메이션으로 표시하는 간단한 절차를 설명드렸습니다. GIS 분야에서는 시간에 따른 자료의 변화패턴을 알 수 있어, 이러한 형태의 분석이 매우 중요합니다.