使用 NCL 绘制正确的国界、台湾岛屿、南海诸岛及省界等

5,782 阅读2分钟
原文链接: coding.net

NCL-Chinamap

由于NCL (NCAR Command Language)官方提供的地图数据的中国边界等存在问题, 根据国家基础地理信息系统网站提供的中国国界以及行政区划的数据, 对原NCL的中国地图数据进行修正,从而能够绘制正确的国界、台湾岛屿、南海诸岛及省界等。

(一)使用方法

使用 git 下载 git clone https://git.coding.net/huangynj/NCL-Chinamap.git 或者直接点击下载按钮打包下载。

下载完成后可以直接运行提供的例子脚本进行测试: ncl plot_with_correct_Chinamap.ncl

使用修正的地图数据关键属性是: res@mpDataSetName = "./database/Earth..4" res@mpDataBaseVersion = "MediumRes" ; or "Ncarg4_1" res@mpAreaMaskingOn = True res@mpMaskAreaSpecifiers = (/"China"/) res@mpOutlineSpecifiers = (/"China","China:Provinces"/) database 目录下存在 Earth..4.linesEarth..4.names 两个地图数据文件,可以把这两个文件覆盖 "$NCARG_ROOT/lib/ncarg/database" 目录下原来的文件,这样在设置 mpDataSetName 属性时可以省略路径,直接使用 "Earth..4", 否则需要把路径填写完整。使用到的地名可以参考: www.ncl.ucar.edu/Document/HL…

(二)主要修正

该地图数据中已经将台湾、钓鱼岛等归回中国,并将钓鱼岛命名 "Senkaku Shoto" 改为 "Diaoyu Dao", 具体修改的位置可查看 doc.pdf 文件。所以,使用完整中国地图只需设置 "China" , 如果需要添加省界,则再添加 "China:Provinces" 即可。 详细可以参考提供的例子:plot_with_correct_Chinamap.ncl

(1)修正位置示意图

1

(2)修正后对比图

2

(3)完整中国版图

3

(4)南海诸岛小插图和地图 Mask 功能

4

(三)更新记录

2016-05-22:更新国界、台湾岛屿、南海诸岛、相关粗糙省界;

2016-05-27:更新北京市界。

为了表示对贡献者劳动成果的尊重,若使用该地图数据绘图发表论文等,可考虑添加致谢!

Yong-Jie Huang (IAP/CAS) 

huangynj@gmail.com

2016-05-23