中国国界、省界及十段线

由于 GMT 自带的国界线数据不符合中国领土主张,因而在绘制用于正式图件时用户需要 自己准备国界数据。本文提供了笔者自己数字化的几个国界相关数据以及两个绘制中国地图的脚本。

CN-border-La.dat | CN-border-L1.dat | ten-dash-line.dat

  1. 无法保证国界数据完全准确或可通过地图审核;
  2. 欢迎用户共享更准确的国界数据;
  3. CN-border-La.dat 中包含最全的信息,包括国界、省界、十段线以及南海诸多小岛;
  4. CN-border-L1.dat 包含国界、十段线以及南海诸岛数据,不含省界数据;
  5. ten-dash-line.dat 仅包含十段线数据;

-JD 等距圆锥投影

#!/bin/bash

gmt begin CN-border-JD png
gmt set FONT_ANNOT_PRIMARY 9p FORMAT_GEO_MAP ddd:mm:ssF
gmt set MAP_FRAME_WIDTH 2p MAP_GRID_PEN_PRIMARY 0.25p,gray,2_2:1
# 设置比例尺标签为35号中文字体
gmt set FONT_LABEL 8p,35 MAP_LABEL_OFFSET 4p
gmt coast -JD105/35/36/42/7.5i -R70/140/3/60 -G244/243/239 -S167/194/223 -B10f5g10 -Lg85/11+c11+w900k+f+u+l'比例尺'
gmt plot CN-border-La.dat -W0.5p
gmt end
#!/bin/bash
R=70/140/3/60
J=D105/35/36/42/7.5i
PS=CN-border-JD.ps

gmt set FONT_ANNOT_PRIMARY 9p FORMAT_GEO_MAP ddd:mm:ssF
gmt set MAP_FRAME_WIDTH 2p MAP_GRID_PEN_PRIMARY 0.25p,gray,2_2:1
# 设置比例尺标签为35号中文字体
gmt set FONT_LABEL 8p,35 MAP_LABEL_OFFSET 4p

gmt pscoast -J$J -R$R -G244/243/239 -S167/194/223 -B10f5g10 -Lg85/11+c11+w900k+f+u+l'比例尺' -K > $PS
gmt psxy CN-border-La.dat -J$J -R$R -W0.5p -O >> $PS
rm gmt.conf gmt.history

中国地图

-JM 墨卡托投影

#!/bin/bash

gmt begin CN-border-JM png
gmt set MAP_GRID_PEN_PRIMARY 0.25p,gray,2_2:1
gmt set FORMAT_GEO_MAP ddd:mm:ssF MAP_FRAME_WIDTH 3p
gmt set FONT_ANNOT_PRIMARY 7p
# 设置比例尺标签为35号中文字体
gmt set FONT_LABEL 8p,35 MAP_LABEL_OFFSET 4p
# 绘制中国地图
gmt coast -JM105/35/6.5i -R70/138/13/56 -G244/243/239 -S167/194/223 -B10f5g10 -Lg85/17.5+c17.5+w800k+f+u+l'比例尺'
gmt plot CN-border-La.dat -W0.5p 

# 绘制南海区域
gmt basemap -JM1.1i -R105/123/3/24 -B0 -X5.4i --MAP_FRAME_TYPE=plain --MAP_FRAME_PEN=1p
gmt coast -N1/0.1p -W1/0.25p -G244/243/239 -S167/194/223
gmt plot CN-border-La.dat -W0.25p
echo "南海诸岛" | gmt text -F+f10p,35+cBC -D0c/0.1c -N -Gwhite
gmt end
#!/bin/bash
R=70/138/13/56
J=M105/35/6.5i
PS=CN-border-JM.ps

gmt set MAP_GRID_PEN_PRIMARY 0.25p,gray,2_2:1
gmt set FORMAT_GEO_MAP ddd:mm:ssF MAP_FRAME_WIDTH 3p
gmt set FONT_ANNOT_PRIMARY 7p
# 设置比例尺标签为35号中文字体
gmt set FONT_LABEL 8p,35 MAP_LABEL_OFFSET 4p

# 绘制中国地图
gmt pscoast -J$J -R$R -G244/243/239 -S167/194/223 -B10f5g10 -Lg85/17.5+c17.5+w800k+f+u+l'比例尺' -K > $PS
gmt psxy CN-border-La.dat -J$J -R$R -W0.5p -O -K >> $PS

# 绘制南海区域
R=105/123/3/24
J=M1.1i
gmt psbasemap -J$J -R$R -B0 -X5.4i --MAP_FRAME_TYPE=plain --MAP_FRAME_PEN=1p -K -O >> $PS
gmt pscoast -J$J -R$R -N1/0.1p -W1/0.25p -G244/243/239 -S167/194/223 -K -O >> $PS
gmt psxy CN-border-La.dat -J$J -R$R -W0.25p -O -K >> $PS
echo "南海诸岛" | gmt pstext -J$J -R$R -F+f10p,35+cBC -D0c/0.1c -N -Gwhite -O >> $PS

rm gmt.conf gmt.history

中国地图

更新历史

  • 2016-10-23:初稿;
  • 2017-09-11:更新了 CN-border-L1.dat 的拓扑结构,使得其可以正确填充颜色;
  • 2017-09-16:修复了 CN-border-L1.dat 中的一个 bug;
  • 2018-04-16:使用全国基础地理数据库中的数据更新了十段线数据;
下一页
上一页