다양한 심볼 그리기 [psxy]
작성자
heukchoo
작성일
2021-01-17 20:16
조회
707
Synopsis
psxy [ table ] -Jparameters -Rwest/east/south/north[/zmin/zmax][+r] [ -A[m|p|x|y] ] [ -B[p|s]parameters ] [ -Ccpt ] [ -Ddx/dy ] [ -E[x|y|X|Y][+a][+cl|f][+n][+wcap][+ppen] ] [ -F[c|n|r][refpoint] ] [ -Gfill ] [ -Iintens ] [ -K ] [ -L[+b|d|D][+xl|r|x0][+yl|r|y0][+ppen] ] [ -N[c|r] ] [ -O ] [ -P ] [ -S[symbol][size[u] ] [ -T ] [ -U[stamp] ] [ -V[level] ] [ -W[pen][attr] ] [ -Xx_offset ] [ -Yy_offset ] [ -aflags ] [ -bibinary ] [ -dinodata ] [ -eregexp ] [ -fflags ] [ -ggaps ] [ -hheaders ] [ -iflags ] [ -pflags ] [ -ttransp ] [ -:[i|o] ]
앞에서는 psxy를 이용해 기본적인 도형을 그리는 것을 설명했다.
psxy로 그릴 수 있는 심볼은 다양하며 본 페이지에서 상세하게 소개한다.
단순한 형태의 심볼
입력 값은 "x, y" 2개의 컬럼으로 구성된 위치 값이다.
'-Sa20p'와 같이 심볼을 선택하는 첨자와 심볼의 크기만 설정하면 된다.
다음은 각 첨자와 그와 대응되는 심볼 이미지 이다.
막대형 심볼
-Sb[size[c|i|p|u]][b[base]]
-SB[size[c|i|p|u]][b[base]]
길이가 다양한 막대를 그릴 수 있다. 첨자 b는 수직 막대이고 첨자 B는 수평 막대이다. 설명은 수직 막대 기준으로 한다.
입력 값은 "x, 수직높이" 2개의 컬럼이나 "x, 수직높이, 기준높이" 3개의 컬럼을 가질 수 있다.(높이는 -R 옵션 범위에 따른다.)
'-Sb10p'와 같이 첨자 b 뒤에는 막대의 가로 너비가 된다.
단위 p를 u로 사용할 경우 도곽의 눈금을 단위로 사용한다.
막대의 시작점인 기준높이는 기본으로 y축 0값이 된다. '-Sb10pb10'과 같이 가로 너비 다음으로 추가된 b는 기준높이(base)를 설정한다.
다음은 사용 예시와 결과이다.(윈도우 기준으로 echo 명령을 사용)
타원 심볼
타원형을 그릴 수 있다. 첨자는 e와 E가 있으며 e 먼저 설명한다.
입력 값은 "x, y, 방향, 장축길이, 단축길이" 5개 컬럼이다.
방향은 도(degree) 단위이고 0도는 장축이 수평되도록 타원이 그려진다.
방향은 값은 반시계 방향으로 증가한다.
길이는 프로젝션(-J옵션)에 무관하며, 첨자 e 다음으로 길이의 단위를 설정한다.
첨자 E는 입력 값이 첨자 e와 같이 5컬럼이다. 그러나 방향은 0을 북으로하는 동서남북 방향을 사용한다.(시계방향)
X 프로젝션을 사용하는 경우 축의 길이는 -J 옵션의 단위에 좌우되어 별도로 단위를 설정하지 않는다.
다음은 X 프로젝션을 사용한 경우이다.
(프로젝션의 단위는 cm, 첨자 e는 inch, 첨자 E는 단위를 지정하지 않았다)
첨자 e와 E는 지도 투영법을 사용할 경우 차이가 확연하다.
첨자 E의 경우 축의 길이는 km 단위를 사용하며, 투영법에 따라 형태가 변형된다.
다음은 메르카토르 도법에서 비교이다.
참고로 '-SE-'와 같이 첨자 E 뒤에 -를 붙이면 원을 그린다. 이때 입력 값은 "x, y, 지름"의 3개 컬럼을 사용한다.
전선(Front) 심볼
-Sfgap[/size][+l|+r][+b+c+f+s+t][+ooffset][+p[pen]]
전선은 일기예보에서 고기압, 저기압과 같이 성질이 다른 두 대상이 만나는 경계를 말한다.
전선심볼은 기압전선과 같은 경계를 나타낼 수 있다.
입력값은 '선'을 그릴때와 같은 2열의 'x, y' 값들이다.
다음은 전선심볼의 옵션별 코드와 그 결과이다.(data는 두 지점 값을 갖는다.)
갭(gap)은 심볼의 간격을 의미하고, 사이즈(size)는 심볼의 크기이다.
갭의 값이 음수이면(대시를 붙이면) 등간격으로 나눠진 심볼의 개수로 해석된다.
첨자 +r을 붙이면 심볼의 오른쪽만(반쪽) 표시하고, +l은 왼쪽만 표시한다.
기본은 심볼을 중앙에 놓고 모두 표시한다.
심볼의 모양은 첨자로 선택할 수 있다.
박스(+b), 원(+c), 선(+f), 화살표(+s), 삼각형(+t)이 있고, 기본은 선이다.
첨자 +o는 시작점에서 첫 심볼의 간격을 줄때(offset) 사용한다.
첨자 +p로 선의 스타일을 지정할 수 있고, -W옵션과 -G옵션으로 스타일을 지정할 수 있다.
기울임 사각형 심볼
각도를 지정하여 기울어진 사각형의 심볼을 그릴 수 있다.
입력값은 'x, y, 각도, 가로길이, 세로길이'의 5개 열이다.
'-Sj'를 사용하는 경우 각도는 수평선의 우측을 0으로 하며 반시계 방향으로 나타낸다.
'-SJ'를 사용하는 경우 각도는 방위각이 되며, 맵 프로젝션을 사용하는 경우 프로젝션에 종속되어 그려진다.
사각형의 가로, 세로 길이도 프로젝션의 거리 단위로 표현된다.
'-SJ-'로 사용하는 경우 입력값은 'x, y, 각도' 3개 열만 사용한다.
사용자 심볼
사용자 심볼은 별도의 페이지에서 자세히 설명한다.
문자심볼
글을 심볼로 사용한다.
입력값은 'x, y' 2개 열이다.
'-Sl2+t글'의 2는 폰트 크기이다. 첨자 +t뒤에 출력한 글을 입력한다.
위 두개의 값은 필수 입력사항이다.
첨자 +f는 폰트를 설정할 수 있다.
+f 뒤에는 폰트명을 입력하며, 뒤에 콤마로 구분하여 폰트색을 설정할 수 있다.
폰트 스타일은 -W, -G 옵션으로 설정할 수도 있다.
첨자 +j는 출력 위치 x, y에 맞출 글의 위치 이다.
글을 사각형으로 보았을 때 LT(좌상), LM(좌중), LB(좌하), CT(중앙상), CM(중앙중), CB(중앙하), RT(우상), RM(우중), RB(우하) 중에서 선택해서 입력한다.
원호벡터 심볼
원하는 각도의 원호를 그릴 수 있다.
입력값은 'x, y, 중심점에서 거리, 시작각도, 종료각도'의 5개 열이다.
'-Sm1'과 같이 첨자가 붙지않은 상태에서 1값은 의미가 없다.
x, y는 중심점이 되고 중심점에서 거리값 떨어진 곳에 원호를 그린다.
각도는 수평선의 우측방향을 0으로 하며, 반시계 방향으로 나타낸다.
첨자 +b는 시작점에 화살표를 그린다. '-Sm0.2c'와 같이 0.2센티 크기로 지정할 수 있다.
첨자 +e는 종료점에 화살표를 그리며, 첨자 +l은 화살표 왼쪽만 그리고 첨자 +r은 오른쪽만 그린다.
첨자 +m은 선 가운데 화살표를 그린다.
첨자 b, e, m에 'bt'와 같이 추가 첨자를 붙여 헤드(화살표)의 모양을 바꿀 수 있다.
(종료선 t, 원 c, 화살촉 i, 화살선 A)
첨자 +h는 화살표의 모양을 바꾼다.(-2~2 범위의 값)
'-SM'으로 사용하는 경우 원호의 내각이 90도인 경우 직각선으로 표현한다.
-W, -G 옵션으로 원호 및 화살표의 스타일을 지정할 수 있다.
인용선 심볼
인용선 심볼은 별도의 페이지에서 자세히 설명한다.
사각형 심볼
원하는 가로세로 크기의 사각형을 그린다.
'-Sr'로 사용하는 경우 입력값은 'x, y, 가로크기, 세로크기' 의 4개 열이다.
'-SR'로 사용하는 경우 모서리가 곡선인 사각형을 그린다.
입력값은 'x, y, 가로크기, 세로크기, 모서리 반경' 의 5개 열이다.
입력값 예(1 1 3 2 0.2)
-W, -G 옵션으로 스타일을 지정할 수 있다.
벡터 심볼
화살표의 벡터를 그린다.
입력값은 'x, y, 각도, 길이'의 4개 열이다.
'-Sv'의 경우 각도는 수평선 우측을 0으로 하며, 반시계 방향으로 나타낸다.
'-SV'의 경우 각도는 방위각으로 표현되며 맵 프로젝션에 종속된다.
'-S='의 경우 '-SV'와 동일하며 입력값의 길이가 맵 프로젝션에 종속된다.
('-S=10p' 같이 화살표 크기 단위를 주의해야 한다.)
옵션의 첨자는 원호벡터 심볼과 동일하다.
'-Sv0.2c+b'와 같이 화살표의 크기와 위치(시작점)를 지정한다.
-W, -G 옵션으로 스타일을 지정할 수 있다.
파이 심볼
파이 모양의 심볼을 그린다.
입력값은 'x, y, 시작각도, 종료각도'의 4개 열이다.
(시작각도와 종료각도는 원호벡터 심볼을 참고)
'-Sw'의 경우 각도는 수평선 우측을 0으로 하며, 반시계 방향으로 나타낸다.
'-SW'의 경우 각도는 방위각으로 표현되며 맵 프로젝션에 종속된다.
'-S1'와 같이 x, y 값으로 부터 반지름 크기를 지정할 수 있다.
첨자 +a는 원호만 그리며, 첨자 +r은 반지름선만 그린다.
-W, -G 옵션으로 스타일을 지정할 수 있다.
psxy [ table ] -Jparameters -Rwest/east/south/north[/zmin/zmax][+r] [ -A[m|p|x|y] ] [ -B[p|s]parameters ] [ -Ccpt ] [ -Ddx/dy ] [ -E[x|y|X|Y][+a][+cl|f][+n][+wcap][+ppen] ] [ -F[c|n|r][refpoint] ] [ -Gfill ] [ -Iintens ] [ -K ] [ -L[+b|d|D][+xl|r|x0][+yl|r|y0][+ppen] ] [ -N[c|r] ] [ -O ] [ -P ] [ -S[symbol][size[u] ] [ -T ] [ -U[stamp] ] [ -V[level] ] [ -W[pen][attr] ] [ -Xx_offset ] [ -Yy_offset ] [ -aflags ] [ -bibinary ] [ -dinodata ] [ -eregexp ] [ -fflags ] [ -ggaps ] [ -hheaders ] [ -iflags ] [ -pflags ] [ -ttransp ] [ -:[i|o] ]
앞에서는 psxy를 이용해 기본적인 도형을 그리는 것을 설명했다.
psxy로 그릴 수 있는 심볼은 다양하며 본 페이지에서 상세하게 소개한다.
단순한 형태의 심볼
입력 값은 "x, y" 2개의 컬럼으로 구성된 위치 값이다.
'-Sa20p'와 같이 심볼을 선택하는 첨자와 심볼의 크기만 설정하면 된다.
다음은 각 첨자와 그와 대응되는 심볼 이미지 이다.
- + a c d g h i n s t x y p |
막대형 심볼
-Sb[size[c|i|p|u]][b[base]]
-SB[size[c|i|p|u]][b[base]]
길이가 다양한 막대를 그릴 수 있다. 첨자 b는 수직 막대이고 첨자 B는 수평 막대이다. 설명은 수직 막대 기준으로 한다.
입력 값은 "x, 수직높이" 2개의 컬럼이나 "x, 수직높이, 기준높이" 3개의 컬럼을 가질 수 있다.(높이는 -R 옵션 범위에 따른다.)
'-Sb10p'와 같이 첨자 b 뒤에는 막대의 가로 너비가 된다.
단위 p를 u로 사용할 경우 도곽의 눈금을 단위로 사용한다.
막대의 시작점인 기준높이는 기본으로 y축 0값이 된다. '-Sb10pb10'과 같이 가로 너비 다음으로 추가된 b는 기준높이(base)를 설정한다.
다음은 사용 예시와 결과이다.(윈도우 기준으로 echo 명령을 사용)
echo 2 2 | gmt psxy -JX15c/5c -R0/14/0/6 -Bf1g1wesn -Sb10p -Gblue -K > symbol.ps echo 4 2 | gmt psxy -J -R -Sb20p -Gblue -K -O >> symbol.ps echo 6 4 | gmt psxy -J -R -Sb10p -Gblue -K -O >> symbol.ps echo 8 2 | gmt psxy -J -R -Sb10pb1 -Gblue -K -O >> symbol.ps echo 10 2 1 | gmt psxy -J -R -Sb10pb -Gblue -K -O >> symbol.ps echo 12 2 | gmt psxy -J -R -Sb1u -Gblue -O >> symbol.ps |
타원 심볼
타원형을 그릴 수 있다. 첨자는 e와 E가 있으며 e 먼저 설명한다.
입력 값은 "x, y, 방향, 장축길이, 단축길이" 5개 컬럼이다.
방향은 도(degree) 단위이고 0도는 장축이 수평되도록 타원이 그려진다.
방향은 값은 반시계 방향으로 증가한다.
길이는 프로젝션(-J옵션)에 무관하며, 첨자 e 다음으로 길이의 단위를 설정한다.
첨자 E는 입력 값이 첨자 e와 같이 5컬럼이다. 그러나 방향은 0을 북으로하는 동서남북 방향을 사용한다.(시계방향)
X 프로젝션을 사용하는 경우 축의 길이는 -J 옵션의 단위에 좌우되어 별도로 단위를 설정하지 않는다.
다음은 X 프로젝션을 사용한 경우이다.
(프로젝션의 단위는 cm, 첨자 e는 inch, 첨자 E는 단위를 지정하지 않았다)
echo 6 3 0 4 2 | gmt psxy -JX15c/6c -R0/15/0/6 -Ba1f1g1WESN -Sei -Gblue -K > symbol.ps echo 13 3 0 4 2 | gmt psxy -J -R -B -SE -Gred -O >> symbol.ps |
첨자 e와 E는 지도 투영법을 사용할 경우 차이가 확연하다.
첨자 E의 경우 축의 길이는 km 단위를 사용하며, 투영법에 따라 형태가 변형된다.
다음은 메르카토르 도법에서 비교이다.
echo 30 40 20 4 2 | gmt psxy -JM15c -R0/100/20/60 -Ba10f10g10WESN -Sec -Gblue -K > symbol.ps echo 70 40 20 1000 500 | gmt psxy -J -R -B -SE -Gred -O >> symbol.ps |
참고로 '-SE-'와 같이 첨자 E 뒤에 -를 붙이면 원을 그린다. 이때 입력 값은 "x, y, 지름"의 3개 컬럼을 사용한다.
전선(Front) 심볼
-Sfgap[/size][+l|+r][+b+c+f+s+t][+ooffset][+p[pen]]
전선은 일기예보에서 고기압, 저기압과 같이 성질이 다른 두 대상이 만나는 경계를 말한다.
전선심볼은 기압전선과 같은 경계를 나타낼 수 있다.
입력값은 '선'을 그릴때와 같은 2열의 'x, y' 값들이다.
다음은 전선심볼의 옵션별 코드와 그 결과이다.(data는 두 지점 값을 갖는다.)
type data0.txt | gmt psxy -JX15c/8c -R0/15/0/8 -Ba1f1WESN -Sf2 -K > symbol.ps type data1.txt | gmt psxy -J -R -B -Sf2 -W2p,blue,- -K -O >> symbol.ps type data2.txt | gmt psxy -J -R -B -Sf2/1 -K -O >> symbol.ps type data3.txt | gmt psxy -J -R -B -Sf-4/0.2 -K -O >> symbol.ps type data4.txt | gmt psxy -J -R -B -Sf2/0.5+r -K -O >> symbol.ps type data5.txt | gmt psxy -J -R -B -Sf2/0.5+r+t -Gred -K -O >> symbol.ps type data6.txt | gmt psxy -J -R -B -Sf2/0.5+r+s+o1 -O >> symbol.ps |
갭(gap)은 심볼의 간격을 의미하고, 사이즈(size)는 심볼의 크기이다.
갭의 값이 음수이면(대시를 붙이면) 등간격으로 나눠진 심볼의 개수로 해석된다.
첨자 +r을 붙이면 심볼의 오른쪽만(반쪽) 표시하고, +l은 왼쪽만 표시한다.
기본은 심볼을 중앙에 놓고 모두 표시한다.
심볼의 모양은 첨자로 선택할 수 있다.
박스(+b), 원(+c), 선(+f), 화살표(+s), 삼각형(+t)이 있고, 기본은 선이다.
첨자 +o는 시작점에서 첫 심볼의 간격을 줄때(offset) 사용한다.
첨자 +p로 선의 스타일을 지정할 수 있고, -W옵션과 -G옵션으로 스타일을 지정할 수 있다.
기울임 사각형 심볼
각도를 지정하여 기울어진 사각형의 심볼을 그릴 수 있다.
입력값은 'x, y, 각도, 가로길이, 세로길이'의 5개 열이다.
'-Sj'를 사용하는 경우 각도는 수평선의 우측을 0으로 하며 반시계 방향으로 나타낸다.
'-SJ'를 사용하는 경우 각도는 방위각이 되며, 맵 프로젝션을 사용하는 경우 프로젝션에 종속되어 그려진다.
사각형의 가로, 세로 길이도 프로젝션의 거리 단위로 표현된다.
'-SJ-'로 사용하는 경우 입력값은 'x, y, 각도' 3개 열만 사용한다.
사용자 심볼
사용자 심볼은 별도의 페이지에서 자세히 설명한다.
문자심볼
글을 심볼로 사용한다.
입력값은 'x, y' 2개 열이다.
echo 2 1 | gmt psxy -JX15c/4c -R0/10/0/2 -Ba1f1WESN -Sl2+theuk -K > symbol.ps echo 5 1 | gmt psxy -J -R -B -Sl1+tchoo+jLT -Gred -W0.5p,blue -K -O >> symbol.ps echo 8 1 | gmt psxy -J -R -B -Sl1+t흑추+fHYGoThic-Medium--KSC-EUC-H,blue -O >> symbol.ps |
'-Sl2+t글'의 2는 폰트 크기이다. 첨자 +t뒤에 출력한 글을 입력한다.
위 두개의 값은 필수 입력사항이다.
첨자 +f는 폰트를 설정할 수 있다.
+f 뒤에는 폰트명을 입력하며, 뒤에 콤마로 구분하여 폰트색을 설정할 수 있다.
폰트 스타일은 -W, -G 옵션으로 설정할 수도 있다.
첨자 +j는 출력 위치 x, y에 맞출 글의 위치 이다.
글을 사각형으로 보았을 때 LT(좌상), LM(좌중), LB(좌하), CT(중앙상), CM(중앙중), CB(중앙하), RT(우상), RM(우중), RB(우하) 중에서 선택해서 입력한다.
원호벡터 심볼
원하는 각도의 원호를 그릴 수 있다.
입력값은 'x, y, 중심점에서 거리, 시작각도, 종료각도'의 5개 열이다.
echo 1 1 1 10 60 | gmt psxy -JX15c/4c -R0/10/0/2 -Ba1f1WESN -Sm1 -K > symbol.ps echo 2 1 1 10 60 | gmt psxy -J -R -B -Sm0.2c+b -K -O >> symbol.ps echo 3 1 1 10 60 | gmt psxy -J -R -B -Sm0.4c+e -K -O >> symbol.ps echo 4 1 1 10 60 | gmt psxy -J -R -B -Sm0.4c+e+l -K -O >> symbol.ps echo 5 1 1 -60 60 | gmt psxy -J -R -B -Sm0.2c+e+b -K -O >> symbol.ps echo 5 1 | gmt psxy -J -R -B -Sp0.2 -K -O >> symbol.ps echo 6 1 2 -60 60 | gmt psxy -J -R -B -Sm0.2c+e+b -K -O >> symbol.ps echo 6 1 | gmt psxy -J -R -B -Sp0.2 -K -O >> symbol.ps echo 8 1 1 0 90 | gmt psxy -J -R -B -SM1 -O >> symbol.ps |
'-Sm1'과 같이 첨자가 붙지않은 상태에서 1값은 의미가 없다.
x, y는 중심점이 되고 중심점에서 거리값 떨어진 곳에 원호를 그린다.
각도는 수평선의 우측방향을 0으로 하며, 반시계 방향으로 나타낸다.
첨자 +b는 시작점에 화살표를 그린다. '-Sm0.2c'와 같이 0.2센티 크기로 지정할 수 있다.
첨자 +e는 종료점에 화살표를 그리며, 첨자 +l은 화살표 왼쪽만 그리고 첨자 +r은 오른쪽만 그린다.
첨자 +m은 선 가운데 화살표를 그린다.
첨자 b, e, m에 'bt'와 같이 추가 첨자를 붙여 헤드(화살표)의 모양을 바꿀 수 있다.
(종료선 t, 원 c, 화살촉 i, 화살선 A)
첨자 +h는 화살표의 모양을 바꾼다.(-2~2 범위의 값)
'-SM'으로 사용하는 경우 원호의 내각이 90도인 경우 직각선으로 표현한다.
-W, -G 옵션으로 원호 및 화살표의 스타일을 지정할 수 있다.
인용선 심볼
인용선 심볼은 별도의 페이지에서 자세히 설명한다.
사각형 심볼
원하는 가로세로 크기의 사각형을 그린다.
'-Sr'로 사용하는 경우 입력값은 'x, y, 가로크기, 세로크기' 의 4개 열이다.
'-SR'로 사용하는 경우 모서리가 곡선인 사각형을 그린다.
입력값은 'x, y, 가로크기, 세로크기, 모서리 반경' 의 5개 열이다.
입력값 예(1 1 3 2 0.2)
-W, -G 옵션으로 스타일을 지정할 수 있다.
벡터 심볼
화살표의 벡터를 그린다.
입력값은 'x, y, 각도, 길이'의 4개 열이다.
'-Sv'의 경우 각도는 수평선 우측을 0으로 하며, 반시계 방향으로 나타낸다.
'-SV'의 경우 각도는 방위각으로 표현되며 맵 프로젝션에 종속된다.
'-S='의 경우 '-SV'와 동일하며 입력값의 길이가 맵 프로젝션에 종속된다.
('-S=10p' 같이 화살표 크기 단위를 주의해야 한다.)
옵션의 첨자는 원호벡터 심볼과 동일하다.
'-Sv0.2c+b'와 같이 화살표의 크기와 위치(시작점)를 지정한다.
-W, -G 옵션으로 스타일을 지정할 수 있다.
파이 심볼
파이 모양의 심볼을 그린다.
입력값은 'x, y, 시작각도, 종료각도'의 4개 열이다.
(시작각도와 종료각도는 원호벡터 심볼을 참고)
'-Sw'의 경우 각도는 수평선 우측을 0으로 하며, 반시계 방향으로 나타낸다.
'-SW'의 경우 각도는 방위각으로 표현되며 맵 프로젝션에 종속된다.
'-S1'와 같이 x, y 값으로 부터 반지름 크기를 지정할 수 있다.
첨자 +a는 원호만 그리며, 첨자 +r은 반지름선만 그린다.
-W, -G 옵션으로 스타일을 지정할 수 있다.
전체 0