File: example_23.bat

package info (click to toggle)
gmt 5.3.1%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 150,460 kB
  • ctags: 18,539
  • sloc: ansic: 194,217; sh: 7,349; xml: 149; makefile: 72; fortran: 49; lisp: 41; csh: 5
file content (73 lines) | stat: -rwxr-xr-x 2,411 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
REM
REM             GMT EXAMPLE 23
REM
REM             $Id: example_23.bat 12820 2014-01-31 21:01:19Z remko $
REM
REM Purpose:    Plot distances from Rome and draw shortest paths
REM
REM GMT progs:  grdmath, grdcontour, pscoast, psxy, pstext, grdtrack
REM DOS calls:  del
REM
echo GMT EXAMPLE 23
set ps=example_23.ps

REM Position and name of central point:

set lon=12.50
set lat=41.99
set name=Rome

REM Calculate distances (km) to all points on a global 1x1 grid

gmt grdmath -Rg -I1 %lon% %lat% SDIST 111.13 MUL = dist.nc

REM Location info for 5 other cities + label justification

echo 105.87	21.02	HANOI		LM > cities.d
echo 282.95	-12.1	LIMA		LM >> cities.d
echo 178.42	-18.13	SUVA		LM >> cities.d
echo 237.67	47.58	SEATTLE		RM >> cities.d
echo 28.20	-25.75	PRETORIA	LM >> cities.d

gmt pscoast -Rg -JH90/9i -Glightgreen -Sblue -A1000 -Bg30 -B+t"Distances from $name to the World" -K -Dc -Wthinnest > %ps%

gmt grdcontour dist.nc -A1000+v+ukm+fwhite -Glz-/z+ -S8 -C500 -O -K -J -Wathin,white -Wcthinnest,white,- >> %ps%

REM For each of the cities, plot great circle arc to Rome with gmt psxy

echo 105.87 21.02 > pts.d
echo %lon% %lat% >> pts.d
gmt psxy -R -J -O -K -Wthickest,red pts.d >> %ps%
echo 282.95 -12.1 > pts.d
echo %lon% %lat% >> pts.d
gmt psxy -R -J -O -K -Wthickest,red pts.d >> %ps%
echo 178.42 -18.13 > pts.d
echo %lon% %lat% >> pts.d
gmt psxy -R -J -O -K -Wthickest,red pts.d >> %ps%
echo 237.67 47.58 > pts.d
echo %lon% 	%lat% >> pts.d
gmt psxy -R -J -O -K -Wthickest,red pts.d >> %ps%
echo 28.20 -25.75 > pts.d
echo %lon% %lat% >> pts.d
gmt psxy -R -J -O -K -Wthickest,red pts.d >> %ps%

REM Plot red squares at cities and plot names:
gmt psxy -R -J -O -K -Ss0.2 -Gred -Wthinnest cities.d >> %ps%
echo {print $1, $2, $4, $3} > awk.1
gawk -f awk.1 cities.d | gmt pstext -R -J -O -K -Dj0.15/0 -F+f12p,Courier-Bold,red+j -N >> %ps%
REM Place a yellow star at Rome
echo %lon% %lat% | gmt psxy -R -J -O -K -Sa0.2i -Gyellow -Wthin >> %ps%

REM Sample the distance grid at the cities and use the distance in km for labels

echo {printf "%%s %%s %%d\n", $1, $2, int($NF+0.5)} > awk.2
gmt grdtrack -Gdist.nc cities.d | gawk -f awk.2 > pts.d
gmt pstext -R -J -O -D0/-0.2i -N -Gwhite -W -C0.02i pts.d -F+f12p,Helvetica-Bold+jCT >> %ps%

REM Clean up after ourselves:

del cities.d
del pts.d
del dist.nc
del .gmt*
del awk.*