爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3776|回复: 2

[作图] ncl画中国区域图及提取中国区域数据

[复制链接]

新浪微博达人勋

发表于 2023-4-1 19:46:15 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
    因为要画中国区域的温度合成图,所以需要完成以下任务:
1.添加中国边界(包含九段线);
2.中国区域外白化(遮蔽);
3.只在中国区域内显著性打点。

    任务1和2可以借鉴其他版主的方法很好地完成,推荐 尽头的尽头:(更新)最最最准确的中国地图(附带南海,精确到市界)
这里详细说明一下,大大的压缩包里有chinamap.ncl文件可以模仿学习,其中cnmap.ncl和shp_Function.ncl可以根据存放的位置改路径更方便使用。
    任务3,是我单独遇到的问题,想要在已画好中国区域的图上overlay其他图层,结果打点图它会超出中国范围;如果同样想将显著性打点图按照上面的方法处理后再叠加也是失败的,因为两个gsn_ _map类别的图是无法叠加的。因此灵光一现选择大家熟悉的ncl提取不规则区域数据的方法进行接下来的操作,同样推荐一篇问贴 Akihabara: ncl中shapefile_mask_data提取中国区域内数据问题 和另一篇经验贴 Adiligirl : [经验总结] ncl使用shapefile_utils.ncl出现gc_inout error 解决方法
同样详细说明,直接用前一篇的代码可能会先后报出几个错,首先使用shapefile_mask_data之前需要加载load对应路径的shapefile_utils.ncl文件,没有的可以在论坛里找到;接下来可能会报gc_inout error 的错,可以详细看后一篇帖子,解决方法唯一两条路:自己用arcgis把原本的cnmap.sh选取对应的大陆部分,只要不包含九段线就行,然后务必must用arcgis将原本边界的线要素类型数据转换为面类型的数据,不然它提取的只有你边界上的点而不是中国区域内的所有点;另外一条路就是找中国大陆的shp文件,不过找到的也未必是面类型的,所以我把自己制作的附件在文后。
重中之重的注意事项:任务1和2中选取中国区域要使用正规的国界,而任务3打点的区域不正规只用于打点,慎用!


cnmap_dot_.zip

750.22 KB, 下载次数: 14, 下载积分: 金钱 -5

售价: 5 贡献  [记录]

中国部分区域面类型

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2024-6-19 11:27:50 | 显示全部楼层
第三个问题可以先画打点图层,再画包含白化的图层,打点图层中超过中国区域的部分就会被覆盖了。
在打点图设置中添加 res@cnFillDrawOrder  = "Predraw"
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2023-4-30 14:37:16 | 显示全部楼层
差一个贡献才能下载
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表