GMT

컬러 테이블 만들기 [makecpt]

작성자
heukchoo
작성일
2021-01-17 20:25
조회
499
 

Synopsis

makecpt [ -A[+]transparency ] [ -Ccpt ] [ -D[i|o] ] [ -E[nlevels] ] [ -F[R|r|h|c ][+c]] [ -Gzlo/zhi ] [ -I[c][z] ] [ -M ] [ -N ] [ -Q[i|o] ] [ -Tz_min/z_max[/z_inc[+]] | -Tztable | -Tz1,z2,...,zn ] [ -V[level] ] [ -W ] [ -Z ]

 




그리드 파일은 격자 공간(xy)별 z값을 가지고 있다.
z값은 수심, 고도, 온도, 염분 등 다양한 값이 될 수 있다.
이들 정보를 효과적으로 공간 이미지로 표현하려면 각 항목에 걸맞는 컬러를 사용하는 것이 좋다.

예를 들어 수심은 진한 파랑색(깊은 곳)부터 연한 파랑색(얕은 곳)으로, 육지 고도는 연한 갈색(낮은 곳)부터 녹색을 거쳐 흰색(높은 곳)으로, 온도는 파랑색(낮은 온도)부터 빨강색(높은 온도)으로 표현하면 시각적으로 정보를 파악하기 쉽다.

GMT에서는 이러한 공간 이미지를 그리기 위해 z값 범위 별로 색을 나열한 컬러 팔레트 테이블(CPT, Color Palette Table)을 제작하여 사용한다.

 


 

앞서 그리드 파일 제작에 사용한 Topex 위성 고도자료를 예시자료로 사용하였다.
(자료 범위는 128/129/35/36)

예시자료의 z값의 범위를 gmtinfo로 확인한 결과는 다음과 같다.

<-94/1101>

 
z값을 구간으로 구분하여 각각의 색을 지정한다.
예제의 자료는 다음과 같이 구간을 구분하고 색을 설정하였다.

-100~100 청색계열

100 흰색

100~200 녹색계열

200~1200 적색계열

 
이를 R/G/B컬러 형식의 cpt 파일 포맷으로 제작하면 다음과 같다.
-100     0/0/255            100     255/255/255
100      255/255/255     200     0/255/0
200      0/255/0            1200     255/0/0
B          0/0/0
F          255/255/255
N         125/125/125
 

위 값을 텍스트 편집기로 작성한 후 확장자를 *.cpt 로 지정하면 컬러 팔레트 테이블이 완성된다.
작성된 내용은 쉽게 이해할 수 있을 것이다.

'z값, R/G/B값, z값, R/G/B값'으로 작성되었다.
다음 행의 첫 z값은 이전 행의 두번째 z값임을 주의해야 한다.
 

B는 COLOR_BACKGOUND 이다.
Backgound 컬러는 CPT 파일에 색을 지정한 z값 범위보다 큰 z값에 대해 설정되는 색으로 기본 '흑색'이다.

F는 COLOR_FOREGOUND 이다.
Foregound 컬러는 CPT 파일에 색을 지정한 z값 범위보다 작은 z값에 대해 설정되는 색으로 기본 '흰색'이다.

N는 COLOR_NAN 이다.
NaN 컬러는 z값이 없는 경우 설정되는 색으로 기본 '회색'이다.

위의 cpt 파일을 이용하여 예시의 고도 자료를 공간 이미지로 그리면 다음과 같다.




 
색을 지정한 z값들 사이의 z값들에는 자동으로 그라데이션 색이 지정된다.

 



 
위의 방식으로 일일이 cpt 파일을 만드는 것은 피곤한 일이다.
다행히 GMT에서는 makecpt로 cpt 파일을 편리하게 만들 수 있다.

 
gmt makecpt -Crainbow -T-100/1200/100 -Fr > data.cpt

gmt makecpt -Cred,green,blue -T-100,200,500,1200 -Fr > data.cpt

gmt makecpt -Cred,green,blue -T-100,200,1200 -Z -Fr > data.cpt
 

-C옵션은 GMT에서 제공하는 마스터 컬러 테이블 명이다.

마스터 컬러 테이블은 위 예제에서 임의로 만들었던 '청색~흰색~녹색~적색'과 같이 색들이 나열되어 있는 색 조합이다.
다양한 색 조합의 테이블들이 제공되어 자료에 따라 적합한 색 조합을 선택하여 사용하면 된다.

사용 가능한 마스터 컬러 테이블명은 이 페이지의 하단에 첨부하였다.

-C옵션은 '-Cred,green,blue'와 같이 색을 나열하여 지정할 수도 있다.
red 등을 255/0/0의 R/G/B 값으로 표현할 수 있다.

-I옵션은 마스터 컬러 테이블을 뒤집어서(reverse) cpt 파일을 제작한다.

-T옵션은 z값의 범위를 지정한다.
'-T-100/1200/100'은 각각 '최소z값/최대z값/z값 간격'으로 -100~1200의 z값 범위를 100으로 등분한다는 의미이다.
-C옵션에서 지정한 컬러 팔레트 테이블의 양 끝색을 z값 최소, 최대값과 대응시키고 등분했을 때 해당 색값을 cpt로 제작한다.
'-T-100,100,200,1200'과 같이 임의의 z값을 지정할 수도 있다.
'-Tz.txt'와 같이 임의의 z값을 행별로 나열한 파일을 입력받아 사용할 수도 있다.
'-T-100/1200'과 같이 최소, 최대 z값만 표기하고 -Z 옵션을 사용할 수도 있다.

-Z옵션은 그라데이션의 연속적인 색을 생성한다.
위 예제의 두번째와 세번째 행을 각각 실행하여 결과를 확인하면 차이를 확인할 수 있다.
-Z옵션을 사용하지 않은 경우 -C옵션으로 지정한 색이 3개이면, -T옵션으로 지정한 z값이 4개여야 한다.
(z값 범위 3개 생성)

-Z옵션을 사용한 경우 -C옵션으로 지정한 색과 -T옵션으로 지정한 z값 개수가 같아야 한다.

(위 예제에서 -T옵션의 값 지정 수가 다름을 주목)
-Cred,green,blue -T-100,200,500,1200 -Cred,green,blue -T-100,200,1200 -Z


-F옵션은 컬러모델을 설정한다.
GMT의 컬러모델은 r/g/b(r), h-s-v(h), c/m/y/k(c)가 있으며
'-Fr'과 같이 컬러모델을 지정하면 해당 컬러 포맷으로 cpt 파일이 제작된다.

옵션을 사용하지 않은 경우 기본은 r/g/b이지만 다른 모델로 적용될 수도 있어 cpt 파일을 편집할 경우 해당포맷을 확인하거나 -F옵션으로 강제로 컬러모델을 지정하는 것이 좋다.
'-FR'로 사용하면 r/g/b와 컬러명(red, blue 등)을 혼재하여 사용한다.


-G옵션은 페이지 하단에 제시된 마스터 컬러 테이블의 원하는 색 구간을 잘라내어 사용한다.
마스터 컬러 테이블의 범위는 0~1이며 눈금을 통해 원하는 색 구간에 해당되는 값을 찾을 수 있을 것이다.
'-G0/0.5'는 마스터 컬러 테이블의 0~0.5에 해당되는 색 구간을 잘라내어 사용한다는 의미이다.

cpt 파일은 텍스트로 편집이 가능하므로 복수개의 cpt 파일을 만들어 합쳐서 사용할 수도 있다.

예를 들어 바다부분에 해당되는 cpt 파일을 -Cocean -T-1000/0/100 조건으로 생성하고, 육지부분에 해당되는 cpt 파일을 -Ctopo -T0/800/10 조건으로 생성하여 텍스트 편집으로 z값 순서에 따라 합칠 수 있다.

-G옵션을 이용하여 필요한 색 구간을 잘라내어 사용하면 더 효과적일 것이다.

 
cpt 파일을 잘 만들어야 보기좋은 맵을 만들 수 있으니 여러가지를 시도하여 연습하는 것이 좋다.

 



 
마스터 컬러 테이블





전체 0