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.*
|