Geomatics Science and Technology
Vol.2 No.04(2014), Article ID:14183,6 pages
DOI:10.12677/GST.2014.24009

Research on the Method for Produce Digital Map Based on Google Earth

Yongwang Sun

Shenzhen Power Supply Planning Design Institute Co., Ltd., Shenzhen

Email: 530953818@qq.com

Copyright © 2014 by authors and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

Received: Aug. 19th, 2014; revised: Sep. 20th, 2014; accepted: Sep. 25th, 2014

ABSTRACT

It is difficult to collect large scale topographic map in early stage for electric power engineering design. Aiming at this problem, a new method to mapping large scale topographic maps by using plane and elevation data obtained by Google Earth with secondary development was presented.

Keywords:Google Earth, Digital Topographic Map, Digital Elevation Model (DEM), Digital Orthophoto Map (DOM)

基于Google Earth数据制作数字化地形图的方法研究

孙永旺

深圳供电规划设计院有限公司,深圳

Email: 530953818@qq.com

收稿日期:2014年8月19日;修回日期:2014年9月20日;录用日期:2014年9月25日

摘  要

针对电力工程设计前期阶段大比例尺地形图资料收资困难的问题,提出基于Google Earth进行二次开发获取平面、高程数据,然后利用这些数据编制大比例尺地形图的技术与方法。

关键词

Google Earth,数字化地形图,数字高程模型,正射影像图

1. 引言

地形图是电力工程勘察设计最基础的资料,设计人员需要在地形图的基础上进行选址、选线和项目论证。然而受各种因素影响,一些偏远山区基础地理信息数据更新较慢,现有地形图往往跟实地现场有较大的差别,无法满足前期工作需要。

Google Earth是由google公司于2005年推出的世界上第一款在桌面系统上浏览全球高精度卫星影像和三维数据的软件,它把卫星照片、航空照片和GIS(地理信息系统)布置在一个地球的三维模型上。用户可以免费浏览全球各地的高清晰度三维影像。这些数据主要来源于DigitalGlobe、EarthSat、BlueSky、Sanborn等国际商业公司[1] 。目前,Google Earth影像的最高分辨率已经达到0.4 m,经相关人员研究发现google的高程精度可达到1:10000比例尺的要求。

Google Earth不仅提供免费的数字地球,并且也允许使用者在其中找到兴趣点并作以标记、标注,通过互联网分享给全球其他使用者,达到地理信息数据的全球共享。Google开放了用于Google earth二次开发的API库,在此基础上,用户可以通过计算机编程,下载google earth高程、影像等信息,然后通过相应专业软件,制作电子地形图,为勘察设计服务。

2. Google Earth二次开发及DEM、DOM的获取

2.1. Google Earth二次开发

Google Earth提供了COM接口,开发人员可以使用支持COM的可视化编程语言进行开发。Google Earth提供的类库中有11个类,其中IApplicationGE类最为重要,Google Earth COM API类库中其他类的使用都会涉及到IApplicationGE中的属性或函数。这些类的简单介绍如表1所示[1] 。

用户可以调用上述类库根据需求进行有针对性的开发。

2.2. DEM的获取

以Microsoft Visual Studio 2005为开发平台,采用目前流行的C#.net作为开发语言。基于GE的DEM提取工具的实现过程中主要用到IApplicationGE、ICameraInfoGE、IPointOnTerraGE、IVewExtentsGE四个类库。基本思路是把Google Earth三维界面中的屏幕点通过IApplicationGE类中的GetPointOnTerrainFromScreenCoords函数转换为IPointOnTerrainGE类的点,即将视图中屏幕坐标转换为经纬度形式,并将其属性写入文件中。调用GetPointOnTerrainFrom ScreenCoords的函数的语法如下所示:IPointOnTerrainGE GetPointOnTerrainFromScreenCoords (double screen_x,doublescreen_y),该函数的输入参数为double类型,这两个参数值均在−1和1之间,表示视图中心点在屏幕坐标系中的坐标值,如图1所示。

为了提高提取精度,首先要在Google Earth中把图像放大,但利用GetPointOnTerrainFromScreenCoords函数只能提取当前屏幕显示区域的高程信息,这样实际上提取到的很是小区域范围的DEM,由于区域太小往往不能满足研究或应用的需要,而如果重新启动程序进行多次提取,不但繁琐而且很难保证多次提取的区域范围能无缝拼接起来。本程序要实现大区域范围的DEM信息提取,所以提取完当前屏幕范围

Table 1. Introduction to Google Earth COM API library

表1. Google Earth COM API类库的类库简介

Figure 1. Screen coordinate

图1. 屏幕坐标系

内的DEM信息后,相等大小的相邻区域要自动平移到当前屏幕,然后再从当前屏幕范围内提取DEM信息,以此类推,这相当于把整个大区域划分成了m行n列的网格,每个网格代表一个屏幕范围,提取各个屏幕的顺序为:奇数行按从左到右的顺序,偶数行按从右到左的顺序,如图2所示。为了进一步提高提取精度,每次平移到相邻区域后要有一定的缓冲时间,使在线影像清晰的显示出来。

2.3. DOM的获取

Google卫星地图是由256 × 256大小的jpeg图片拼接而成,每块图片的URL格式为“http://kh0.google.com/kh?n=404&v=7&t=trstrqqstsrqttsttq”样。主要是参数t起作用,它是“qrst”4个字符排列而成的字符串。为获取某经纬度的URL,就需要把经纬度转化为“qrst”字符串。

Google卫星地图在zoom = 1时,全球就为一个256 × 256的图片,它的中心经纬度为(0, 0),URL为“http://kh0.google.com/kh?n=404&v=7&t=t”。zoom = 2时裂化为4块,每块的编号为:左上“t = tq”,右上“t = tr”,右下“t = ts”,左下“t = tt”。依此类推,每放大一倍,每一小块都裂分为四,从左上到右下顺时针按qrst编号,裂分后的编码为裂分前的编号上小块的编号。由以上分析可知,在知道了某地的经纬度之后,可以由最开始的全球地图不断细分,最后得到所需的URL[2] 。

Figure 2. Elevation extraction process

图2. 高程提取过程

根据所得到的URL地址,可以将测区范围内的遥感影像下载下来,然后在ArcGIS软件中进行影像拼接,将零散的瓦片拼接成整张大图。

3. 高程、影像数据投影转换

从谷歌上获取的DEM和DOM是基于WGS84坐标系的,而我们工程中常用的坐标系为西安80坐标系和北京54坐标系,因此需要坐标转换。WGS84和西安80以及北京54坐标系之间的转换为不同的参考椭球体之间的转换,需要用严密7参数法[3] 。

有关WGS84与西安80坐标和北京54坐标转换问题,实质是WGS-84椭球体到State80、BJ54椭球体的转换问题。如果我们需要把WGS84的经纬度坐标转换成BJ54的高斯投影坐标,那就还会涉及到投影变换问题。因此,这个转换过程,一般采用下述步骤进行的:

1) (B, L) WGS84——(X, Y, Z) WGS84,空间大地坐标到空间直角坐标的转换。

2) (X, Y, Z) WGS84——(X, Y, Z) XI'AN80,坐标基准的转换,即Datum转换。常用的转换方法:七参数、四参数法。

在WGS84坐标和西安80坐标、北京54坐标之间是不存在一套转换参数可以全国通用的,在每个地方会不一样。通行的做法是:在工作区内找三个以上的已知点,利用已知点的西安80坐标和所测WGS84坐标,通过一定的数学模型,求解七参数。若多选几个已知点,通过平差的方法可以获得较好的精度。如果区域范围不大,最远点间的距离不大于30 Km,这可以用三参数,即只考虑3个平移因子(X平移,Y平移,Z平移),而将旋转因子及比例因子(X旋转,Y旋转,Z旋转,尺度变化K)都视为0,所以三参数只是七参数的一种特例。

通过上述方法求解出的参数,在ArcGis中定义7参数的地理转换(Create Custom Geographic Transformation)为WGS84ToXian80,然后打开工具箱下的Projections and Transformations > Feature > Project,在弹出的窗口中输入要转换的数据以及Output Coordinate System,然后输入第一步自定义的地理坐标系如WGS84ToXian80,完成投影变换[4] 。

西安80坐标和北京54坐标的转换可以采用同样的方法。

4. 影像图地物要素的矢量化

经通过投影转换、几何纠正及坐标配准的影像加载到ArcGis中[5] ,应用Editor工具,参照影像图上的道路、水系等地物进行,创建点、线、面图层。

5. 地图编辑

5.1. 等高线的生成

利用上述方法求出的坐标转换参数对从Google Earth上下载的高程数据进行坐标转换,将WGS坐标转换为西安80坐标。然后在Cass7.0软件中展点、建立三角网,如图3所示。

展点、建立三角网之后,绘制等高线,设置等高距为25 m。

5.2. 路网、水系、地名等图层的编辑

在等高线的基础上,将经过格式转换的路网层、水系层、行政区划层等导入到AutoCAD软件中。

由于AutoCAD的数据组织方式和GIS软件(如Mapinfo、ArcGis)等软件不同,造成数据在进行格式转换的时候会丢失部分信息。因此,当每个图层导入到CAD后需要进行进一步的编辑和检核。如区域填充、地形图图式符号的编辑等。各要素图层叠加后的效果如图4所示。

5.3. 地图整饰

等高线、地物要素添加完成后,需要对地形图进行进一步整理和修饰,包括字体、图示符号的进一步修改、添加坐标格网等。

6. 工程实例

拟建220 kV江面变电站位于广东省河源市连平县,由于种种原因,江面变电站收资难度大。作者利用Google Earth以及其他一些资料,及时编辑了包含连平县、东源县、和平县、新丰县等地区的西安80坐标系下的1:10000地形图和正摄影像图,如图5所示,取得了较好的效果,保证了项目前期的选址、

Figure 3. Elevation points and contour line

图3. 展高程点并生成等高线

Figure 4. Combine of river systems, road and other layers

图4. 水系、路网等层的叠加

Figure 5. Effect of product of topographic map

图5. 成品地形图效果

选线对地形图的需要。

参考文献 (References)

  1. [1]   江宽, 龚小鹏, 等 (2010) Google Maps与Google Earth双剑合璧(第2版). 电子工业出版社, 北京

  2. [2]   杨鑫, 郑新奇, 赵璐, 等 (2008) 基于Google Earth 的高程信息快速提取方法. 中国科技论文在线, 10.

  3. [3]   陈宇, 白征东, 罗腾 (2010) 基于改进的布尔沙模型的坐标转换方法. 大地测量与地球动力学, 3, 71-73

  4. [4]   廖邦固, 韩雪培 (2004) 一种基于ArcGIS的地方坐标与国家坐标转换新方法. 全国地图学与GIS学术论文集.

  5. [5]   赵杰 (2009) 基于经纬度坐标的ArcGIS配准问题分析与解决. 测绘通报, 4, 29-31.

期刊菜单