#! /bin/zsh # # this file: # https://dataswamp.org/~incal/conf/.zsh/map # # the map: # https://dataswamp.org/~incal/pics/fatu-hiva.png # # nautical mile = 1852 m # # from /usr/share/units/definitions.units # # Supposed to be one minute of latitude at # the equator. That value is about 1855 m. # Early estimates of the earth's circumference # were a bit off. The value of 1852 m was # made the international standard in 1929. # The US did not accept this value until # 1954. The UK switched in 1970. nautical-miles () { local nauticalmiles=$1 local kms=$(units -1 --compact "$1 nauticalmiles" km) echo "$nauticalmiles nautical miles = $kms km" } pstest () { local ps=test-map.ps echo "1 1 30 0 4 BL Pal" | \ gmt pstext -R0/5/0/5 -J -P -GDarkOrange -K > $ps local scale_data=cpt.cpt local min=0 local max=1000 local step=200 gmt makecpt -T${min}/${max}/${step} > $scale_data local pos_x=0p local pos_y=300p local width=300p local height=2p gmt psscale \ -C${scale_data} \ -L \ -Dx${pos_x}/${pos_y}+w${width}/${height}+h \ -By+l" km" \ -O >> $ps } marquesas () { local name=marquesas local ps=${name}.ps local png=${name}.png local width=320p local long_min=-141.5 local long_max=-138.0 local lat_min=-11.0 local lat_max=-7.5 local scale_long=$(( $long_max - 0.75 )) local scale_lat=$(( $lat_max - 0.25 )) local region=${long_min}/${long_max}/${lat_min}/${lat_max} local annotations=a1/a1/WeSn local quality=h local sea=#006994 # sea blue local land=#004B49 # deep jungle green local islands="Marquesas\366arna, Franska Polynesien" local sea_text=0/180/180 local islands_text=100/50/50 local island_text=0/180/0 local beach=238/214/175 # beach sand local pen=1/1.5,$beach local scale_distance=100 gmt pscoast \ -L${scale_long}/${scale_lat}/${scale_lat}/${scale_distance} \ -R${region} \ -JM${width} \ -P \ -B${annotations} \ -S${sea} \ -G${land} \ -D${quality} \ -W${pen} \ -K \ > $ps echo "14 14.5 14 4 2 TL Stilla havet" | \ gmt pstext -R0/20/0/20 -J -P -O -K \ -F+f,0,${sea_text}+j >> $ps echo "1.3 3.5 12 0 4 TL $islands" | \ gmt pstext -R0/20/0/20 -J -P -O -K \ -F+f,0,${islands_text}+j >> $ps echo "14.7 2.3 10 0 1 TL Fatu-Hiva" | \ gmt pstext -R0/20/0/30 -J -P -O -K \ -F+f,0,${island_text} >> $ps echo "13.25 8.35 10 0 1 TL Hiva Oe" | \ gmt pstext -R0/20/0/30 -J -P -O \ -F+f,0,${island_text} >> $ps convert -background white \ -alpha remove \ -trim \ -repage 0x0+0+0 $ps $png } hiva-oa () { local name=hiva-oa local ps=${name}.ps local png=${name}.png local width=320p local long_min=-139.30 local long_max=-138.5 local lat_min=-10.7 local lat_max=-9.6 local scale_long=$(( $long_min + 0.5 )) local scale_lat=$(( $lat_min + 0.075 )) local region=${long_min}/${long_max}/${lat_min}/${lat_max} local annotations=a0.5/a0.5/WesN local quality=h local sea=#006994 # sea blue local land=#004B49 # deep jungle green local island="Hiva Oa" local island_text=0/180/180 local sea_text=0/180/0 local beach=238/214/175 # beach sand local pen=1/1.5,$beach local scale_distance=50 gmt pscoast \ -L${scale_long}/${scale_lat}/${scale_lat}/${scale_distance} \ -R${region} \ -JM${width} \ -P \ -B${annotations} \ -S${sea} \ -G${land} \ -D${quality} \ -W${pen} \ -K > $ps echo "7 13 16 3 2 TL Stilla havet" | \ gmt pstext -R0/20/0/20 -J -P -O \ -K -F+f,0,${island}_text+j >> $ps echo "11.5 6.2 12 0 1 TL Fatu-Hiva" | \ gmt pstext \ -R0/20/0/30 -J -P -O -K \ -F+f,0,${sea_text} >> $ps echo "6 23.3 12 0 1 TL $island" | \ gmt pstext -R0/20/0/30 -J -P -O \ -F+f,0,${sea_text} >> $ps convert -background white \ -alpha remove \ -trim \ -repage 0x0+0+0 $ps $png } fatu-hiva () { local name=fatu-hiva local ps=${name}.ps local png=${name}.png local width=320p local long_min=-138.75 local long_max=-138.55 local lat_min=-10.6 local lat_max=-10.4 local scale_long=$(( $long_min + 0.04 )) local scale_lat=$(( $lat_min + 0.02 )) local region=${long_min}/${long_max}/${lat_min}/${lat_max} local annotations=a0.3/a0.3/WeSn local quality=h local sea=#006994 # sea blue local land=#004B49 # deep jungle green local island_text=0/180/180 local sea_text=0/180/0 local beach=238/214/175 # beach sand local pen=1/1.5,$beach local scale_distance=5 gmt pscoast \ -L${scale_long}/${scale_lat}/${scale_lat}/${scale_distance} \ -R${region} \ -JM${width} \ -P \ -B${annotations} \ -S${sea} \ -G${land} \ -D${quality} \ -W${pen} \ -K > $ps echo "13 18 16 -3 2 TL Stilla havet" | \ gmt pstext \ -R0/20/0/20 -J -P -O -K \ -F+f,0,${island_text}+j >> $ps echo "8.2 11 16 0 1 TL Fatu-Hiva" | \ gmt pstext \ -R0/20/0/20 -J -P -O \ -F+f,0,${sea_text}+j >> $ps convert -background white \ -alpha remove \ -trim \ -repage 0x0+0+0 $ps $png }