New Graphics에서 ESRI Shape File 활용

얼마 전 에스이랩의 최규철 연구원이 작성한 한장강의 Map 그리기 편에서는 New Graphics에서 지도의 투영법을 설정하고, 그 위에 해안선 등의 경계선을 어떻게 설정하는지를 설명하였습니다. 이 문서에서 맨 마지막에 보면, 참고사항으로

“Shape 파일이 있는 경우, MAPCONTINENTS 함수에서 해당 파일을 지정해 주면, 경계선으로 표출할 수 있다”

는 내용이 나옵니다. 이것이 무슨 얘기일까요? IDL 도움말에서 MAPCONTINENTS 를 찾아 보면,   MAPCONTINENTS 함수가 받아들일 수 있는 유일한 인자가 Filename인데, 이것이 바로 Shape File의 경로가 위치할 곳입니다. 물론 대부분의 경우 IDL에 내장된 지도 자료를 사용해서 어지간한 수준의 해안선이나 강을 표시하는 것이 가능합니다만, 더 자세한 정보를 위해 가지고 있는 다른 지도 정보를 활용하고자 한다면, 이 기능이 꽤 유용하게 사용될 수 있습니다. 예를 들어, GSHHG(A Global Self-consistent, Hierarchical, High-resolution Geography Database)에서 제공하는 고해상도 해안선 지도를 이용해서 우리나라의 해안선을 그리고자 한다면, 다음과 같이 사용할 수 있는 것입니다.

 

shp_continents

예제 코드에서 보듯이, Shape 파일의 경로(파일명)를 알려 주면 이를 이용하여 경계선을 지도상에 표출합니다. 만일 가지고 있는 도 경계선, 강 유역 경계선 등의 Shape 파일이 있다면 그대로 IDL의 New Graphics에서 사용할 수 있다는 것이죠. 실제로 현재의 New Graphics는 모든 경계선 데이터를 Shape Format으로 가지고 있습니다. IDL_DIR/resource/maps/shape 폴더를 들어가 보면, 캐나다의 주 경계선, 미국의 주 경계선, 국경선 등의 데이터가 모두 Shape 파일로 들어 있다는 것을 확인할 수 있습니다. MAPCONTINENTS의 키워드들을 조합하여 이 파일들을 표출하는 것입니다.