IDL/Mapping

IDL에서 지도의 표출 및 활용법에 관하여 [13]

이상우_idl 2015. 5. 12. 09:30
728x90
반응형

* 오늘 내용은 이전 게시물인 [12]에서 바로 이어집니다. 여기서 사용했던 예제코드의 내용을 바탕으로 오늘 필요한 내용은 다음과 같습니다.


win = WINDOW(DIMENSIONS=[600, 600])

m = MAP('Geographic', LIMIT=[30, 120, 45, 135], $

  ASPECT_RATIO=0, MARGIN=0.08, /CURRENT)

im = IMAGE(data, RGB_TABLE=74, IMAGE_DIMENSIONS=[15, 15], $

  IMAGE_LOCATION=[120, 30], GRID_UNITS=2, /OVERPLOT)

mc = MAPCONTINENTS('GSHHS_i_L1.shp', THICK=2)

mg = m.MapGrid

mg.Linestyle = 2

mg.LABEL_POSITION = 0

mg.Font_Size = 12

mg.Clip = 0


앞서 [12]에서 위의 예제코드로 그렸던 그림들의 경우는 지도와 이미지만 존재하는 상태입니다. 하지만 이미지의 경우 색상의 변화가 바로 2차원 자료값 자체의 변화를 나타내므로, 자료값과 매칭되는 색상들을 나타내는 컬러바가 있으면 더 좋을 것 같습니다. 그래서 이러한 컬러바를 그리기 위하여 다음과 같이 COLORBAR라는 함수를 사용해 보았습니다. COLORBAR 함수는 말 그대로 컬러바를 표출하는데 사용되는 그래픽 함수입니다. 여기서는 예제로 사용된 2차원 자료의 값들의 범위인 0~1에 대한 색상 스케일을 나타내는데, TARGET라는 속성에 대하여 im이란 값이 부여되어 있습니다. 즉 색상 스케일을 표시할 대상이 바로 앞서 IMAGE 함수로 생성했던 이미지가 되도록 하라는 의미입니다. 그리고 POSITION 속성을 사용하여 컬러바가 하단부에 적절하게 위치하도록 하였습니다.


cb = COLORBAR(TARGET=im, TITLE='Value', FONT_SIZE=12, $

  POSITION=[0.2, 0.08, 0.8, 0.11])


다만 여기서 하나 또 신경써야 할 부분이 있습니다. 앞서 그렸던 지도와 이미지의 경우는 그래픽창을 거의 다 채우도록 그렸기 때문에 컬러바가 추가적으로 삽입될 공간 여백이 더 필요합니다. 따라서 앞서 MAP 함수가 사용되었던 부분을 약간 수정해줘야 합니다. 이를 위하여 다음과 같이 POSITION이란 속성을 따로 사용하여, 지도 그림이 차지할 공간의 범위를 Normal 좌표계 기반으로 설정해주는 방법을 사용하였습니다. 그리고 컬러바가 하단에 삽입되려면 그래픽창의 세로 길이가 좀 더 길어지는 것이 좋을 것으로 보이므로 WINDOW 함수의 내용도 함께 수정하기로 합니다. 그러면 WINDOW 및 MAP 함수가 사용되었던 부분을 다음과 같은 내용으로 대체하면 됩니다. 이와 같은 모든 과정들이 수행되면 다음 그림과 같이 이미지가 중첩된 지도와 컬러바가 함께 표출된 결과를 얻을 수 있게 됩니다.


win = WINDOW(DIMENSIONS=[600, 700])

m = MAP('Geographic', LIMIT=[30, 120, 45, 135], $

  ASPECT_RATIO=0, POSITION=[0.08, 0.14, 0.92, 0.98], /CURRENT)



이러한 방법은 지도 투영법이 변경되어도 유효합니다. 따라서 위의 예제 코드에서 MAP 함수가 사용되었던 부분만 다음과 같이 변경하여 LCC(Lambert Conformal Conic) 투영법의 지도를 그린 후 그 위에 이미지가 중첩되도록 해볼 수 있습니다. 그 결과는 다음 그림과 같습니다.


m = MAP('Lambert Conformal Conic', LIMIT=[30, 120, 45, 135], $

  STANDARD_PAR1=30, STANDARD_PAR2=60, $

  ASPECT_RATIO=0, POSITION=[0.06, 0.20, 0.94, 0.96], /CURRENT)



투영법의 특성상 경도 및 위도 격자선이 기울어지거나 굴곡이 생기는데, 중첩되는 이미지도 이러한 기하학적 특성에 맞게 변형되어 표출됩니다. 따라서 다른 투영법을 사용하게 되면 역시 그 투영법의 특성에 맞도록 이미지가 변형되어 중첩된다는 점을 염두에 두면 되겠습니다.


반응형