胡秀宇
(中交铁道设计研究总院有限公司,北京 100088)
基于Google Earth的铁路桥梁水文计算应用研究
胡秀宇
(中交铁道设计研究总院有限公司,北京100088)
结合Google Earth三维影像图像,开发基于Google Earth的铁路桥梁水文计算系统。系统采用Visual C++和Google Earth API进行二次开发,实现在Google Earth上勾绘汇水面积、流域长度,计算水面坡度、断面流量及地区暴雨强度,为铁路桥梁前期勘察及水文研究提供了较为便捷的方法。
水文计算Google Earth水面坡度流量暴雨强度
在铁路桥梁外业勘察设计中,特别是在初测阶段,需要在1∶50 000地形图上沿线路勾绘流域长度及汇水面积,然后用求积仪计算出汇水面积。此种方法不仅耗时费力,而且工作量极大,给桥梁前期勘察工作带来极大的不便。自2005年Google Earth诞生以来,其向全球免费提供卫星地图影像资料,通过Google Earth客户端可以随时随地获取全球任意位置的卫星图像资料,如地形、地貌及建筑物等地理信息。Google公司会定期更新卫星地图影像资料,采用Google Earth提供的卫星地图影像资料勾绘水系图时,克服了纸版1∶5万地形图年代久远、资料难以收集的缺点。同时,通过Google Earth能够快速便捷地获取每个地标的经纬度、海拔高程等信息,这给铁路桥梁外业勘察获取水文断面及桥址断面数据带来极大的方便。
为了充分利用Google Earth海量卫星地图影像信息,采用Visual C++和Google Earth API函数开发了内嵌Google Earth客户端的铁路桥梁水文计算应用程序,实现了将铁路桥梁水文计算与卫星地图影像资料的有机结合,对铁路桥梁水文勘测尤其是国外铁路项目水文勘测具有重要意义。
2.1Google Earth简介
Google Earth是由Google公司开发的一款旗舰软件,其集合了航拍照片、卫星地图及GIS数据,形成了一个虚拟的三维地球模型。Google Earth数据主要来源于美国航天局的卫星图像,Google Earth上全球地貌影像的有效分辨率通常为30 m左右,但对大城市、建筑物、风景区及其他古迹名胜地区会依据不同的视角高度提供不同的分辨率影像。视角高度为500 m时提供的分辨率为1 m,视角高度为350 m时提供的分辨率为0.5 m。因此,Google Earth提供的地形、地貌及其他建筑物的信息完全能满足铁路预可研或可研阶段的精度要求。
2.2Google Earth API二次开发
Google Earth为二次开发提供了两种扩展接口,一种是KML文件形式,另一种是Google Earth API应用程序接口。
KML是一种基于XML语法和文件格式的文件,可通过Google Earth加载直接显示在卫星地图上。
Google Earth API是基于组件技术的应用程序开发接口,用户可以基于VC++、VB、C#等不同的软件开发平台来使用这些接口,完成特定的任务。
2.3KML文件结构
KML文件采用XML文件的语法和文件形式。KML的下层包括Folder和document,其中Folder用来创建文件夹,Documeng用于创建目录。Folder和Document包括很多tag,如Placemark用来表示指定位置的相关信息。Placemark包括的tag列表如下。
Name:指明地标名称
Desctiption:描述地标属性,支持HTML语法。
LookAt:描述地标中视图相关信息,如视高、视底点等。
Visibility:定义地标是否显示标注内容。
GeometryCollection:添加多个几何形状的集合。
GroundOverlay:添加图片标注,与lookat有关。
ScreenOverlay: 添加图片标注,与lookat有关。
Address:地标位置的地址名称[1]。
对于KML文件操作,可以调用IApplicationGE类的OpenKmlFile()函数,实现程序加载KMLKMZ文件以显示在Googel Earth客户端上。软件打开KML文件的函数如下。
BOOL OpenKmlFile(BSTR filename,BSTR suppressMessages);
Filename:打开的文件名称,
SuppressMessages:告知系统是否处理异常。
2.4Google Earth API
Google Earth API类库中拥有11个类:
IApplicationGE
ICameraInfoGE
IPointOnTerrainGE
IFeatureGE
IFeatureCollectionGE
IViewExtentsGE
ISearchControllerGE
ITourControllerGE
IAnimationControllerGE
ITimeGE,ITimeIntervalGE
其中IApplicationGE类是最重要的,其他10个类的使用都会涉及到IApplicationGE类的属性或函数[1]。
IApplicationGE类是Google Earth API的重要接口,该接口可以提供其他程序控制Google Earth客户端。
ICameraInfoGE类:通过该类可以获取视底点、视点高以及倾斜角度的相关参数。
IPointTerrainGE类:通过该类可以获取屏幕点的坐标及高程数据[8]。
3.1程序界面
通过Visual C++编程将Google Earth嵌套在铁路桥梁水文计算软件中,以实现桥梁水文计算与卫星三维影像地图有机结合,方便查看桥位处的实际地形、地貌等特征。软件启动并加载铁路线位后的界面如图1所示。
图1 加载kml/kmz文件示意
3.2勾绘汇水面积
在前期勘察阶段,可以通过Google Earth上直观而清晰的三维影像地图直接勾绘出山脊线及沟谷线,并沿铁路线绘制汇水面积,如图2所示。
图2 勾绘汇水面积示意
3.3勾绘流域长度
通过Google Earth勾绘桥位处沟谷或河流的流域长度,如图3所示。
图3 勾绘流域长度示意
3.4提取高程
对于桥址断面、水文断面和水坡的高程数据,可以通过在Google Earth绘制直线,保存为KML格式文件[12],然后通过程序自动提取线路上一定间距点的高程数据[11]。
3.5水文计算内业整理
根据Google Earth提取的水坡高程数据可直接用于流域平均坡度计算。根据计算的流域坡度、提取的流域面积及长度,再加上其他假定参数可以推算其暴雨强度值。而提取的水文断面高程数据可用于推算断面流量或水位高程;提取的桥址断面高程数据可以用于推算桥址处的流量或水位高程。
如图4所示为桥址处流域坡度计算界面,图5为桥址处断面流量计算界面。
图4 流域坡度计算界面
图5 断面流量计算界面
研发了基于Google Earth的铁路桥梁水文计算软件,将Google Earth客户端通过Google Earth API接口嵌入水文计算专业程序内,实现了铁路桥梁水文外业勘测与Google Earth三维卫星地图影像的有机结合。通过该系统能够快速获取流域长度、流域面积、地面点高程,为桥梁水文勘测提供一种方便快捷的方法。本程序已用于多条海外铁路的水文外业勘测设计中,程序界面操作简单,使用方便,具有一定的推广使用价值。
[1]王宽,龚晓鹏,等.Google API开发详解 Google Maps与Google Earth双剑合璧:第2版[M].北京:电子工业出版社,2010
[2]铁道部第三勘测设计院,铁路工程设计技术手册.桥渡水文[M].北京:中国铁道出版社,1999
[3]郭克析.Visual C++代码参考与技巧大全[M].北京:电子工业出版社,2008
[4]韩红芳,方莉娟.Google Earth COM API的高程提取[J].中国高新技术企业,2013
[5]中华人民共和国铁道部,TB10017—99铁路工程水文勘测设计规程[S].北京:中国铁道出版社,1999
[6]刘磊,仇菊香,刘晓红.基于Google Earth API的二次开发研究[J].测绘标准化,2011(5)
[7]王艳,何凭宗.基于VC++的Google Earth KML地标文件的自动生成及应用[J].北京测绘,2009(3)
[8]陈国建,杨国祥,唐清荣,等.Visual C++范例开发大全[M].北京:清华大学出版社,2010
The Research of Hydrology Calculation Applications ofRailway Bridges Based on Google Earth
HU Xiuyu
2016-05-05
胡秀宇(1984—),男,2007年毕业于兰州交通大学土木工程专业,工学学士,工程师。
1672-7479(2016)04-0024-03
U442.3; P208
B