利用位置服务实现野外找点与实地指界
2016-12-26贾进科方发全
贾进科,方发全,刘 勇
(1.长江岩土工程总公司,湖北 武汉430010)
利用位置服务实现野外找点与实地指界
贾进科1,方发全1,刘 勇1
(1.长江岩土工程总公司,湖北 武汉430010)
介绍了位置服务在寻找控制点等方面的应用,编制程序将控制点坐标生成KML文件,并利用奥维互动地图实现手机野外找点和实地指界,具有一定的实际应用价值。
位置服务;KML;奥维互动地图;野外找点
位置服务已广泛应用于移动资源监控管理、人员安全监控、地图导航等,是一种与空间位置有关的新型服务。到新测区实地寻找控制点一直是野外测绘人员的难点,一般利用点记号到野外寻找,但很不直观,尤其是在偏僻或地物较少的地方难度更大。也可以利用设置坐标参数的手持GPS来找点,但成本较高,普及较难。在道路实地选线和现场指定坐标边界等工作中,需要根据设计坐标实地指界。一般是将边界画到纸质图上,然后到现场判断,或用全站仪或RTK进行边界放样,这些办法均不直观和简便。通过研究,手机位置服务可实现这些功能,主要方法是编制坐标转换及生成KML文件的程序,再利用具有GPS定位功能的智能手机配合免费应用软件奥维互动地图,就可以直观地引导野外测绘人员找点。
1 KML文件介绍
KML是Keyhole标记语言(keyhole markup language)的缩写,最初由Keyhole公司开发,是一种基于XML语法与格式、用于描述和保存地理信息(如点、线、图像、多边形和模型等)的编码规范,可以被Google Earth和Google Maps识别并显示[1]。KML文件格式使用标签来描述地理对象的各种属性。以下是KML中常见的几种标签:
1)<kml>标签:用来表示当前文件是一个KML文件,并说明文件的版本。
2)<Folder>标签:表示一个目录,可以包含各种地名标注。用户可以把具有相同类别信息的地名标注都归入一个目录下。
3)<Style>标签:用来指定显示样式,诸如自定义图标、几何形状、颜色和标签大小。
4)<Placemark>标签:表示一个地名标注,地名标注的几何类型可以是点(Point)、线(LineString)、面(Polygon)等KML中描述的几何对象类型。该标签除了包含几何类型的描述,还可包含地名标注的样式信息与视点信息。
5)<coordinates>标签:表示对象的地理位置信息,以10进制的WGS84经纬度(和海拔)表示。6) <Point>标签:表示对象为一个单点标注。7)<LineString>标签:表示对象为一段折线。
2 奥维互动地图介绍
奥维互动地图是北京元生华网公司开发的一款与谷歌地图类似的地图软件,有PC版、安卓版、ios版、Windows phone版,是基于Google Earth API、 Baidu API、 Sougou API的跨平台地图浏览器。把多种API提供的卫星照片、航空影像、GIS都布置在一张地图上,具有实时定位功能,能探索丰富的地理资源,并支持加载KML文件。
3 具体实现
3.1 技术路线
将控制点坐标或边界拐点坐标利用自编软件生成标准的展点标注和连线KML文件,然后将KML文件导入智能手机,在奥维互动地图中调用这些KML文件,结合卫星照片和GIS路网图进行实时定位,并导航到目的地。
3.2 KML文件生成
首先需将坐标数据转换成KML标准文件格式。以一个简单的点位标注为例:
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns: gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom= "http://www.w3.org/2005/Atom">
<Document>
<Placemark>
<name>A1</name>
<Point>
<coordinates>110.802746977745,32.8329727034436, 0</coordinates>
</Point>
</Placemark>
</Document>
</kml>
除<name> 标签中的点名“A1”和<coordinates>标签中的经纬度外,其他都是标记语言语法。KML标记语言语法比较简单,点位以WGS84坐标系统的经纬度(单位为°)表示,故需要将高斯坐标转换为WGS84经纬度。
通过VB自编程序将坐标转为WGS84经纬度。由于控制点一般是1954北京坐标系统或1980西安坐标系统,故涉及到不同坐标系之间的转换。最精确的转换为七参数转换,但由于手机GPS精度不太高(5 m左右),且找点也不需要太高的精度,所以用简化的三参数转换公式就可以满足要求。利用已知的不同椭球之间的长半轴差和扁率倒数差da、df以及计算出的三参数dx、dy、dz,用投影变换公式将坐标转换为WGS84经纬度[2]。再按KML标记语言语法,得到批量坐标标注KML文件和坐标连线KML文件,且根据需要可修改展点标注类型、颜色及连线宽度、颜色等,程序界面如图1所示。值得注意的是,KML文件如果是普通ASCII码的文本文件,需要另存为unicode格式的文本,否则会出现乱码。
3.3 KML文件导入手机
图1 程序界面
在手机端安装奥维互动地图,安卓手机可通过安卓市场等安装,iPhone可通过苹果Appstore安装。以iPhone为例,首先,必须通过iTunes将KML文件同步给奥维互动地图。打开奥维互动地图,点右下角“更多”菜单-“数据管理”-“导入导出标记”-“从文件导入”,这时会显示同步的KML文件(如果没有文件显示,则表示同步KML文件目录不正确),选“文件导入”即可。安卓手机的KML文件导入类似,只需要将KML文件复制到软件安装目录sdcardomap即可,其他操作与iPhone一致。
3.4 现场验证
比如,我们去寻找“B长江委”这个控制点,以及设计工作边界(绿色线),可以先将坐标文件通过软件生成KML文件,将KML文件导入手机。在手机上可以清晰地看到这个点在卫片上的具体位置(右边红色大头针位置)、绿色的工作边界以及手机所在的实时位置(左边蓝色圆圈中心)和行进方向,如图2所示。
图2 现场演示图
4 结 语
利用手机位置服务,结合奥维互动地图,就能实现野外找控制点和野外指界的功能,为野外工作者提供了便利,大大提高了野外找点指界的效率。
[1] 王艳,何凭宗.基于VC++的Google Earth KML地标文件的自动生成及应用[J].北京测绘,2009(2):32-33
[2] 蔡昌盛,高井祥,郑南山,等.北京54坐标转换至WGS-84坐标的方法[J].四川测绘,2005,28(3):125-127
[3] 颜小平,耿晓民,初启凤.基于KML在Google Earth批量标记方法[J].测绘与空间地理信息,2012,35(4):92-93
[4] 陆柏树,刘云彪.勘探点在Google Earth中显示的程序实现[J].资源环境与工程,2007,21(4):450-454
[5] 刘珍,刘建勋.浅谈Google Earth 二次开发技术[J].地理空间信息,2009,7(4):72-74
[6] 殷强,王方雄.应用Google Earth 的基础地理信息模块实现方法[J].地理空间信息,2011,9(6):105-106
[7] 向民锦,李云星.利用Google Earth建立旅游资源导航信息平台[J].湖南城市学院学报:自然科学版,2010,19(1):64-65
P208
B
1672-4623(2016)02-0073-02
10.3969/j.issn.1672-4623.2016.02.025
贾进科,高级工程师,主要从事工程测量、GPS测量与研究等工作。
2014-06-10。