GSHHG: 全球高分辨率海岸线数据¶
GSHHG数据主页: http://www.soest.hawaii.edu/wessel/gshhg/
GSHHG,全称为 A Global Self-consistent, Hierarchical, High-resolution Geography Database。GMT提供的GSHHG数据中包含了海岸线、河流和国界等数据。
警告
GSHHG提供的中国国界数据不符合中国的领土主张,在正式刊物中发表使用此类国界数据的图件时都可能存在问题。
GMT的 coast 模块可以直接绘制GSHHG中的数据,也可以使用 coast 的 -M 选项将数据导出为纯文本文件供其它程序使用。这一节将利用 coast 模块介绍GSHHG数据。关于 coast 模块的详细用法,见 coast 模块的说明文档。
数据分辨率¶
GSHHG提供了五种不同分辨率的数据,以满足不同的需求。五种分辨率从高到低分别为:
full > high > intermediate > low > crude
coast 模块的 -D 选项加上每种分辨率的单词首字母即可指定使用何种分辨率的数据。在绘制全球地图时,可以用 -Dc 指定使用最低分辨率的数据,以避免绘制了大量细节而导致绘图速度慢且文件太大;在绘制几度范围的小区域地图时,则可以使用 -Df 指定使用最高分辨率的数据。GMT现代模式下,默认使用 -Da 选项,a 表示 auto,即GMT会根据当前绘图区域的大小自动选择合适的数据分辨率。
下面的示例绘制了一个小区域的海岸线边界,可以看到 -D 取不同分辨率时边界精细程度的差异:
数据内容¶
GSHHG数据中包含了海岸线数据、河流数据和国界数据。
海岸线¶
海岸线数据可以进一步细分为4个不同的等级:
1: 陆地和海洋的分界线,即真正意义上的海岸线
2: 陆地与湖泊的分界线
3: 湖泊中的岛屿与湖泊的分界线
4: 湖泊中的岛屿里的池塘与岛屿的分界线
coast 模块中有如下几个与海岸线相关的选项:
-W[level/]pen 绘制不同等级的海岸线
-Gfill 设置陆地、岛屿等陆区的填充色
-Sfill 设置海洋、湖泊等水区的填充色
-Cfill+l 设置湖泊的填充色
-Cfill+r 设置河流湖的填充色
河流¶
河流进一步可以细分为10个等级:
0: Double-lined rivers (river-lakes).
1: Permanent major rivers.
2: Additional major rivers.
3: Additional rivers.
4: Minor rivers.
5: Intermittent rivers - major.
6: Intermittent rivers - additional.
7: Intermittent rivers - minor.
8: Major canals.
9: Minor canals.
10: Irrigation canals.
coast 模块的 -I 选项可以用于绘制不同等级的河流,其基本语法为 -Ilevel/pen。其中 level 除了可以取1至10之外,还可以取:
a: 所有河流和运河,即包含0-10等级的所有河流
A: 除了河流湖之外的所有河流和运河,即包含1-10等级的河流
r: 所有永久河流,即0-4等级
R: 除了河流湖之外的永久河流,即1-4等级
i: 所有间歇性河流,即5-7等级
c: 所有运河,即8-10等级
该选项可以重复多次使用,为不同等级的河流设置不同的画笔属性。
使用示例¶
绘制1级海岸线:
gmt coast -R-130/-70/24/52 -JM15c -Ba -A1000 -W1/0.5p -png map
同时绘制1-3级海岸线,黑色的为1级海岸线,红色的为2级湖泊线(图中的大面积红色区域为五大湖),蓝色的为3级岛屿线(即五大湖内部的岛屿):
gmt coast -R-130/-70/24/52 -JM15c -Ba -A1000 -W1/0.5p -W2/0.3p,red -W3/0.2p,blue -png map
绘制1-3级海岸线,并为陆地、海洋、湖泊填充不同的颜色:
gmt coast -R-130/-70/24/52 -JM15c -Ba -A1000 -Gtan -Slightblue -Croyalblue+l -png map
绘制海岸线、国界和美国州界:
gmt coast -R-130/-70/24/52 -JM15c -Ba -Dh -A1000 -W1/0.5p -N1/thick,red -N2/thinner -png map