xrange를 지정한 상태에서 mapcontinent 넣기

29 views
Skip to first unread message

[KS서울날씨청] KS Meteorology

unread,
Dec 8, 2021, 3:07:13 AM12/8/21
to 대한민국 IDL/ENVI/SARScape 사용자 포럼
안녕하세요...
정말 쉬운 테크닉인데, 몇 시간동안 해결이 잘 안되어서 질문을 올립니다.

현재 제가 contour를 하는 중에
우리나라 (아시아)가 왼쪽, 미국 (아메리카)가 오른쪽으로 지정을 하고 있어서
xrange를 0,360 (180부터 360이 기존 -180~0) 으로 지정을 하였습니다.

그 후 mapcontinent 함수를 써서 사각형 틀 안에 지도를 넣는게 현재 작업입니다.

그러나 xrange를 0,360으로 하면 0,180에 해당되는 아시아와 유럽은 나오는데, 정작 날짜변경선 보다 오른쪽에 있는 미국이 아예 안 나오고 있습니다.

그렇다고 xrange를 -180부터 180으로 두면, 아메리카가 왼쪽, 아시아가 오른쪽에 나옵니다;;;

혹시 map 함수 (mercator, geographic 등등)을 쓰지 않은 상태에서 contour xrange를 어떻게 바꾸어야만 mapcontinent 함수가 제대로 먹는지 알고 싶습니다.

너무 답답합니다 ㅠ
감사합니다

f.PNG

이상우

unread,
Dec 9, 2021, 1:34:32 AM12/9/21
to 대한민국 IDL/ENVI/SARScape 사용자 포럼
프로그램 내용이 있는 스크린샷이 잘려있어서 정확히 파악은 안되지만, 아마도 맵 상에 contour를 중첩하는 작업인 것으로 보입니다. 이런 작업이라고 한다면 먼저 바탕 지도를 표출하고 경위도 범위를 설정하는 작업을 MAP 함수 및 LIMIT 키워드로 처리하는 것이 선행되어야 합니다. 그런 다음에 CONTOUR 함수 및 OVERPLOT 키워드를 사용하여 중첩하는 작업으로 이어져야 할 것입니다. 그리고 경도 범위를 0~360으로 설정하여 아시아 지역이 좌측 그리고 아메리카 지역이 우측에 위치하도록 하는 것도 가능합니다. 지도 표출 후 contour를 중첩하는 간략하고 투박한 예제 코드를 첨부해보았으니 한번 참조해보시기 바랍니다.

data = HANNING(360, 90)*100
win = WINDOW(DIMENSIONS=[900, 400], /NO_TOOLBAR)
m = MAP('Geographic', LIMIT=[0, 0, 90, 360], $
  HORIZON_LINESTYLE=0, ASPECT_RATIO=0, $
  MARGIN=0.1, /CURRENT)
cn = CONTOUR(data, RGB_TABLE=34, /OVERPLOT)
mc = MAPCONTINENTS()
m.MapGrid.Linestyle = 2
m.MapGrid.LABEL_POSITION = 0

2021년 12월 8일 수요일 오후 5시 7분 13초 UTC+9에 jungji...@gmail.com님이 작성:
Reply all
Reply to author
Forward
0 new messages