爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 14111|回复: 3

[经验总结] 关于绘制等经纬度netcdf格式雷达图回波区位置偏移的问题

[复制链接]

新浪微博达人勋

发表于 2020-4-21 10:57:54 | 显示全部楼层 |阅读模式

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

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

x
最近,正在应领导需求,将一个二进制雷达数据产品转换成nc格式,并绘图。在顺利转换格式后,绘图时发现python基于basemap绘图时,雷达数据稍有偏移。如下图1:

图1

图1
,图2

图2

图2
是雷达处理程序自动画的图,应该是grads画的,虽然colorbar有点不一样,但是明显可以看到,红笔圈出的地方的存在一定的位置偏移,用雷达中心经纬度对比了一下,图1的经纬度确实是错的,我开始以为是投影的问题,换了几个不同的投影方式,都不对,后来仔细研究一下,查了很多资料,但是basemap关于makegrid的资料非常少,我尝试解释一下,不过理解的不一定对,雷达数据程序生成的格点数据是等经纬度的数据,但是basemap中makegrid的数据应该是等距的,所以应该先将经纬度坐标转换成投影坐标,之后位置就对上了,如图3

图3

图3
。我之前的代码是在家园下载的其他大神的,如图4

图4

图4
,但是用同样方法画出来的就不对,可能是源代码是读wrfout数据的,本身数据就已经是投影之后的坐标,所以不需要转换,因此把代码改为图5,

图5

图5

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

新浪微博达人勋

发表于 2020-4-21 13:37:55 | 显示全部楼层
basemap.makegrid按照文档说明是
return arrays of shape (ny,nx) containing lon,lat coordinates of an equally spaced native projection grid.
的确和你猜测的一样,返回的是一个等距离网格的经纬度。如果等经纬度网格的数据,用这个等距离网格的坐标去画图,那南北方向就会出现位置的偏移。

一般我们都不用这个makegrid,都是用一维的lon和lat,直接numpy.meshgrid结合成二维,然后再用basemap投影一次绘图坐标
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-4-21 13:44:42 | 显示全部楼层
Masterpiece 发表于 2020-4-21 13:37
basemap.makegrid按照文档说明是
return arrays of shape (ny,nx) containing lon,lat coordinates of an  ...

恩,是的,之前也是在群里下载的其他大神画图的代码,在他的基础上只是改了路径和一些变量名而已,没想到出现了这样的问题,看来还是需要自己多钻研,不能投机取巧。感谢解答。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-5-21 19:15:43 | 显示全部楼层
请问下能共享下代码吗?或者源代码的地址?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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