浅析google maps地图影像数据组织技术

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

浅析google maps地图影像数据组织技术

【摘要】随着遥感影像数据的不断增长,对这些数据的组织管理技术已显得越来越重要,本文分析介绍了google maps的地图影像数据的原理和海量地图数据的组织技术方法,并给出了基于google maps的嵌入式程序开发方法。

【关键词】google maps;影像数据;组织

1.引言

随着计算机、航天遥感技术的不断发展进步,目前遥感影像数据呈几何基数增长,达到了GB、TB甚至是PB这样庞大的级别。因此,海量遥感影像数据的高效组织、管理技术已显得越来越重要。

google maps是国际上较为先进的电子地图服务,可以快速响应用户的请求,并且及时从服务器中提取到用户所需要的地理影像数据在GIS程序中进行显示,本文分析了google maps海量影像数据的组织原理及技术特点,并给出了基于google maps的嵌入式应用程序的设计思路,为国内相关应用开发提供了借鉴和参考。

2.理论基础

地图投影是利用一定数学方法则把地球表面的经、纬线转换到平面上的理论和方法。由于地球是一个赤道略宽两极略扁的不规则的梨形球体,故其表面是一个不可展平的曲面,所以运用任何数学方法进行这种转换都会产生误差和变形,为按照不同的需求缩小误差,就产生了各种投影方法。地图投影的拟定和计算,一般均假定地球表面为旋转椭球面,并称其为地球椭球参考椭球面,如图1所示:

图1 地球椭球模型

地球椭球体的形状和大小是由其长半径a(赤道半径)和短半径b(极轴半径)决定的,通常去a的值为6378137米,b的值为6356752.3米。由于描述地球椭圆形状的参数还有椭圆扁率,第一偏心率和第二偏心率,其中扁率f反映了椭球体的扁平程度,偏心率和是子午椭圆的焦点离开中心的距离与椭圆半径之比,它们也反映椭球体的扁平程度,偏心率愈大,椭球愈扁[1]。

2.1 墨卡托投影

墨卡托投影,是正轴等角圆柱投影。由荷兰地图学家墨卡托(G.Mercator)于1569年创拟。假想一个与地轴方向一致的圆柱切或割于地球,按等角条件,将经纬网投影到圆柱面上,将圆柱面展为平面后,即得本投影。墨卡托投影在切圆柱投影与割圆柱投影中,最早也是最常用的是切圆柱投影。假设地球被围在一个中空的圆柱里,其赤道与圆柱相接触,然后假想地球中心有一盏灯,把球面上

的图形投影到圆柱体上,再把圆柱体展开就是一幅标准纬线为零度(即赤道)的“墨卡托投影”绘制出的世界地图。墨卡托投影没有角度变形,由每一点向各方向的长度比相等,它的经纬线都是平行直线,且相交成直角,经线间隔相等,纬线间隔从赤道向两极逐渐增大。墨卡托投影的地图上长度和面积变形明显,但标准纬线无变形,从标准纬线向两极变形逐渐增大,但因为具有各个方向均等扩大的特性,保持了方向和相互位置关系的正确。在地图上保持方向和角度的正确是墨卡托投影的优点,这样在查询地物的方向时就不会出错。简化后的墨卡托投影公式如下(公式中θ为经度,φ为纬度,Re为地球半径)

2.2 Google Maps投影

Google Maps所使用的地图投影与常规墨卡托投影的主要区别就是把地球模拟为球体而非椭球体[2]。以整个世界范围,赤道作为标准纬线,本初子午线作为中央经线,两者交点为坐标原点,向东向北为正,向西向南为负。由于赤道半径为6378137米,则赤道周长为2*π*R=2*20037508.3427892,因此投影坐标系中X轴的取值范围:[-20037508.3427892,20037508.3427892],Y轴的取值范围也限定在[-20037508.3427892,20037508.3427892]之间。地理坐标和像素坐标的转换关系如下:

其中,zoom为地图缩放系数,为经度,为纬度,、为地图显示的像素坐标。

3.google maps中的遥感影像数据组织技术

Google Maps采用基于四叉树的瓦片数据层叠技术来存储组织遥感影像数据[3],瓦片划分方式如图2所示。第一层(Level 0)采用一个瓦片影像来表达整个球面,其中心位于经度0°与纬度0°,然后每个瓦片作为一个四叉树的父节点,依次等级细分地球表面。在存储组织时,系统采用墨卡托投影,每个瓦片影像参照金字塔模式按照不同的缩放等级依次存储,即按照“瓦片集\放大层级\行序\列序.影像格式”方式,并且每个瓦片父节点下的四叉树瓦片影像按照从左上到右下顺序依次采用字母“QRST”编码索引。每个瓦片影像具有固定像素大小(256×256像素),影像格式为JPEG与PNG[4],如图2所示:

图2 Google Maps的瓦片剖分组织方式

随着缩放系数的不同,地球被逐级分成数片,每一级比例使瓦片多分为4片,当给定缩放的等级时,全球的地图数据的切片在水平方向和垂直方向的切片数目也可以确定,通过编码查找就可以找到图片在地球上的位置,如图3所示为东京同一位置0、7、18三个级别的缩放图。

图3 东京地图不同级别缩放方式

4.google maps程序嵌入式开发方法

4.1 GoogleMaps API介绍

Google Maps API是Google公司提供的地图开发API,目前已开发到V3版,它是一套调用Google Map服务的接口,开发者能够通过调用这些API将GoogleMaps方便地嵌入自己的网页或移动应用程序中,从而为自己的程提供建功能强大的地图应用,目前google公司提供WEB、IOS、Android三种类型API 供用户使用,利用这些API我们可以开发不同类型的应用程序。

GoogleMaps API提供了近百个类,每个类的属性与方法都有详细的文档介绍,可以实现放大、缩小、漫游、鹰眼、地图类型转换、坐标输出与定位、添加点标记等,并且可以添加各种控件,借助GoogleMapsAPI可以快速地构建基础地理底图和各种专题要素。Google Maps服务还能与流行的Google Earth软件共享KML地标信息,二者相辅相成,极大地提高了应用服务品质。以WEB应用程序为例,以下代码使用API调用GoogleMaps获取一张600*300像素纽约城市地图:

http:///maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&zoom=13&size=600x300&maptype=roadmap&markers=color:blue%7Clabel:S%7C40.702147,-74.015794&markers=color:green%7Clabel:G%7C40.711614,-74.012318&markers=color:red%7Clabel:C%7C40.718217,-73.998284&sensor=false

得到的结果如图4所示地图:

图4 600*300像素13缩放级别的纽约市地图

4.2 Google Maps使用的注意事项

虽然Google Maps JavaScript API是免费的,要想开发基于Google Maps的程序你只需要免费申请一个密钥即可,但是也有一些限制条件,如每天可使用地图API生成的页面视图数量不能超过25000页,如果超出或要想获取更多的功能,则需要付费,并且免费使用开发的程序必须对所有用户免费。同样,付费使用Google Maps我们可以获取更强大地图服务请求,更好的SLA,企业内部应用程序支持,并且可以控制广告。

5.结束语

GoogleMaps是当前最为出色的地图数据提供者,并且大量的地图数据是免费提供的,分析研究GoogleMaps的海量遥感数据组织技术对我们现有技术发展有很好的借鉴作用。同时,通过开放的API,我们可以开发出基于GoogleMaps 的嵌入式程序。

参考文献

[1]崔金红,王旭.谷歌地图算法研究及实现[J].计算机科学,2007.

相关文档
最新文档