集成AutoCAD与Google Earth数据的三维河道动态模拟系统研究

2011-01-06 07:52朱英浩庞为兴
湖北大学学报(自然科学版) 2011年4期
关键词:航道投影高程

朱英浩,庞为兴

(1.水资源与水电工程科学国家重点实验室(武汉大学),湖北 武汉430072;2.国防信息学院作战仿真中心,湖北 武汉430010;3.浙江省经济和信息化委员会,浙江 杭州310007)

集成AutoCAD与Google Earth数据的三维河道动态模拟系统研究

朱英浩1,2,庞为兴3

(1.水资源与水电工程科学国家重点实验室(武汉大学),湖北 武汉430072;2.国防信息学院作战仿真中心,湖北 武汉430010;3.浙江省经济和信息化委员会,浙江 杭州310007)

利用Visual C++开发 “三维河道动态模拟系统”,集成AutoCAD与Google Earth数据的提取与融合,动态模拟不同时期和不同水位下的三维河道,实时显示某个地点河道宽度和最大水深等信息.

三维河道;动态模拟;系统集成;Google Earth;AutoCAD

计算机辅助设计(computer-aided design,CAD)和地理信息系统(geographical information system,GIS)等技术已经得到了广泛应用[1].目前水利和航道工程中的河道地形数据普遍采用AutoCAD来数字化并以图形格式(*.dwg)保存.有些单位开始使用GIS工具软件来研究区域内河网水系与地形特征[2].也有学者基于人机交互界面研究航道管理问题[3].但这些系统大多需要人工建模工具AutoCAD或MultiGen Creator实现河流和航道三维模型的建立[4].目前基于Internet的Google Earth已经引起了广泛注意,一般用户可以在其界面上直接漫游和缩放及标注,但难以做到按照数值输入的方向、比例尺及位置的确定,AutoDesk公司已经推出了土木建筑类软件AutoCAD Civil 3D,为包括土地开发、交通运输与环境工程在内的土木工程提供了一个测量、设计、分析与文档处理解决方案.该软件可以从Google Earth中导入卫星影像和地形模型,使用特定的设计工具进行初步的道路布局和地块设计,甚至也可以将设计方案直接发布到Google Earth,以快速展示设计与周围环境的契合度,对提高土木设计工作效率具有重要作用,在城市三维可视化系统研究开发中已经得到了一定的成果[5].本文中针对水利与航运的特点和外国公司产品比较适合于个别研究与演示而难以全面推广的问题,自主开发“三维河道动态模拟系统”,将河道地形及涉水人工建筑物等对象融合于构造的三维虚拟场景中,为这类模型的开发提供了一种新方法.

1 系统主要功能

系统主要功能模块主要包括“基本数据采集”、“三维流域显示”、“水面仿真”和“三维场景回放”等模块.

1.1 基本数据采集模块系统包括了两种基本数据采集的功能,一种是从Google Earth中提取地形高程(采样点)和卫星影像;另一种是从AutoCAD的图形格式(*.dwg)数据中提取地形高程(包括等高线和采样点)等信息.针对航道研究范围特点,在两种基本数据采集模块中加入了不规则范围划定与控制功能,即可以人工划定大致的研究范围,比如从Google Earth中提取地形高程和卫星影像的界面如图1和图2所示.通过“飞向”按钮,使Google Earth自动飞到指定的位置并显示对应的范围,通过“整体提取”或“逐点提取”按钮,就可以在Google Earth上提取指定间隔的地形高程数据和影像.系统根据当前格点及其相邻8个格点是否全在研究范围以内给予编号有效标记,避免了大量无效格点被采集、计算和显示.

图1 从Google Earth中选择范围提取地形高程

图2 选择范围的Google Earth影像

从Google Earth中提取的数据是按经纬度给出的,优点是地形高程范围比较广,可以和卫星影像建立对应关系,但精度较低,并且难以获得水下数据,从AutoCAD中提取的数据是按高斯投影给出的,优点是精度高,包含了水下地形数据,但存在着跨投影带和分幅问题.因此需要坐标系投影变换,系统提供选择麦卡托投影、兰博托投影和经纬线投影3种投影变换方式,在人工划定大致的研究范围后,根据指定格距自动算出DEM的左下点坐标和两个方向上的格点数,并将提取的地形高程数据内插到格点上.为了通用,内插到格点上的DEM数据统一使用ArcGIS的ASCII格式(*.asc),影像数据统一使用图像格式(*.jpg).

目前长江的1∶10 000地图多个图层的AutoCAD图形格式(*.dwg)数据如图3所示,主要包括水系地形、河道堤防、用地类型和地名等数据,其中部分河段还是多达4次的不同年份数据,通过开发的程序将地图数据按不同图层转换为对应的ASCII码格式数据.按高斯坐标系给出的离散点和等值线高程格式如表1所示.由于高斯坐标中还包含了投影带编号信息,为了与其他数据统一并避免计算上溢出,在根据人工划定大致的研究范围计算DEM的左下点坐标时系统去掉了投影带编号信息,并将提取的地形高程数据内插到格点上.AutoCAD上的河道堤防和用地类型就以多边形的方式存储,地名是以标注的方式给出的,每个地名可能分成几组汉字都有自己的坐标分开存储,读取后就需要进行组合,并计算或指定出最合适的地名坐标.

图3 长江某段1∶10 000的AutoCAD地图

表1 高斯坐标系下的离散点高程

1.2 水面仿真模块对于水面仿真采用了3种可选择方式来表示,第一种是不规则边界内的平静水体表面加随机函数波动来表示;第二种是不规则边界内的平静水体表面与水面纹理结合来表示;第三种是不规则边界内的平静水体表面加波浪函数来表示.其中不规则的边界是人工划定大致的研究范围决定的,通过不规则三角网来构成的水平区域一定大于河道的可能范围但远小于流域范围,平静水位高度可以根据计算或观测的实时径流高度来确定,也可以根据地形人为输入和调节.为增强对于水面动态效果,在此基础上增加的随机函数或波浪函数依据可以选择的子程决定,增加的水面纹理根据典型影象经过处理后选择使用.

1.3 三维流域显示模块“三维流域显示”模块为系统的主干模块,主要功能为:

(1)提供了缺省的均匀或任意高程分层设色表和光照参数(泛射光、漫射光和镜面光的光强及方向),利用流域地形数据制作真彩色地貌晕渲图和假彩色地貌分色图.

(2)可选择纹理地面或晕渲地面作为流域地形底图,纹理地面将已有彩色地貌晕渲图作为三维地势底图,晕渲地面用当前地形数据文件、高程分层设色表和光照参数实时生成.

(3)可自动选取初始水位高度显示水面状况,具有适当的初始视角和效果设置,能自动三维漫游和导航图控制,可调节三维水面高度、透视投影视角大小和方向及地势比例效果.

(4)模拟不同水位下的长江航道可通航情况,实时显示某个地点的水位高度、航道宽度和最大水深,实现最优航道的选择与推荐,可以动态实时显示河道地形的历史变迁效果.

(5)可自动录制屏幕或窗口大小的图像及其索引文件,可设定最大文件数目和自动删除.

在具有了DEM数据和不规则边界内的平静水体表面高度后,就可以判断线段之间的交叉来计算得到实际的河道水陆分界线,由于河道要能通航而成为航道,必须满足一定的河道宽度和水深条件(如水深至少3.5m,河道宽度至少50m),通过计算满足一定河道宽度和水深条件的连续DEM格点数就可以确定航道范围,当具有两条以上可行河道时,可以选择宽度大的河道为航道,从而可显示实际水位高度、航道宽度和最大水深,并实现最优航道的选择与推荐.

1.4 场景回放模块“三维场景回放”模块主要功能为:

(1)可交互选择索引文件,自动或交互选择播放图像文件,可选择回放场景窗口大小.

(2)自动推荐回放起点文件和终点文件,并可在索引文件表范围内交互选择.

(3)可选择正常播放、暂停、快进、快退、慢进、慢退,并自动显示播放当前文件名.

(4)支持符合规范的其他图像文件回放.

2 系统实现及实验效果

系统的“基本数据采集”模块用Visual C++对话框类开发而成,为了与Google Earth通信,需要在工程中加入Google Earth控件的应用程序接口(aplication program interface,API)文件“googleearth.h”和“googleearth.cpp”[7],在对话框类头文件中先加入:

由于地图窗口与Google Earth观察窗口的大小和投影方式并不一致,为了得到Google Earth自动飞到经度、纬度和高度与地图窗口指定基本一致,需要自动反复计算,通过其中的AutoChangeHeight()函数实现,主要程序如下:

AutoCAD数据的提取及其投影坐标的转换与“三维流域显示”、“水面仿真”和“三维场景回放”等模块一样用Visual C++与图形库OpenGL开发而成,可以参见相关论文[6].利用各种条件搜集到了长江部分河段的1∶10 000地图,实现真实三维环境下的场景漫游、数据查询和分析统计功能,可以进行相关数据查询并实时显示分析结果,模拟不同水位下的长江航道可通航情况,实时显示某个地点的水位高度、航道宽度和最大水深,可以动态实时显示河道地形的历史变迁效果,如图4所示.

图4 三维河道动态模拟系统

3 系统展望

目前在我国大多数地区从Google Earth中提取的地形高程分辨率比较低,而且未必有水下地形,河道的水下地形获取已经逐步实行数字化,可以不经过AutoCAD成图而直接处理生成三维模型,因此如果将Google Earth卫星影像、全球定位系统(global positioning system,GPS)和水深仪实时测量等相结合,就可以为实时动态交互地可视化显示三维河道地形,进行航道演变分析,辅助航道规划和疏浚工程提供可能.

[1]宁津生,陈俊勇,李德仁,等.测绘学概论[M].武汉:武汉大学出版社,2004.

[2]王金艳,黄永林,谭慧明,等.利用 ArcGIS生成水系密度的方法[J].地理空间信息,2010,8(6):101-102.

[3]蔡丽娟,刘伟达.内河碍航事故管理智能决策支持系统分析与设计[J].水运工程,2010,448(12):19-22.

[4]董炳江.内河航道船模数模及其虚拟仿真系统初步研究[D].武汉:武汉大学,2009.

[5]http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=3566722,2011-06-01.

[6]朱英浩,张剑清,张祖勋.基于摄像机及线划图的网上三维场景[J].计算机仿真,2007(11):227-230.

[7]Google Earth APIs.http://code.google.com/apis/earth/documentation/[EB/OL].

Research of integration data of AutoCAD and Google Earth for three-dimensional river channel dynamic simulation system

ZHU Yinghao1,2,PANG Weixing3
(1.State Key Laboratory of Water Resources and Hydropower Engineering Science(Wuhan University),Wuhan 430072,China;2.Center of Simulation,National Defence Information Academy,Wuhan 430010,China;3.Zhejiang Economic and Informational Technology Commission,Hangzhou 310007,China)

This paper achieved three-dimensional river channel dynamic simulation system with Visual C++,integrated extract and fusion data of AutoCAD and Google Earth,dynamically simulate three-dimensional river channel of different period under different water level,run-time displayed width and maximal depth of river channel.

three-dimensional river channel;dynamic simulation;integration of system;Google Earth;AutoCAD

TP391.77;S126

A

1000-2375(2011)04-0470-05

2011-06-07

水资源与水电工程科学国家重点实验室(武汉大学)开放基金项目(2009B058)资助

朱英浩(1963-),男,博士,教授,博士生导师,E-mail:yhzhu@public.wh.hb.cn

(责任编辑 赵燕)

猜你喜欢
航道投影高程
解变分不等式的一种二次投影算法
8848.86m珠峰新高程
基于最大相关熵的簇稀疏仿射投影算法
厦门港航道通过能力建模及应用
找投影
找投影
新航道
GPS高程拟合算法比较与分析
SDCORS高程代替等级水准测量的研究
基于模拟仿真的航道双向通航研究