2024年5月5日发(作者:)
科技创新与应用l 2016年第13期 科技创·新
基于高德地图API加载kml文件的方法研究
武希涛
(铁道第三勘察设计院集团有限公司,天津300000)
摘 要:随着智能手机的发展和普及以及各种地图导航软件的发展,目前手机地图已经成为人们外出的重要工具之一。但是在
铁路、公路、电力等线性工程的前期设计阶段,还没有专业的手机地图辅助软件。因此,有必要针对此类工程的前期需求进行相
关研究。文章就提出了一种Android系统中高德地图加入kml文件的方法。
关键词:高德地图API;铁路;kmt文件
地图覆盖物的接口。所有叠加或覆盖到地图的内容,统称为地图覆
矢量图形元素(包括:折线、多边形和圆)等。
近年来随着铁路的跨越式发展,在现今的各类交通和运输的策
盖物。如标记、
略中,铁路当之无愧成为运输成本低,效率高以及出行和货运的首 例如,绘制一个虚线三角形的代码如下:
1概述
选方式。根据“十三五”规划,到2020年,高铁运营里程达到3万公
里,这意味着未来五年1万多公里的高铁需要开通。在铁路的前期
规划设计阶段,外业勘测采集数据还难免的采用手写纸记的方式。
同时随着智能手机的发展和普及以及各种地图导航软件的发展,导
航软件逐渐成为大众不可或缺的手机软件。kml(Keyhole Makeup
Language) ̄-采用扩展性的标记类型语法以及文件式的数据格式,
能够实现地理数据的客户端展示_l_。kml目前已经成为各大地理信
息平台通用的标准文件之一。如果铁路线路前期设计选线阶段能结
合手机导航软件及kml文件,在外业测绘调查阶段实现智能化,必
将达到事半功倍的效果。其中,kml文件作为数据转换的关键,将其
融人目前主流的手机地图软件尤为重要。
2 Android简介
Android是一种基于Linux的自由及开放源代码的操作系统,主
要使用于移动设备,如智能手机和平板电脑,由Google公司和开放
手机联盟领导及开发。目前Android逐渐扩展到平板电脑及其他领
域上,如电视、数码相机、游戏机等。在优势方面,Android平台首先
就是其开发性,开发的平台允许任何移动终端厂商加入到Android
联盟中来。Android平台提供给第三方开发商一个十分宽泛、自由的
环境,不会受到各种条条框框的阻扰。Google服务如地图、邮件、搜
索等已经成为连接用户和互联网的重要纽带,而作为Google公司旗
下的Android平台手机将无缝结合这些优秀的Google服务。
3解析kml文件的方法
kml文件是一种特殊XML文件,其读取解析方式与网页浏览器
处理HTML和XML文件的方式类似,此类文件具有的平台无关性,
语言无关性,系统无关性,给数据集成与交互带来了极大的方便。目
前已经成为各大地理信息系统统一的数据文件,因此采用kml文件
作为数据文件,可以为将来结合其他平台数据提供基础。以下是一
个简单的kml文件的内容:
≮ x_l version=”1.0”encoding=“UTF一8” '
<kml xmlns=”http://earth.google.com/kml/2.1“’
‘Placem8rk'
<name>Simple Dlacemark《/name>
<description>Attached to the ground.
《/description>
<Point>
<coordinates>一3,22.8822835425683.37.4222899814e251,e《/cOOrdinates>
</Point>
</Placemark></kml>
目前基于JAVA语言的解析方法都已成熟,基本的解析方式有
两种,一种叫SAX,另一种叫DOM。SAX是基于事件流的解析,D0M
是基于XML文档树结构的解析。在此次的研究中,我们主要是提取
kml文件中各标记点的坐标值, ̄lJ<coordinates>节点中的数值,并按
照点、线、文字分类处理存储于数据库中。
4高德地图API
高德地图API中的Android SDK是一套地图开发调用接口,
供开发者在自己的Android应用中加入地图相关的功能。开发者可
以轻松地开发出地图显示与操作、室内外一体化地图查看、兴趣点
搜索、地理编码、离线地图等功能。其中,高德地图提供了可以添加
一
66一
;/,绘制一个虚线三角形
polyline=aMap.addpolyline((new Polylin ̄tlons()
width(10).setDottedLine(true).ge0destc(true)
.
color(Color.argb(2ss,1,1, )));
在高德地图提供的该类接口中,所有的覆盖物均由地理坐标来
确定位置,此步可以按照类别读取从kml文件中解析得到的坐标,
加载至高德地图上,从而实现加载kml文件的目的。
5 WGS84坐标与高德地图坐标系统的转换
目前将设计用北京54及西安80坐标系转为WGS84的方法均
已成熟 但是结合实际情况,网络地图坐标均是经过加密后的坐
标,因此直接使用由kml解析出来的WGS84坐标导入高德地图,将
产生标注与地图不匹配的现象。针对,这一现象高德地图API提供
了一个CoordinateConvert类,该类可以将常见的坐标类型转化为高
德地图。转换代码如下:
GeoPoint pos=CoordinateConvert.from6psToAmap(1atitude,longitude); ;
LatLng location=new LatLng(pos.getLatltudeE60 1.E一6J pos..getLongitu l
deE6() 1.E 6);
这样,我们在将覆盖物加载之前需要将解析到的WGS84坐标
转换成高德坐标后再加载,就可以处理坐标不统一的问题。
6结论与展望
文章介绍了一种简单可行的将kml文件加载于高德地图上的
方法。该方法可以方便外业人员进行定位和寻找目的地。同时,也可
以结合智能手机的交互操作及定位功能,将采集到的数据存储于数
据库中并生成kml文件输出。可以大大的节省外业数据的处理时
间,达到事半功倍的效果。
参考文献
Ⅲ蔡晓桦.云计算及其在地理信息系统中的应用【J】.江西测绘,2012
(1):39—41.
[2]许捍卫.移动式GIS发展的关键技术及应用前景[J].测绘工程,
2003.12(1):34—36.
发布评论