尽头的尽头 发表于 2012-12-20 20:18:40

(更新)最最最准确的中国地图(附带南海,精确到市界)

本帖最后由 尽头的尽头 于 2017-3-2 10:59 编辑

推荐:(点击)NCL快速绘制准确中国地图,值得你拥有!

上次转载了一个动力论坛的中国地图,但是有人告诉我侵权了,既然这样,我们家园决定自己动手,于是有了这个帖子。这个帖子是在我写的脚本的基础上,兰溪版主做了精细和完美化,在此,表示对兰溪的感谢,废话不多说了,赶快来来我们奉献给大家的好东西。只希望大家多多支持家园~~~(如果喜欢动力论坛的版本,大家可以自己去动力论坛找)




大家下载附件,内附测试数据,将cnmap文件夹放到\usr\local\lib\ncarg\nclscripts 下(运行chinamap就出来效果了)
然后只需要在使用之前
load "$NCARG_ROOT/lib/ncarg/nclscripts/cnmap/cnmap.ncl"
具体语句如下
cnres         = True
cnres@china   = True       ;draw china map or not
cnres@river   = True       ;draw changjiang&huanghe or not
cnres@province= True       ;draw province boundary or not
cnres@nanhai    = True       ;draw nanhai or not
cnres@diqu      = False       ; draw diqujie or no
mask方式使用的是ncl的mask语句,由于存在边境争端,我们专门询问了学地理的同学,一个地区叫Arunachal Pradesh,还有个地区在ncl里面叫Disputed area between India and China(话说了为了找这个,画了不少时间)
效果图如下


2017.3.2更新市界地图(之前有很多小伙伴反应市级地图比较老,不准确),但是由于市太多,不能每个都去比对,还请大家在使用过程中帮忙检查

hxyj 发表于 2013-4-25 20:10:22

本帖最后由 hxyj 于 2013-4-25 20:13 编辑

楼主,您好。非常感谢您提供的这个NCL脚本,感觉对我的帮助非常大,我这几天一直在捣腾这个事情。而您的脚本帮我解决了问题,再次感谢。但是有个问题是:当我输出的是EPS格式文件时候(编辑要求),发现海南岛和台湾岛两个地方没有值,但是当我输出PS,PDF和PNG格式的时候,这两个地方的值都存在。不知您是否发现了该问题?能否请教您如何解决?
恳请得到您的帮助。再次感谢。

兰溪之水 发表于 2012-12-20 21:16:17

{:eb515:}@超级版主@版主@管理员你们看着办吧~{:eb521:}

freekiller 发表于 2013-9-19 15:31:30

本帖最后由 freekiller 于 2013-9-19 15:36 编辑

@ulegend @尽头的尽头

如果按照如下的写法,就会画不全,panel中部分图没有长江、黄河,部分可能没有边界,最后一张图是没问题的
do i=0,3
   res@gsnRightString = alt40({lvl(i)})+" "+alt40@units
   plot(i) = gsn_csm_contour_map(wks,data2({lvl(i)},:,:),res)
   chinamap = add_china_map(wks,plot(i),cnres)
end do
gsn_panel(wks,plot,(/2,2/),resP)

可以用如下方法,先把图画完,然后在加国界和长江黄河
do i=0,3
   res@gsnRightString = alt40({lvl(i)})+" "+alt40@units
   plot(i) = gsn_csm_contour_map(wks,data2({lvl(i)},:,:),res)
end do

   chinamap0 = add_china_map(wks,plot(0),cnres)
   chinamap1 = add_china_map(wks,plot(1),cnres)
   chinamap2 = add_china_map(wks,plot(2),cnres)
   chinamap3 = add_china_map(wks,plot(3),cnres)
gsn_panel(wks,plot,(/2,2/),resP)

当然,如果panel中图比较多,可以用数组和循环


尽头的尽头 发表于 2019-4-20 21:55:49

spectator~ 发表于 2019-4-20 11:03
楼主您好,请问地图怎么使用省市的.SHP文件

我之前底图使用


单独省份的mask你可以上官网看看例子

尽头的尽头 发表于 2015-3-26 22:05:55

sunyue19901203 发表于 2015-3-26 14:47
楼主,我碰到一个问题,我画panel图的时候,也这么写,但是会有warning
TransformPostDraw: tfPolyDrawLis ...

可以把脚本贴出来么

尽头的尽头 发表于 2012-12-20 20:49:01

hzwjy 发表于 2012-12-20 20:46 static/image/common/back.gif
这个不错。
如果用NCL 6.1,用shapefile来添加中国国境线、省界什么的都是很简单的。

本来是用的6.1的函数,很方便,但是考虑到可能有一部分人并不一定愿意升级到最新版,或者因为其他原因没有升级到最新版,那样就不能使用了,所以才考虑用现在的方案

cyqiankun 发表于 2012-12-20 20:27:00

下载收藏了,以备后用。

善人/jw 发表于 2012-12-20 20:45:32

{:eb502:}{:eb502:}{:eb502:}{:eb502:}
膜拜膜拜

hzwjy 发表于 2012-12-20 20:46:18

这个不错。
如果用NCL 6.1,用shapefile来添加中国国境线、省界什么的都是很简单的。

尽头的尽头 发表于 2012-12-20 20:50:11

善人/jw 发表于 2012-12-20 20:45 static/image/common/back.gif
膜拜膜拜

饭教授,你就不要洗我了

传说中的谁 发表于 2012-12-20 21:02:38

佩佩跟兰溪搞了几天才产出来的,果然是精品啊{:eb317:}

尽头的尽头 发表于 2012-12-20 21:04:47

传说中的谁 发表于 2012-12-20 21:02 static/image/common/back.gif
佩佩跟兰溪搞了几天才产出来的,果然是精品啊

{:eb326:}笨笨是坏淫。。。

mofangbao 发表于 2012-12-20 21:07:19

为了兼容旧版本,@兰溪之水也费了不少心思,总之这个东东是论坛原产的了,两位辛苦啦~

随缘 发表于 2012-12-20 21:08:09

传说中的谁 发表于 2012-12-20 21:02 static/image/common/back.gif
佩佩跟兰溪搞了几天才产出来的,果然是精品啊

呵呵,好基友一辈子啊{:e313_b:}
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: (更新)最最最准确的中国地图(附带南海,精确到市界)