지도위에 그림그리는법

게시판 IDL Q&A 지도위에 그림그리는법

이 게시글은 2개 답변과 3명 참여가 있으며 마지막으로  Sangwoo에 의해 4 주, 1 일 전에 업데이트 됐습니다.

  • 글쓴이
  • #5110

    HPkim
    회원

    polar map 위에 image나 contour를 이용해서 potential map을 그리려고 합니다.
    function을 이용해서 그릴 수 있는 방법은 없는지요?….

    READCOL, ‘C:\Users\20150625.txt’, record, indices1, indices2, mlat, mlon, efield_n, efield_e, vel_n, vel_e, potential, time, format='(i,a,a,i,i,f,f,f,f,f,a)’
    mlon=mlon-180
    P=[]
    for i=0, (n_elements(record)/180)-1 do begin
    P=[[P],[potential[i*180:(i*180)+179]]]
    endfor

    help, p

    x=[-180:178:2]
    y=[50:89]

    c= image(p,x,y,rgb_table=33,/current)
    m=map(‘polar’,limit=[50,-180,90,180],/current)

    end

    data 파일은 https://drive.google.com/open?id=0BxnExY0Y93j4U2xDS0QxN2pJU00 에 있습니다..

  • #5114

    mwkim
    회원

    안녕하세요, 질문올리신 내용은 다음과 같이 수정하면 될 것 같습니다.

    c= image(p,x,y,rgb_table=33,grid_unit=’deg’)
    m=map(‘polar’,limit=[50,-180,90,180],/overplot)

    위 내용과 관련해서 몇 가지 설명 드리면 다음과 같습니다.

    =========================================
    IMAGE 함수의 GRID_UNIT 사용: 이미지 함수를 사용할 때, x,y 또는 lon,lat 자료를 사용할 수 있는데,
    해당 격자 자료를 사용할 때는 GRID_UNIT을 사용한 자료에 맞게 정의해 주어야 합니다.
    해당 키워드에 대한 자세한 내용은 도움말을 참고하세요.
    =========================================
    MAP 함수의 OVERPLOT 사용: CURRENT를 사용하셨는데, 이 경우는 OVERPLOT을 사용하는 것이 맞습니다.
    CURRENT는 단순히 두 개의 표출을 현재 창에 하는 것이라면
    OVERPLOT은 두 개의 표출을 하나의 좌표에서 표출하는 것입니다.
    역시 자세한 내용은 도움말을 참고하세요.
    =========================================

    또한 지도 표출과 관련해서는 아래 링크를 참고하시면 도움이 될 것 같습니다.

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

  • #5115

    Sangwoo
    회원

    첨언을 좀 하자면, 위의 댓글에서 언급된 링크는 Polar Stereographic 투영법을 사용하여 극지방 중심의 지도를 표출하는 방법에 관한 내용입니다. 하지만 지금 원하시는 것은 지도를 그리는 것 뿐 아니라 그 위에 2차원 데이터를 중첩 표출하는 작업일텐데요. 지도상에 2차원 데이터를 중첩 표출하는 기본적인 방법에 관해서는 아래 두 링크의 내용도 참조하시길 바랍니다. 아래 링크의 내용에서 지도 투영법만 바꾸면 될 것 같습니다.

    http://blog.daum.net/swrush/303

    http://blog.daum.net/swrush/304

답변은 로그인 후 가능합니다.