探讨谷歌地球的辅助选线测量系统开发
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
探讨谷歌地球的辅助选线测量系统开发
1 前言
由于近年来电网建设迅速,传统地形图从时效性上来说难以满足工程的需要,目前高压送电线路工程使用基础地形图虽然成本较低,但成图时间较早,一般1:5万地形图成图年代在1980年左右,现实性差,需要专门组织沿线调绘和更新。
虽然卫星遥感数据能很好的满足要求,但还需要进行专业遥感影像的处理,且价格过于昂贵。
谷歌地球影像不仅提供了能够满足送电线路选线所需要的高分辨影像,而且提供了丰富的三维信息。
谷歌地球于2009年6月更新了我国大部分地区的数据,并且在不间断的进行局部更新,这使得使用谷歌地球数据进行线路路径优化成为可能。
2 谷歌地球简介
谷歌地球是全球卫星地图集成软件,是一个虚拟地球仪。
它采用了成熟的宽带流技术,能实时地为用户提供数据,经计算可得出的三维地图,能清楚地看到地面上的汽车和树木,低精度也相当于在5000m高空中俯瞰地球,可以看清楚每条公路。
Google Earth公布的一般是2~3年前的卫星照片,它和真实的地球物理信息做了匹配,它的地形、海拔、经纬度信息和GPS输出的经纬度信息是完全重合的,对民用来说,具有很高的实用价值。
其卫星影像分别来自于美国DigitalGlobe公司的QuickBird商业卫星、美国EarthSat公司、法国Spot公司;航拍部分的来源有英国BlueSky公司、美国Sanborn公司等。
全球地貌影像的有效分辨率至少为100m,通常为30m,视角海拔高度为15km左右,针对大城市、著名风景区、建筑物区域会提供分辨率为1m和0.6m左右的高精度影像,视角高度分别约为500m和350m。
Google Earth Plug-in是2008年5月28日Google公司发布的一个浏览器插件程序(Plug-in)和应用程序接口(API),利用该插件可以将谷歌地球嵌入到网页中,用来支持谷歌地球卫星影像在网页上的展示。
使用应用程序接口(API)可以绘制标记和折线、使图片覆盖区域、添加3D 模型或加载KML 文件,从而允许构建复杂的3D 地图应用程序,极大了增强了谷歌地球的交互性操作,丰富了谷歌地球的功能,为谷歌地球的二次开发提供了广阔的空间。
3 KML简介
KML全称Keyhole Markup Language,是一种Google公司开发的、基于XML (Extensible Markup Language,可扩展标记语言)语法和文件格式的、用来描述和保存地理信息如点、线、面、3D模型等的编码规范,并在谷歌地球客户端中显示。
KML是一种用来在地图浏览器中展示地理数据的文件格式,使用一种基于标签(名称和属性)的语法格式来描述地理标注信息,KML 文件采用简单易用易理解的文本文件来描述地理信息结构化数据,可以使用简单的文本编辑程序或XML编辑程序进行读写和编辑。
它支持3D图形,且KML 文件中的图像可以选择随着视角高度的变化而缩放,甚至平躺,也可以选择不随视角高度的变化而放缩,其实现过程较其他3D专业软件更容易。
谷歌地球实现它的核心内容是KML 语言。
KML被谷歌地球显示的过程和HTML 网页被浏览器处理差不多,而且和HTML 一样。
通过KML建立各种不同的数据层,可以实现各种属性数据的分拣、归类、查询、标识。
4 系统功能设计
该系统将开发一个Windows桌面应用程序,系统利用WebBrowser控件和Google Earth Plug-in浏览插件将谷歌地球嵌入到桌面应用程序中,利用Google Earth Plug-in 应用程序接口(API)和谷歌地球进行交互操作,利用KML文件格式与用户数据格式进行数据交换。
4.1 系统开发平台
本系统的开发平台为Microsoft Visual Studio 2010,程序界面设计和坐标换算等功能用C Sharp语言,调用Google Earth Plug-in 应用程序接口(API)和谷歌地球进行交互绘图、获取谷歌地球数据等功能用JavaScript语言。
4.2 系统界面
本系统为Windows桌面应用程序,采用窗口图形界面,程序主界面如下图:系统有谷歌地球和谷歌地图两个视图,谷歌地球视图主要用于用户和谷歌地球的交互操作和各种辅助选线功能,谷歌地图视图用于影像的截图。
4.3 程序主要模块
4.3.1 KML文件操作模块
KML文件操作模块用于将已有的KML文件转换为用户坐标文件和DXF文件,将用户坐标文件和DXF文件转换为KML文件。
4.3.2 坐标系统模块
坐标系统模块用于设置使用的坐标系统,定义了坐标系统使用的椭球、中央子午線、东坐标加常数,北坐标加常数等信息。
坐标系统是各种数据格式相互转换的基础。
4.3.3 坐标换算模块
坐标换算模块集成了测量中常用到高斯投影正算、高斯投影反算、换带计算功能。
高斯投影正算、高斯投影反算的公式较长,因篇幅有限笔者在此不在一一列出,读者可以查阅相关的测量学书箱。
4.3.4 坐标转换模块
谷歌地球主要采用WGS84大地坐标,在后续版本上也增加了投影方式,但投影后的坐标与实际我国采用的国家坐标系统之间还有很大差异。
这一差异是由于未采用我国参考椭球引起的,为解决之一问题,开发了坐标转换模块,该模块可以根据已有的网格坐标和WGS84坐标数据计算七参数,将谷歌地球数据的WGS84坐标与国家坐标系的网格坐标进行坐标转换,以满足影像数据坐标高精度的要求。
坐标转换换算公式为布尔沙模型,转换公式为:
式中,
,,——原坐标系坐标
,,——目标坐标系坐标
,,,,,,——七参数
4.3.5 地图截图模块
地图截图模块可以根据用户画定的区域和设置的地图级别自动从谷歌地图上下载拼接已有的影像地图。
4.3.6 DEM数据处理模块
DEM数据处理模块可以根据用户指定的路径,提取谷歌地球中相对应的DEM数据生成用户坐标文件或者DXF和ORG两种格式的断面图。
4.3.7 数学模块
数学模块集合了测量中常用的数据计算和数据单位转换功能,如距离高差计算、方位角计算、偏距里程计算,角度单位(10进制度、60进制、弧度)间的相互转换功能。
4.4 系统数据格式
本系统支持的数据格式有KML地标文件,文本格式的用户坐标文件,EXCEL 格式的用户坐标文件,DXF文件。
利用谷歌地球API可以直接加载显示KML格式的数据文件和用户坐标数据文件,利用程序的KML文件操作模块可以将用户坐标数据文件转换为KML文件,可以对KML文件进行分类提取生成用户坐标数据文件和DXF文件。
4.5 交互操作
系统提供了和谷歌地球的交互图形操作功能,可以绘制点、线、面,可以对点、线、面进行修改删除操作。
可以将用户指定的位置居中显示在谷歌地球中。
4.6 辅助选线
辅助选线功能是结合输电线路工作选线的特点进行开发的,主要有以下功能:(1)导入KML文件格式、EXECL文件格式、文本文件格式的路径转角数据,也可以选
择谷歌地图上已存在的线段作为路径;
(2)对谷歌地球中已经存在的路径进行移动、增加、删除转角等编辑操作;
(3)自动统计路径信息,系统会实时的统计修改后的路径长度和转角个数,可以查看详细的路径信息如每个耐张段的长度,每个转角的转角度数;
(4)测量谷歌地球上任意位置相对于路径的偏距和里程;
(5)断面输出,将选定的路径输出DXF格式、ORG格式的断面图或者EXCEL 文件格式、文本文件格式的断面数据;
(6)线路受控要素分类统计显示,系统按居民地、规划区、军事区、自然保护区、污区、冰区、泄洪区、公路、铁路、输电线路等几大要素对线路受控元素进行分类,用户也可以自定义类别,系统会按受控要素把导入谷歌地球的各种数据进行分类,以便用户更直观的查看显示和统计。
5 结束语
谷歌地球在很多行业中得到了广泛应用,但利用Google Earth Plug-in浏览插件和Google Earth Plug-in 应用程序接口(API)进行深度开发的还不多,笔者结合测量专业在电力行业中的特点和作用开发了辅助选线测量系统,是一次对谷歌地球应用的深度开发。
Google Earth Plug-in 应用程序接口功能很强大,本系统的大部分功能模块都是使用C Sharp语言开,只使用了Google Earth Plug-in 应用程序接口很少一部分功能,但是这很少一部分功能就实现了谷歌地球地图数据和用户定制界面的集成,实现了和谷歌地球的交互操作,可以加载显示KML 文件,由此可以看出C Sharp语言结合Google Earth Plug-in 应用程序接口完全可以开发出一个脱离原有谷歌地球客户端实现用户高度定制的桌面客户端,这种开发模式会在使用谷歌地球的各个行业中流行开来。
参考文献
[1]窦友平,杨永平.基于Google Earth的电力GIS应用.昆明:云南电力技术,2010-1.
[2]毛克,江龙,刘永强.Google Earth三维选线技术在高压送电线路中的应用.北京:电力勘测设计,2010-4.
[3] 国家测绘地理信息局.大地测量控制点坐标转换技术规程.。