APP下载

基于Matlab的DGPS数据实时可视化与走航观测

2016-07-26吴清松应剑云

海洋学研究 2016年2期
关键词:可视化

吴清松,王 琪,应剑云,谢 鸣

(1.国家海洋局 第二海洋研究所 工程海洋学重点实验室,浙江 杭州 310012;2.浙江省海洋监测预报中心,浙江 杭州 310007)



基于Matlab的DGPS数据实时可视化与走航观测

吴清松1,王琪2,应剑云1,谢鸣1

(1.国家海洋局 第二海洋研究所 工程海洋学重点实验室,浙江 杭州 310012;2.浙江省海洋监测预报中心,浙江 杭州 310007)

摘要:本文利用Matlab设备控制工具箱,实现DGPS数据的导入与实时可视化,并用于ADCP断面走航观测。根据在舟山海域连续28 h的现场ADCP断面走航观测,该系统实时性较好,每秒钟更新1次航迹、当前船速与航向等信息,可满足实时可视化的要求。本系统的工作只需要准备1张导航底图,且操作简单、信号稳定,连续工作28 h均没有出现DGPS信号中断的情况。

关键词:Matlab; DGPS数据; 可视化; ADCP走航观测

0引言

目前,美国Coastal海洋图像公司开发的Hypack软件[1]和美国Trimble公司开发的HYDROpro软件是国内外较为常用的水文测量软件,这些软件同时具备一定的绘图功能。此外,广州中海达测绘仪器有限公司开发的Haida海洋测量软件也可用于测深导航。这些商业水文测量软件功能强大,同时也较为昂贵,且需要通过一段时间的学习与培训来掌握。而在ADCP断面走航等水文观测方面,只需要实时可视化的导航功能,完全可以不需要商业水文综合测量软件。

近年来,Matlab正成为海洋研究中越来越重要的工具,可用于时间序列分析、空间数据分析、信号处理、图像处理等。Matlab设备控制工具箱(Instrument Control Toolbox)①Mathworks. Instrument control toolbox user’s guide. 2014.提供了一个增强的串口功能包,可以用来与串口设备连接、通信、配置、数据传输等操作。

基于以上原因,本研究利用Matlab软件完成了一套ADCP走航观测导航系统。该观测系统操作简单,且可以借助Matlab强大的绘图功能,满足走航定位与观测等方面的需求。

1导航底图与地理配准

1.1导航底图

Matlab支持的图形文件格式有BMP、CUR、GIF、HDF、ICO、JPG、PBM、PCX、PGM、PNG、PPM、RAS、TIFF和XWD等。在有网络的条件下,可以直接用Matlab从网络下载所需经纬度范围的谷歌地图[2];在没有网络的情况下,可以截取所需范围的海图或者AutoCAD图等作为导航底图。图1中的导航底图为谷歌地图,图中区域为舟山市岙山岛近岸水域,图中黑色实线为规划的ADCP走航断面布置,共布设了7条走航断面,总长度约为6.5 km。

图1 导航底图与走航断面布置Fig.1 Background map and plan lines of ship-mounted ADCP

1.2地理配准的原理

图像数字化过程中会产生一定的误差。来源于扫描仪扫描的底图,由于图纸变形等原因会产生误差,在底图成图时必须对其进行编辑处理和空间校正,尽量消除成图工作过程产生的误差,满足研究工作的需求。来源于卫星遥感图像的底图,由于各种传感器传播路径、成像机制不同等原因, 图像间可能出现相对平移、旋转、比例缩放等,因此不能直接进行配准, 而必须首先进行空间校正。

校正过程实质上是坐标变换的过程[3],定义变换前图形坐标(x,y)与变换后图形坐标(x′,y′)之间的转换关系。为了达到较好的校正效果,控制点应尽量选取在图形四周,特别是边界和顶点,以避免图形校正不能满幅。一般情况下,控制点的选取应在4个以上且分布均匀。

空间变换方法有线性相似、仿射、投影、多项式、分段线性及局部加权平均等[4],本文采用的是仿射变换的方法。仿射变换公式为:

x′=ax+by+c

(1)

y′=dx+ey+f

(2)

式中:a~f可通过源控制点和目标控制点的坐标确定。

1.3地理配准的Matlab实现

Matlab导入底图时,默认以像素为坐标轴的刻度单位,没有坐标系统,而DGPS获取的是当前经纬度坐标。为了在导航底图中实时显示当前DGPS位置,需要把导航底图绑定到一个地理坐标系,即进行图像配准[5]。

在Matlab工具箱中,可以利用cp2tform函数和imtransform函数完成空间校正与地理配准:

Tform=cp2tform(input,base,type);

B=imtransform(A,Tform);

其中:input为源控制点的像素坐标;base为目标控制点的经纬度坐标;type为空间校正的方法,本文选择仿射变换算法;A、B分别为配准前和配准后的索引图像。地理配准后的走航底图如图2所示,采用WGS84坐标系。地理配置的matlab完整代码为:

% % 地理配准

clear

clc

[rgbmap]=imread('底图', 'jpg');

image(rgb);

inputpoints(1, :) = [122.1517, 29.9500];% 左上角;

inputpoints(2, :) = [122.1517, 29.9375];% 左下角;

inputpoints(3, :) = [122.1650, 29.9500];% 右上角;

inputpoints(4, :) = [122.1650, 29.9375];% 右下角;

basepoints(1, :) = [0.5, 0.5];

basepoints(2, :) = [0.5, 2344.5];

basepoints(3, :) = [2502.5, 0.5];

basepoints(4, :) = [2502.5, 2344.5];

tform=cp2tform(inputpoints,basepoints, 'affine');

[newnaivasha_rgb,x,y] =imtransform(rgb,tform);

X= 122.1517 : (122.1650-122.1517)/5021 : 122.1650;

Y= 29.9375 : (29.9500- 29.9375)/4688 : 29.9500;

imshow(newnaivasha_rgb, 'XData',X, 'YData',Y)

axisxy

axison

gridon

图2 配准后的导航底图Fig.2 Background map after georeferenced

2使用Matlab走航观测

2.1通过串口导入DGPS信号数据

走航观测时DGPS采样频率约为1 Hz,需要确保信号传输的可靠性。Matlab设备控制工具箱(Instrument Control Toolbox)提供了一个增强的串口功能包,可以用来与串口设备连接、通信、配置和数据传输等操作。

以DGPS-MAX型号的DGPS为例,该型号DGPS串口协议为RS232,输出协议为NMEA 0183,波特率为9600。导入DGPS信号数据的Matlab实现方式如图3所示。

图3 Matlab与DGPS的连接与信号传输方式Fig.3 Method of connection and signal transmission between Matlab and DGPS

2.2DGPS数据的实时可视化

DGPS-MAX默认采样间隔约为1 s,为了把DGPS的经纬度数据用于实时显示,还需要计算同步的船头航行方向。

2.2.1 船头方向的计算

船头方向可根据连续2个采样时刻的DGPS位置确定。假设t0时刻DGPS的位置在(x0,y0),t1时刻DGPS的位置在(x1,y1),如图4所示。船头方向角θ计算公式为:

θ=atan2(y1-y0,x1-x0)

(3)

由于反正切函数atan的取值在(-π/2, π/2)之间,仅分布于第一和第四象限,这里采用四象限的反正切函数atan2(图4),取值在(-π, π)之间。

图4 四象限反正切函数计算示意图Fig.4 Sketch chart of the four-quadrant inverse tangent method

图1中ADCP走航观测区域仅约为1 km×1 km,球坐标投影的误差基本可以忽略,因此在计算θ时,可以直接用经纬度坐标(lon, lat)代替平面直角坐标(x,y)。

2.2.2 ADCP位置的修正

(4)

(5)

图5 ADCP与DGPS相对于船舶的位置示意图Fig.5 Sketch map of relative positions of ADCP and DGPS on the boat

2.2.3 DGPS数据的实时可视化

可视化的图形操作步骤为:根据不断获得的DGPS经纬度坐标,在导航底图上逐时显示船舶已走过的航迹(图6中红点);根据船舶当前坐标、船舶形状和船头方向,显示船舶当前位置与航向(图6中的船舶符号);根据当前船舶位置与前一时刻船舶位置的比较,计算当前船速,并在导航底图上显示。图6所示为走航观测期间的瞬时截图。

图6 DGPS数据实时可视化界面的瞬时截图Fig.6 Real-time visualization of the DGPS data and its instantaneous screenshot

测验期间,在研究区域进行了连续28 h的ADCP断面走航观测,每间隔1 h完成1次断面走航潮流观测。整个观测期间,本系统工作非常稳定,航迹、当前船速、当前船舶位置等要素随DGPS数据约每秒钟更新1次,实时可视化工作状态良好,没有出现异常情况。图7为28次断面观测的航迹全部显示在导航底图上的最终结果,从图中可以看出,在本系统的导航下,船舶行驶路线与规划路线吻合较好,误差主要来自船员的驾驶技术以及潮流的影响。

图7 连续28次ADCP走航断面观测的DGPS轨迹分布图Fig.7 Tracks of DGPS from 28-hour continuous ship-mounted ADCP survey

3结语

Matlab正成为海洋研究中越来越重要的工具,本文研究表明,通过借助Matlab设备控制工具箱(Instrument Control Toolbox),可与DGPS设备连接,用于ADCP走航等水文观测项目的实时可视化。

通过在舟山市岙山岛附近水域的应用表明,本套走航观测导航系统实时性好,长时间工作较为稳定,操作简单,导航精度可靠,误差主要来自船员的驾驶技术以及潮流的影响。

相较于商业软件,本套走航观测导航系统虽然功能简单,但在ADCP走航观测等水文测量方面足够用。此外,借助于Matlab强大的脚本语言和绘图功能,本系统还将继续完善。

参考文献(References):

[1] HYPACK Hydrographic survey software user manual[R]. Coastal Oceanographical Corp.,2015.

[2] ZOHAR B Y. Zoharby/plot_google_map [CP/OL]. (2016-04-28)[2016-06-03]. http://www.mathworks.com/matlabcentral/fileexchange/27627-zoharby-plot-google-map.

[3] FAN Min, QIN Jian, LI Yun-xiang, et al. ArcGIS digital geological map correction and registration[J]. Geology of Chemical Minerals,2014,36(3):185-189.

樊敏,秦健,李云响,等.ArcGIS数字化地质图校正及配准[J].化工矿产地质,2014,36(3):185-189.

[4] ZHU Chao-jie, WANG Ren-li, DONG Guang-jun. Image registration and fusion for high-resolution data based on MATLAB[J]. Engineering of Surveying and Mapping,2006,15(6):57-59.

朱朝杰,王仁礼,董广军.MATLAB环境下遥感影像配准与融合技术研究[J].测绘工程,2006,15(6):57-59.

[5] TRAUTH M H. MATLAB Recipes for Earth Sciences[M]. 3rd ed. Heidelberg: Springer,2010: doi:10.1007/978-3-642-12762-5.

收稿日期:2015-09-12修回日期:2016-03-31

基金项目:国家海洋公益性行业科研专项项目资助(201105009);国家海洋局第二海洋研究所基本科研业务费专项项目资助(JG1204)

作者简介:吴清松(1982-),男,福建漳州市人,高级工程师,主要从事海洋水文和近海动力学研究。E-mail:273955582@qq.com

中图分类号:P715

文献标识码:A

文章编号:1001-909X(2016)02-0060-05

Doi:10.3969/j.issn.1001-909X.2016.02.008

Real-time visualization of the DGPS data based on Matlab and its application in ship-mounted observation

WU Qing-song1, WANG Qi2, YING Jian-yun1, XIE Ming1

(1.KeyLaboratoryofEngineeringOceanography,SecondInstituteofOceanography,SOA,Hangzhou310012,China; 2.MarineMonitoringandForecastingCenterofZhejiangProvince,Hangzhou310007,China)

Abstract:Based on the Instrument Control Toolbox in Matlab, DGPS signal data can be received via the serial port, so this technique can be used for real-time visualization in ship-mounted ACDP survey. The method was tested at Zhoushan sea area for 28-hour continuous ship-mounted ADCP observation. During the test, the real-time visualization system worked fine, tracks of DGPS, the speed of the vessel, and the direction of the vessel renewed automatically every second, which was satiable the requirement of real-time visualization. The only thing we need to do before the survey is to prepare one background map, the system is stable and is easy to use, and the most important, the system workes stably during the 28-hour observation.

Key words:Matlab; DGPS data; real-time visualization; ship-mounted ACDP survey

吴清松,王琪,应剑云,等.基于Matlab的DGPS数据实时可视化与走航观测[J].海洋学研究,2016,34(2):60-64,doi:10.3969/j.issn.1001-909X.2016.02.008.

WU Qing-song, WANG Qi, YING Jian-yun,et al. Real-time visualization of the DGPS data based on Matlab and its application in ship-mounted observation[J]. Journal of Marine Sciences, 2016,34(2):60-64, doi:10.3969/j.issn.1001-909X.2016.02.008.

猜你喜欢

可视化
无锡市“三项举措”探索执法可视化新路径
基于CiteSpace的足三里穴研究可视化分析
自然资源可视化决策系统
三维可视化信息管理系统在选煤生产中的应用
思维可视化
自然资源可视化决策系统
基于CGAL和OpenGL的海底地形三维可视化
可视化阅读:新媒体语境下信息可视化新趋势
“融评”:党媒评论的可视化创新
H5,如何助力新闻可视化