- This topic has 3개 답변, 2명 참여, and was last updated 1 year, 8 months 전에 by Sangwoo.
-
글쓴이글
-
-
S.H.Ahn회원
안녕하세요? contour 관련하여 질문 드립니다.
지도로 표출을 하였는데요, 해양인 부분을 제외하고 land인 부분의 contour line을 삭제하기 위하여, map continent background로 덮어주었으나, 최종 저장되는 png 파일엔 계속해서 contour line이 보입니다.
그런데 buffer하지 않고 window graphic 창에서 보면 contour line은 보이지 않습니다.
land mask 자료로 덮어보아도 최종 save로 저장되는 그래프에서는 계속 라인이 남아있어서, 어떻게 삭제 할 수 있을지 질문 드립니다.
cntr = CONTOUR(msl[*,*,4],lon,lat, /fill, GRID_UNITS=’degrees’, RGB_TABLE=ct, MIN_VALUE= minv, MAX_VALUE=maxv, N_LEVELS=20, MAP_PROJECTION=’Polar Stereographic’, POSITION=[0.1,0.1,0.95,0.95], /OVERPLOT)
cntr2 = CONTOUR(msl[*,*,4],lon,lat,GRID_UNITS=’degrees’, N_LEVELS=20, COLOR=’black’, C_LABEL_SHOW=0, C_THICK=0.01, MAP_PROJECTION=’Polar Stereographic’,POSITION=[0.1,0.1,0.95,0.95], /OVERPLOT)
im = image(lsm[*,*,4],lon,lat, /fill, GRID_UNITS=’degrees’, RGB_TABLE=0, MAP_PROJECTION=’Polar Stereographic’,/OVERPLOT, POSITION=[0.1,0.1,0.95,0.95])
mc = MAPCONTINENTS(COMBINE=1, FILL_COLOR=’snow’, COLOR=’black’, FILL_BACKGROUND=1, THICK=1, /HIRES)
win1.Save, opath+’2019091900_label.png’, WIDTH=5000 -
S.H.Ahn회원
ANTIALIAS를 통해 해결하였습니다. 감사합니다
-
Sangwoo회원
저도 간단히 테스트를 좀 해본 결과, cntr2에서 ANTIALIAS를 0으로 설정하면 해결이 되는 것을 확인하였습니다. 정확한 이유는 저도 잘 모르겠지만 그 방법이 가장 좋을 것 같습니다. 감사합니다.
-
Sangwoo회원
그리고 추가적으로 언급을 드리자면, 원래 올려주신 코드에서 cntr2를 구현할 때 C_THICK의 값이 0.01로 매우 작게 설정되어있는데요. 어차피 contour의 라인이 보이도록 하실 의도라면 이렇게 작게 할 필요는 없습니다. 그냥 1 또는 2 정도의 값으로 설정해도 충분합니다. 그렇게 할 경우에는 굳이 ANTIALIAS를 0으로 설정하는 처리는 필요가 없습니다. 즉 ANTIALIAS를 0으로 설정해야만 해결되었던 이유는 애초에 C_THICK의 값이 0.01이라는 너무 작은 값으로 설정되었기 때문이라고 보시면 됩니다. C_THICK의 값을 1, 2 등과 같은 무난한 값으로 설정을 한다면 굳이 ANTIALIAS 설정을 또 할 필요는 없다는 점을 유의하시면 됩니다.
-
-
글쓴이글