(48) Line networks, map embellishments, and curved titles

In this example we show how the module plot can be used to create a network of lines based on a file with just the nodes (the siz airports). We also demonstrate how the lines can be shortened by (a) a given measure (here 250 km) and then (b) the length of the added vector heads. The airspace closest to each airport is identified as spherical Voronoi cells by sphtriangulate and filled with transparent coloring, allowing us to see the seafloor texture beneath. Finally, we add six local spiderweb azimuth/distance gridlines and set a curved plot title.

#!/usr/bin/env bash
#               GMT EXAMPLE 48
# Purpose:      Illustrate use of trimmed lines with vectors, networks, and local spiderwebs
# GMT modules:  makecpt, coast, plot, sphtriangulate, grdimate, gmtmath, text

gmt begin ex48
	cat <<- EOF > airports.txt
	157.8583W	21.3069N	61   300	HNL	BC	1.5c
	149.5585W	17.5516S	-120 120	PPT	TC	1.5c
	139.6917E	35.6895N	56   170	HND	RB	0.75c
	70.6693W	33.4489S	215  322	SCL	TL	0.6c
	151.2070E	33.8675S	-10  145	SYD	TR	2.1c
	118.2437W	34.0522N	142  306	LAX	BL	2c
	gmt makecpt -Clightgray -T-12000,12000 -N
	gmt grdimage @earth_relief_10m -I+a45+nt2 -Rg -JG205/-10/18c
	gmt sphtriangulate airports.txt -Qv > near_area.txt
	gmt makecpt -Ccategorical -T0/6/1 -N
	gmt plot near_area.txt -L -C -t65
	# Make a 15 degrees by 250 km spiderweb grid around each airport
	gmt plot -SW2000k/250k+a250k+r15 -W0.5p -Gwhite@40 airports.txt
	gmt coast -Gblack -A500 -Bafg
	# Then place custom labels.
	while read lon lat az1 az2 label just off; do
		echo $lon $lat $label | gmt text -DJ${off}+v0.5p,white -F+f16p+j${just} -N
		echo $lon $lat $label | gmt text -DJ${off}+v0.25p -F+f16p+j${just} -N -Gwhite -W0.25p -C+tO
	done < airports.txt
	# Plot trimmed lines and overlay airport locations
	gmt plot airports.txt -Fn -W1.5p+o250k+v0.5c+gred+h0.5
	gmt plot airports.txt -SE-500 -Gorange -W0.25p
	# Make an arc of radius 11.5 cm from 45 to 135 degrees around map center and use it to place text
	gmt math -T45/135/1 T -C0 COSD -C1 SIND -Ca 11.5 MUL = path.txt
	# Move up 9 cm so origin is at the map center
	gmt plot -R-9/9/0/18 -Jx1c -Y9c path.txt -Sqn1:+l"IMPORTANT PACIFIC AIRPORTS"+v+f32p -Wfaint,white -N
	rm -f airports.txt near_area.txt path.txt
gmt end show

Line networks, map embellishments, and curved titles.