以后以提问的形式进行吧,这样可能更有益于学习。
提问:请问我想提取出青海湖的岸线在别的程序使用,能使用GMT吗?
回答:可以,pscoast -M 具有这种功能,使用下面的代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| #!/bin/bash
gmt gmtset FORMAT_GEO_MAP = ddd:mmF MAP_FRAME_WIDTH=2p gmt gmtset FONT_ANNOT_PRIMARY 7p,Helvetica,black FONT_LABEL 7p,Helvetica,black
ps=example_large.ps R2=-R99:25/100:50/36:18/37:23
gmt psbasemap $R2 -JM4.5i -K -Bag > $ps gmt pscoast $R2 -M -W2 -Df > qhlake.txt gmt psxy $R2 -J qhlake.txt -W0.4p,green -O >> $ps
|
目前有一个bug,-W改变level时,输出不变,都是all level的数据。同理输出河流数据使用-I,-N输出行政边界,-E输出闭合的行政边界。
提问:那么怎么输出中国的国界线呢?输出的国界线争议部分怎么办?能否用于论文、报告等出版?
回答:可使用下面的代码输出国界线,通过叠加我国政府发布的边界线可以看到二者存在差异,出版应以我国政府发布为准。代码中使用的我国官方边界为guojie.txt ,数据下载提取码nnx9。此外分享我国省、市、县的边界shp文件,点击下载,提取码q8n0。
1 2 3 4 5
| ps=example_border.ps gmt pscoast -ECN -M -Df >cn.txt gmt psbasemap -JM4.5i -K -Bag `gmt gmtinfo ../GMTnie/guojie.xyz -I0.000001`> $ps gmt psxy -R -J cn.txt -W0.4p,red -O -K>> $ps gmt psxy -R -J ../GMTnie/guojie.xyz -W0.8p,black -O>> $ps
|
提问:怎么提取一个省的边界呢?(注意,提取的目的还是为了别的用途,如果只是绘图,则没必要提取,直接绘图即可)
回答:如下,使用-ECN.N,N表示省的编号,可见于gmt6\share\dcw\dcw-states.txt
。
1 2 3 4
| ps=example_prov.ps gmt pscoast -ECN.37 -M -Df >sd.txt gmt psbasemap -JM4.5i -K -Bag `gmt gmtinfo sd.txt -I0.000001`> $ps gmt psxy -R -J sd.txt -W0.4p,red -O -K>> $ps
|
如果要加上颜色,只需要添加一行,或者单独这一行命令
1
| gmt pscoast -J -R -ECN.37+gblue -Df -O -t50 >>$ps
|