最近又接触到雷达数据,而且需要根据雷达体扫数据绘制任意剖面图。虽然有些雷达软件可以实现,但是定制性不强,而且出的图是位图,无法满足要求。本来询问了软件开发者,结果是有偿指导。那只能自食其力了。
在码代码之前,搜罗了一些python方面的雷达库,发现其功能强大,而且库的整体构架很好,可复用性强。结果就不是写个小程序实现任意截面图了,而是变成了对以前程序重构的过程==
废话有点多了。
由于雷达体扫只有固定的几个仰角,这次处理的是S波段的雷达数据,只有9个仰角扫描数据。完整的读取之后,截取到的任意剖面图只有9个仰角的数据,显得非常粗糙。如下图:
用软件获取到的任意截面图默认情况下是进行了插值处理的。进行插值之后就可以得到类似的图:
当然也可以得到更细的网格插值结果:
插值方法的不同以及网格精度的不同都会对插值结果造成影响。所以在进行插值处理时应选择最优的插值方法和网格精度。程序中目前支持三种插值方法:‘linear’,‘nearest’,‘cubic’。具体的看程序说明。
为了提高程序的可复用性,对程序的输出进行了详细的划分,关于输出变量的结构可以查看读取 SA 雷达数据的程序,而非处理任意截面的程序。只要其他读取其他雷达数据的程序输出数据的变量格式符合此格式都可以直接进行任意截面处理。当然这可能需要你对已有的程序进行重构。但从长远来看这是值得的。
除了可以对体扫数据进行任意截面处理之外,还可以得到RHI扫描结果,只需要给定任意方位角即可,结果也已经验证了,但还有一些缺陷。
所有的程序都没有对雷达数据进行质控处理。
已测试:
win10 : matlab 2016, 2017
linux : matlab 2016
程序后面会上传到 github。
在未来一段时间,我会维护这些雷达数据处理程序,并且考虑扩展程序功能。争取支持更多雷达数据格式,让程序更加规范化。目前已有的数据包括:S波段,南信大X波段雷达数据。
程序暂时支持S波段的任意截面以及RHI处理。
为了更好的扩展这些程序,欢迎大家提供更多格式的数据。
欢迎你参与进来!