- This topic has 4개 답변, 2명 참여, and was last updated 9 years, 4 months 전에 by asteroid84.
-
글쓴이글
-
-
우리나라 주변의 운량을 각 관측소 위치에 숫자로 표출하고 싶어서 아래와 같이 코드를 짰습니다.
;;——————————————————————————
;; Groud Cloud Amount
MAP_SET, (map_limit[0]+map_limit[2])/2,(map_limit[1]+map_limit[3])/2 $
,scale=scale,charsize=2.5 $
,xmargin=xmargin,ymargin=ymargin,/noborder,/lambert,/isoMAP_CONTINENTS,/hires,/coast,color=250,thick=2
FOR istn=0,nline-1 DO BEGIN
stn_pos=WHERE(gts_id[istn] EQ stn_id, npos)IF(npos GT 0 AND npos LT 2)THEN BEGIN
PLOTS, stn_lon[stn_pos],stn_lat[stn_pos], psym=SYMCAT(9),color=255,symsize=2,noclip=0
IF(gts_ca[istn] LT 10 AND gts_ca[istn] GT -1)THEN BEGIN
XYOUTS,stn_lon[stn_pos],stn_lat[stn_pos]-0.4,STRING(gts_ca[istn],F='(i1)’) $
,align=0.5,color=255,charsize=1.1,charthick=5,font=0,noclip=0
ENDIF
ENDIF
ENDFOR ;; istn
MAP_GRID,box=1
;;——————————————————————————PLOTS는 noclip=0을 잘 받아들여 지도영역 내에만 사용이되는데,
XYOUTS는 noclip=0을 사용하였는데도 지도영역을 넘어선 영역에도 마구 운량값을 찍어대는군요.MAP_SET에서 설정된 영역 안에 대해서만 XYOUTS를 사용하려면 어떻게 해야할까요??
추가. Q&A 게시판에 코드나 그림을 파일로 첨부할 수는 없는건가요?
- 이 게시글은 asteroid84에 의해 9 years, 4 months 전에 수정됐습니다. 이유: 태그 추가
-
아래와 같은 코드는 XYOUTS가 지도영역 밖으로 나가지 않네요.
궁금증이 더욱 커져갑니다. ㅠㅠPRO exam_xyouts_clip
map_limit=[30,110,50,130]
scale=23e6
!y.margin=[3,7]
!x.margin=[3,3]
;;—————————————————————————–
;; noclip=default
window,0,xs=500,ys=500map_set,(map_limit[0]+map_limit[2])/2,(map_limit[1]+map_limit[3])/2 $
,title=’NOCLIP= default’,/lambert,scale=scaleXYOUTS,120,40,’HELLO’,charthick=2,charsize=3
XYOUTS,120,52,’Nice to meet you’,charthick=2,charsize=3
XYOUTS,120,29,’Bye’,charthick=2,charsize=3map_continents
map_grid,box=-1;;—————————————————————————–
;; noclip=0
window,1,xs=500,ys=500map_set,(map_limit[0]+map_limit[2])/2,(map_limit[1]+map_limit[3])/2 $
,title=’NOCLIP: 0′,/lambert,scale=scaleXYOUTS,120,40,’HELLO’,charthick=2,charsize=3,noclip=0
XYOUTS,120,52,’Nice to meet you’,charthick=2,charsize=3,noclip=0
XYOUTS,120,29,’Bye’,charthick=2,charsize=3,noclip=0map_continents
map_grid,box=-1
;;—————————————————————————–
END -
질문 드렸던 위 코드는 한 창에 두 개의 그림을 그리는 것으로,
!p.mulit=[0,2,1,0,0] 으로 설정되어 있습니다.결과물을 살펴보니,
첫 번째 그림에는 지도 영역 내에서만 xyouts이 적용되었으나,
오른편의 두 번째 그림에서는 지도 영역 밖으로 튀어나가는 것을 확인할 수 있었습니다.plots는 문제 없이 영역 내에서 그림이 그려지는데,
xyouts만 저러는 이유가 뭘까요..- 이 답변은 asteroid84에 의해 9 years, 4 months 전에 수정됐습니다.
- 이 답변은 asteroid84에 의해 9 years, 4 months 전에 수정됐습니다.
- 이 답변은 asteroid84에 의해 9 years, 4 months 전에 수정됐습니다.
-
Sangwoo회원
올려주신 exam_xyouts_clip 라는 프로그램을 기준으로 말씀드리면, 현 상태에서는 MAP_SET으로 그려지는 지도의 경위도 범위가 좁아서 ‘Hello’, ‘Bye’ 모두 그래픽창 바깥에 위치하게 됩니다. 따라서 NOCLIP 설정과는 상관없이 어느 경우에든 보이지가 않습니다. 어차피 경위도 범위를 map_limit라는 이름으로 정해놓은 상태이므로 이걸 활용하는게 좋은데, 이를 위해서는 MAP_SET 명령에 LIMIT=map_limit라는 키워드를 추가하되 SCALE 키워드는 없애야 합니다. 이렇게 해서 지도의 경위도 범위를 정상적으로 설정하면, ‘Hello’, ‘Bye’ 문자들이 지도 외곽의 여백에서 NOCLIP 키워드 설정에 따라 첫번째 지도에서는 어디서든 다 나타나고 두번째 지도에서는 경위도 범위내에서만 나타난다는 것을 확인할 수 있습니다.
-
MAP_SET 명령에 limit 없이, scale만 주고, lambert 도법으로 그릴때가 가장 지도가 예뻐서 이렇게 사용하고 있었는데, 저 경우에는 limit을 사용하는 것이 좋겠군요.
항상, 감사합니다!
-
-
글쓴이글