(19) Color patterns on maps

GMT supports color patterns and this example gives a few cases of how to use this new feature. We make a phony poster that advertises an international conference on GMT in Honolulu. We use grdmath, makecpt, and grdimage to draw pleasing color backgrounds on maps, and overlay coast clip paths to have the patterns change at the coastlines. The middle panel demonstrates a simple coast call where the built-in pattern # 86 is drawn at 100 dpi but with the black and white pixels replaced with color combinations. At the same time the ocean is filled with a repeating image of a circuit board (provides in PNG raster format). The text GMT in the center is an off-line PostScript file that was overlaid using image. The final panel in the 3 by 1 subplot sequence repeats the top panel except that the land and sea images have changed places.

#!/usr/bin/env bash
#		GMT EXAMPLE 19
#
# Purpose:	Illustrates various color pattern effects for maps
# GMT modules:	grdimage, grdmath, makecpt, coast, text, image, subplot
# Unix progs:	echo, rm
gmt begin ex19
	gmt grdmath -Rd -I1 -r Y COSD 2 POW = lat.nc
	gmt grdmath X = lon.nc
	gmt makecpt -Cwhite,blue -T0/1 -N -H > lat.cpt
	gmt makecpt -Crainbow -T-180/180 -H > lon.cpt
	gmt subplot begin 3x1 -Fs16c/0 -M0 -Bbltr -Rd -JI0/16c
		#   First make a worldmap with graded blue oceans and rainbow continents
		gmt grdimage lat.nc -Clat.cpt -nl -c0,0
		gmt coast -Dc -A5000 -G
		gmt grdimage lon.nc -Clon.cpt -nl
		gmt coast -Q
		gmt coast -Dc -A5000 -Wthinnest
		echo "0 20 20TH INTERNATIONAL" | gmt text -F+f32p,Helvetica-Bold,red=thinner
		echo "0 -10 GMT CONFERENCE" | gmt text -F+f32p,Helvetica-Bold,red=thinner
		echo "0 -30 Honolulu, Hawaii, April 1, 2024" | gmt text -F+f18p,Helvetica-Bold,green=thinnest
		#   Then show example of color patterns and placing a PostScript image
		gmt coast -Dc -A5000 -Gp86+fred+byellow+r100 -Sp@circuit.png+r100 -c1,0
		echo "0 30 SILLY USES OF" | gmt text -F+f32p,Helvetica-Bold,lightgreen=thinner
		echo "0 -30 COLOR PATTERNS" | gmt text -F+f32p,Helvetica-Bold,magenta=thinner
		gmt image -DjCM+w7.5c @GMT_covertext.eps
		#   Finally repeat 1st plot but exchange the colors
		gmt grdimage lon.nc -Clon.cpt -nl -c2,0
		gmt coast -Dc -A5000 -G
		gmt grdimage lat.nc -Clat.cpt -nl
		gmt coast -Q
		gmt coast -Dc -A5000 -Wthinnest
		echo "0 20 20TH INTERNATIONAL" | gmt text -F+f32p,Helvetica-Bold,red=thinner
		echo "0 -10 GMT CONFERENCE" | gmt text -F+f32p,Helvetica-Bold,red=thinner
		echo "0 -30 Honolulu, Hawaii, April 1, 2024" | gmt text -F+f18p,Helvetica-Bold,green=thinnest
	gmt subplot end
gmt end show
rm -f lat.nc lon.nc lat.cpt lon.cpt
../_images/ex19.png

Using color patterns and additional PostScript material in illustrations.