(地图制图学与地理信息工程专业论文)基于ajax网络地图引擎客户端的设计与实现.pdf_第1页
(地图制图学与地理信息工程专业论文)基于ajax网络地图引擎客户端的设计与实现.pdf_第2页
(地图制图学与地理信息工程专业论文)基于ajax网络地图引擎客户端的设计与实现.pdf_第3页
(地图制图学与地理信息工程专业论文)基于ajax网络地图引擎客户端的设计与实现.pdf_第4页
(地图制图学与地理信息工程专业论文)基于ajax网络地图引擎客户端的设计与实现.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于a j a x 网络地图引擎客户端的设计与实现摘要网络地图服务是随着i n t e r n e t 的广泛应h j 而产生的种基于数字地图的新应用方法,是w e b g i s 的大众化应用的重要典璎。它研究的主要内容包括:在普通配置的浏览器客户端上展示地图、地图互操作、将用户信息添加剑地图上实现信息共享、允许用户调用地图服务接口实现各自的地图应用等。网络地图服务的优质与否取决丁网络地图引擎算法的优劣,尤其是当大量用户并发访问地图数据时,因此设计、实现一个优秀的网络地图引擎具有非常重要的作用。本文在深入研究地图预切片技术的基础上,设计、实现基于a j a x 技术的网络地图引擎客户端,该客户端不仅可以从地图服务器端获取地图数据并在客户端展示地图,而且还能在地图上进行一系列的操作,比如缩放、漫游、叠加覆盖物层等。主要工作如下:( 1 ) 研究地图预切片技术流程,并提出在栅格地图上创建空块处理技术,即对于空白的图块及图幅颜色相同的图块,使用单一像素描述,以此来减少网络传输量,提高图片传输速度。( 2 ) 研究m a p a b c 网络地图服务的地图切片数据,并基于此切片数据设计相应算法从m a p a b c 地图服务器获取地图数据,实现网络地图引擎取图功能。( 3 ) 实现鼠标滚轮缩放、拖拽地图功能以及可以调用的多个方法接口,便予用户与地图之间的互操作。( 4 ) 针对不同的浏览器,分别利川s v g 和v m l 技术在地图上绘制矢量图形( 包括多折线和面状覆盖物) ,达到缩放地图覆盖物不失真的效果。关键词:网络地图引擎、取图算法、地理坐标、地图互操作基于a j a x 网络地图引擎客户端的设计j j 实现a b s t r a c tw e bm a ps e r v i c ei sai l e wa p p l i c a t i o nb a s e do nd i g i t a lm a pw i t ht h ew i d e l yu s e di n t e r n e ta n di sav e r yi m p o r t a n tr e p r e s e n t a t i v eo fw e b g i si np o p u l a rs t y l e t h em a i nr e s e a r c ho fw e bm a ps e r v i c ei n c l u d e sd i s p l a y i n gt h em a pi nt h eb r o w s e rc l i e n tw i t hg e n e r a lc o n f i g u r a t i o n ,i n t e r o p e r a b i l i t y ,a d d i n gt h eu s e r s i n f o r m a t i o no nt h em a pt or e a l i z et h ei n f o r m a t i o ns h a r i n ga n da l l o w i n gt h eu s e r 8t oc a l lt h ew e bm a pa p i st of i n i s ht h e i ro w nm a pa p p l i c a t i o n t h eq u a l i t yo fw e bm a ps e r v i c ed e p e n d so nt h ew e bm a pe n g i n ea l g o r i t h m ,e s p e c i a l l yw h e 虹l a r g en u m b e r so f u s e r sa c c , e s st h em a pd a t ac o n c u r r e n t l y , s oi ti sv e r yi m p o r t a n tt od e s i g na n dr e a l i z eaw e bm a pe n g i n ew i t hs t a b l ea n dg o o dp e r f o r m a n c e t h i sp a p e rd e s i g n sa n dr e a l i z e saw e hm a pe n g i n ec l i e n tb a s e do na j a xt e c h n o l o g yo nt h eb a s i co fs t u d i n gt h et i l e s t h ec l i e n tn o to n l yc a ng a i nt h em a pt i l e sf r o mt h em a ps e r v e r sa n dd i s p l a yt h et e s s e l l a t e dd a t ao nt h eb r o w s e r ,b u ta l s oi m p l e m e n tt h eb a s i cf u n c t i o no f w e bm a p ,s u c ha sm a pz o o m ,p a na n ds oo n t h i sp a p e r sm a i nw o r ki n c l u d e s :( 1 ) t os t u a yt h ep r o c e s so f t h em a pp r e - t e s s e l l a t et e c h n o l o g ya n dp r o p o s eam e t h o dt oc r e a t et h eb l a n kb l o c kt e c h n o l yo nt h em a p t h i st e c h n o l o g yc a nb eu s e dt or e d u c et r a n s m i s s i o nq u a n t i t yo ni n t e r n e ta n di m p r o v et h em a pt r a n s m i s s i o ns p e e da si tc a nd e s c r i p et h et i l ei nap i x e lw h i c hi sb l a n ko rt h et i l e6 l l e dw i t ht h es a m ec o l o r ( 2 ) t os t u d yt h em a pt i l e sd a t ai nm a p a b cm a ps e r v 粥,a n da c c o r d i n gt ot h et i l e sd a t at od e s i g na l g o r i t h mt og a i nt h em a pd a t af r o mm a p a b cm a ps e r v e r 8 ,a n dr e a l i z et h ef u n c t i o no ff e t c h i n gm a p ( 3 ) t or e a l i z et h ef u n c t i o n so fm o u s ew h e e lz o o m ,d r a g g i n gm a pa n di n v o k i n ga p i s 。w h i c hf a c i l i t a t et h em a pi n t e r o p e r a b i l i t y ( 4 ) a c c o r d i n gt od i f f e r e n tk i n d so fb r o w s e r s ,t od r a wv e c t o rg r a p h i co nm a pb yu s i n gs v ga n dv m l t h eg r a p h i c sd r a w nb ys v ga n dx m lc a nb ez o o m e dw i t h o u ta n a m o r p h o s e k e y w o r d :w e bm a pe n g i n e ,t h eg e o g r a p h yc o o r d i n a t e ,f e t c h i n gm a p ,m a pi n t e r o p e r a b i l i t y北京建筑工程学院硕士学位论文原创性声明本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含任何其他个人或集体己经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体,均己在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。学位论文作者签名:日期:年月日第一章绪论1 1 研究背景第一章绪论网络技术的日益普及为地图的传播和使用提供了一种崭新的方式,网络地图作为新一代地图产品顺应而生【1 1 。网络地图是以互联网作为传播介质的一种新型数字地图,其数据形式包括空间数据和非空间数据,以分布并行方式存储,并且可以通过对网络数据库的访问,按照用户的需要提供不同的可视化产品及地理信息服判2 1 。网络地图较之传统的地图具有动态性、互操作性、超媒体结构以及简单快捷的分布形式等特征。随着i n t e m e t 的逐渐普及,网络地图作为一种新型的空间信息传播形式,越来越受到人们的青睐。2 0 0 5 年g o o g l em a p s 的发布使得网络地图服务行业成为w 毫b g i s 关注的焦点,2 0 0 6 年灵图公司“中国电子地图”的正式上市再次加热了国内网络地图市场。i 刍2 0 0 3 年推出第一款网络地图产品以来,中国网络地图的用户人数激增,其中的热点搜索、线路查询等功能为广大用户所喜爱。瘦客户端模式和胖客户端模式是w e b g i s 的两种实现方式。基于a j a x 技术的g o o g l em a p s的巨大成功,使得胖客户端模式成为当前w e b g i s 主流实现方式,a j a x 也因此成为w e b g i s 客户端主流实现技术。目前,知名的网络地图服均使用a j a x 实现,国外的j t i g o o g l e m a p s 、y a h o o !地图、微软l i v e s e a r e h 地图等,国内的如m a p a b c 、5 1 地图、灵图、m a p b a r 等。可以预测,未来的几年,基于a a ) 【的客户端实现方式将是w e b g i s 的主涮3 1 。除了a j a x 夕l - ,其他的一些w e b 应用的客户端实现技术也可以被应用到w e b g i s 中,f l a s h即为其中之一。基于f l a s h 的w e b g i s 产品具有h a s h 高效的运算速度和优秀的界面表现,因此在使用中取得了一定的成功。如y a h o o ! 地图同时存在a j a x 、h a s h 等的客户端方案,国内的m a p a b c 、m a p b a r 也建立了基于f l a s h 雕j 客户端。在矢量w e b g i s 方面,g m l ( g e o g r a p h ym a r k u pl a n g u a g e ) 、v m l ( v e c t o rm a r k u pl a n g u a g e ) 、s v g ( s c a l a b l ev e c t o rg r a p h i e s ) 等技术被广泛应用到w g b g i s 中。g m l 、s v g 和v m l都是基于x m l 的可用来描述矢量图形的标记语言。国内外对将g m l 、v m l 和s v g 应用于网络地图服务做了大量的研究,并取得了_ 定的成绩。在三维w e b g i s 方面,g o o g l e 和微软都在各自的网络地图产品中提供了三维街景服务,引起了较好的反响。国内的e 都市、都市圈等也提供了具有立体效果的网络地图产品。三维1第一章绪论网络地图服务一直以来都是g i s 研究的热点,未来同样也是g i s 研究的热点之一。分析目前市场的网络地图,我们可以总结出网络地图的如下特点:( 1 ) 大众化,在网络环境下,网络地图可以为大众用户在生活、工作、出行、旅游等各方面的活动提供更为便捷的解决方案,而这种方案仅仅需要用户拥有连接i n t e r n e t 的计算机;( 2 ) 可视化,可视化是地图最根本的特征,单个、孤立的信息无法在用户脑海中产生空间感,而地图技术的引入可以将地理信息在浏览器客户端以图示化方式显示,提供给用户更鲜明的信息;( 3 ) 本地化,商业网站一直思考的问题便是如何将网络地图如何与本地接轨。承载于网络地图上的地理坐标以及代表地上建筑物、信息源的相应符号或者图标与“本地”真实信息基本实现了无缝连接,随着技术的进步还可以解决实时更新等问题。从目前的发展趋势看,网络地图的信息对应、适时更新以及视觉效应等问题将会通过网站的本地化来进一步强化。( 4 ) 人性化,网络地图优秀的界面表现以及良好的用户体验一直是网络地图设计追求的目标。网络地图的出现不仅使用户多了一种查询信息的方式,而且信息的显示更加直观、更加具有可选择性和可扩展性。比如说,用鼠标点击地图上的相应建筑物不仅可以得到该建筑的准确位置、来同线路,还可以获取该区域的餐饮、租房、招聘、售房、交友、家政、求职等各种连带的相关生活信息,与过去查询纸质地图相比大大提供了获取有效信息的效率。目前市场上出现的网络地图都是根据中国地理测绘院提供的基础数据设计的,尽管不同的网络地图的界面各具特点,但是它们的软件根基是相同的,即它们的基础数据是相同的。因此,认真分析当前网络地图数据的特点,仔细研究并解决网络地图中的一些基本问题,如坐标变换等,才是提高网络地图运行效率,解决引擎算法瓶颈问题的关键所在。1 2 研究意义a j a x 全称为“a s y n c h r o n o u sj a v a s c r i p ta n dx m u ( 异步j a v a s c r i p t 和x m l ) ,是一种创建交互式网页应用的网页开发技术【4 】。a j a x 具有互动性强、响应速度快、客户端无需下载安装、数据传输量小等优点,基于a j a x 的w e b 应用能够提高用户体验,降低服务器的负担,减少数据的传输,因此具有了某些桌面系统的特性。g o o g l em a p s 等的成功也证明a j a x 可以很好地满足w e b g i s 大量实时交互、频繁服务器通讯、大量的数据传输等要求。目前基于a j a x 的w e b g i s 大多采用图片作为地理数据发布的形式。利用图片发布地理数2第一章绪论据有两种形式:图片动态生成技术和图片预切分技术。主流的网络地图服务提供商,如g o o g l em a p s 、y a h o o ! 地图、微软l i v es e a r c h 地图、m a p b a r 等均采用图片预切分技术发布地理数据,而专业g i s 公司的w e b g i s 产品如a r c l m s 等则采用图片动态生成技术。采用a j a x 技术实现地图数据的发布,减少了数据传输的时间,提高了传输效率,而且客户端采用j a v a s c r i p t 语言编写,降低了用户使用的门槛。但是目前大多数a j a x 地图服务都是商业的,普通用户只能从企业的说明文档中了解如何应用地图,对接口的实现并不了解。o p e n l a y e r s 是一个优秀的开源客户端,不仅能从不同的地图服务商获取地图数据而且还能实现访问的地理数据符合行业标准【5 1 。但是由于o p e n l a y e r s 架构比较复杂,对于初学者学习来说具有一定的困难,而_ e l o p e n l a y e r s q a 类之间相互调用会降低客户端显示效率。1 3 研究内容信息化时代的今天,社会对g i s 产品的要求越来越高,同时网络技术的崛起也为g i s 的发展注入了新的活力,g i s 与网络技术相融合以形成一个基于i n t e r n e t 技术的w e b g i s 集成信息平台已经成为当前g i s 研究领域的一个重要方向,网络化的g 1 s 也成为了“数字地球”时代的核心软件平台之一。但是在传统w e b 技术支持之下的w e b g i s 软件,面临着诸多的问题,比如:网络延迟和w e b g i s 的大流量数据之间的矛盾等等。如何将最新的计算机网络技术及时和w e b g i s 结合,提高w 曲g i s 的功效,充分利用和发挥w e b g i s 优势以服务于经济建设,就成为了g i s 发展研究的一个重要课题。自从g o o g e 于2 0 0 5 年发布t o o o g l em a p s 地图服务之后,各网络地图公司纷纷效仿,以期待能够提供与之类似的快速的、便捷的、门槛较低的网络地图服务。目前主流的在线网络服务般都提供热点查询、公交查询等功能,则这些应用功能的实现离不开地图的展示。本文的目标就是设计、实现一个基于a j a x 的网络引擎客户端,该客户端不仅能够从服务器端获取切片还可以通过进行地图操作。本文首先介绍了地图数据的来源以及引擎客户端实现语言。然后重点介绍了网络地图引擎客户端取图的算法。客户端取图的大致流程是首先将以经纬度表示的中心点转换为地理像素坐标,通过地理像素坐标的周转转换为屏幕坐标。基于中心点屏幕坐标、地图缩放级别以及屏幕大小计算出所需要的地图切片。最终将这些切片加载到客户端显示。为了能够进一步操作地图,本文还介绍了一些地图互操作接口的实现。3第一章绪论1 4 论文组织结构第一章绪论。主要介绍课题的背景和意义、研究内容以及论文的组织。第二章地图预切片技术。主要介绍了传统w e b g i s 发布技术的特点、地图预切片技术的概念以及地图预切片技术在m a p a b c 网络地图服务中的应用第三章网络地图引擎客户端取图研究。地图引擎客户端的首要任务是要从地图服务器端获取地图切片,并在客户端加以显示。本章首先介绍了引擎总体架构以及开发a j a x 地图引擎客户端所需要的开发语言,主要包括j a v a s c r i p t 、d o m 、以及s v g ,v m l 等。并介绍了目前主要的取图方法。第四章网络地图引擎客户端的设计。本章主要介绍了引擎客户端的设计方面的内容。包括引擎客户端的设计原则,开发平台、开发工具,引擎总体架构以及引擎的功能设计及接口设计。第五章网络地图引擎客户端的实现。本章是全文的核心章节之一,详细介绍了网络地图引擎客户端实现的过程及方法。本章首先介绍了客户端取图算法的实现,其中涉及到地理经纬度坐标、地理像素坐标以及屏幕坐标之间的转换实现,以及如何根据屏幕显示范同以及用户设置的中心点、缩放级别计算出所需要的地图切片,最后实现在客户端拼接、显示地图切片。在客户端显示地图数据之后,接下来为了让地图更为生动,需要实现一些地图接口来操作地图。本章介绍了地图基本操作的实现,包括地图定位、地图缩放功能、地图移动功能等,这其中也包括滚轮缩放、双击放人、鼠标拖拽地图等鼠标功能的实现。本章还介绍了在地图上添加点、线、面覆盖物的方法。最后给出了接口调用的示例。第六章总结与展望。总结了这个系统客户端的实现,并对之后的工作进行了定的展望。4第一二章地图颅切片技术2 1 概述第二章地图预切片技术数据是g i s 的根基,没有基础数据,再强大的功能都将会是“空中楼阁”。网络地图服务中除了需要准确的基础数据以外,为了满足广大网络用户搜索、查询兴趣点等的需求还必须提供各行业兴趣点信息等。虽然目前市场上电子地图产品种类比较多,但是它们都是基于中国地理测绘院提供的数据而设计的,因此无论他们的产品做得多么的与众不同,他们的软件根基是相同的,也即他们的数据是相同的。同时由f 本文的重点在于设计、实现一个可以从地图服务器端进行取图并在地图上进行一系列操作的客户端,所以从现有资源上获取地图是可行和必要的。本文所使用的地图数据是m a p a b c 数据。在介绍获取地图数据之前,首先介绍地图预生成技术。2 2 地图预生成技术2 2 1 传统w e b g i s 发布技术的特点在传统w e b g i s 栅格数据发布技术中,w e b 客户端在请求栅格图像时,会将坐标范围、图层名等请求参数传递给地图服务器,服务器接收到这些请求参数后,在服务器端根据请求参数动态生成图片文件,并传回客户端在浏览器上进行显示。客户端每次操作地图,比如缩放地图、拖拽移动地图时,都会重复以上请求和生成图片的流程,直到客户端浏览结束。从上述的工作流程中可以看出传统w e b g i s 发布技术存在以下几个问题【6 】:( 1 ) 地图生成速度较慢地图数据具有海量的特征,服务器对栅格图像的操作,如图像渲染,会耗费大量的内存和c p u 资源,普通配置的服务器c p u 负载经常达到9 0 以上,造成服务器生成图像速度慢,客户端等待时间长的结果,而且如果j j 户大规模并发访问,服务器更会不堪重负。目前a r c l m s 、m a p s e r v e r 、g e o s e r v e r 等主流的w e b g i s 服务器都存在响应慢的问题。( 2 ) 网络传输负载过大传统w e b g i s 所生成的地图图片大小是由客户端当前的窗口屏幕范围所决定的,根据客5第二章地图预切片技术户端的每次请求,服务器端会生成并传回与当前窗口范围相统的图片,由于目前显示器的屏幕尺寸越米越大,用户也倾向于使刚较人的窗口来浏览地图,所以每次请求的图片人小少则上百k 字节,多达几百k 字节,导致网络传输量过大,客户端得不到及时的响应。( 3 ) 地图请求不可重用客户端请求的地图是根据请求参数由服务器动态生成的,地图请求u r l 中的参数是当前窗口坐标范围,由于地图操作具有随意性,每次操作的坐标范围几乎都是不同的,这必然导致浏览器的每次请求的u r l 都是变化的,浏览器虽然具有缓存机制,但动态变化u r l资源不能被浏览器重用,致使浏览器的缓存机制失效,无法冈此提高页面访问速度。( 4 ) 同步请求和应答模式,交互性差。在传统的w e b g i s 中,服务器和客户端的连接是有状态的,交互采用同步应答方式。客户端首先将参数请求发送到服务器端,服务器端处理完请求后,发送应答传给客户端。在服务器生成图片过程中,客户端不能进行任何操作,只能等待,只有当服务器请求完成后才能继续工作。这种工作模式导致客户端等待时间过长,用户体验差。i n t e r n e t 上的地图服务要求地图生成速度尽可能地快速、网络传输负载尽可能地小、地图请求频繁的时候尽量可以重用,客户端与服务器端交互性比较好,而这些要求与传统w e b g i s 发布技术的特点背道而驰。考虑至t j i n t e r n e t 上的地图服务面向的用户主要为普通民众,他们希望能够尽可能快速、全面地浏览地图,但对地图的任意比例缩放要求并不高,也就是说地图不必连续缩放。相反,在一定的范嗣内,提供足够多个离散的缩放级别( 如0 1 7 共1 8 个缩放级别) ,按从小到大的顺序,逐渐提供从概略到详细的的地图服务,在一定程度上也是可以满足用户要求的1 7 。2 2 2 地图预切片技术概念由上节可知,传统w e b g i s 实现的网络地图服务速度慢、交互性差的重要原冈就是地图图片需要服务器端动态实时生成,并经由网络传送至用户端。实际上,网络地图服务许多时候对地图实时性的要求并不高,尤其是对于地图基础数据,比如说河流、道路交通、行政边界等,1 个月定期更新一次地图就可以满足用户需求。而且,一些p o l ( p o i n t o f i n t e r e s t s ) 实时性信息,如酒店位置信息等,并不是同定在底图上的,因此可以通过a j a x 弓l 擎异步读取数据库中的信息并通过图层叠加实现。p o i 数据是经常更新的,而基础数据( 比如高级别的道路、桥梁、湖泊等) 变动是很小的,即便是某些小道路发生变化,也可以通过生成指定范围的地6第二章地图预切片技术图斑块来实现,这个工作量相对是较小的。因此,对用户访问量人、实时性要求不高的普通地图可以进行预生成处理。地图的预生成一般将指定范围的地图按照指定尺寸( 如2 5 6 ,3 0 0 等) 和指定格式( 如j p e g ,p n g 等) 切成若干行及列的正方形图片,切图所获得的地图切片也叫瓦片( t i l e ) ,每个地图切片单独存储为一个文件,并按照一定的规则存储到文件系统中羽。目前比较通用的做法是:对每个比例尺( 缩放级别) ,在约定的投影类璎和地理坐标系统下,把地图切割成尺寸为2 5 6x 2 5 6 像素的若干小块栅格地图贴片,并保存在地图贴片服务器中,并且通过算法将浏览器地图方块坐标和贴片文件位置及名称关联起来。正是这些预先定义好的离散的缩放级别为后面将要介绍的地图分块提供了可行性。地图贴片格式可以多种多样,如p n g 、g i f 、j p e g 等【4 】。2 2 3 地图预切分步骤地图切分过程主要分为地图原始值修正、地图坐标参数配准和转换,地图重采样分级和地图切片生成四个步骤【6 】o地图原始值修正切图之前一般需要对某一范围的原始值进行修正,使其长高比为某一便于切图的比例( 如l :l 等) ,然后从左上角( 西北) 开始对此固定范围进行切图,后续的不同等级地图之间采用四叉树数据结构,第l e v e l 级上的一张瓦片( t i l e ) 至j j 第l e v e l + l 级将裂变成4 张。( 1 ) 坐标系统配准和转换为使具有不同坐标系统、投影方式的地图数据得以集成和发布,在地图预先生成前,应将地图的地理坐标系和投影方式进行统一,转换到地图发布所用的地理坐标系统。通常使用g i s ? e 具对栅格图像进行坐标配准和坐标转换,并获取地图范围参数( m i n x ,m i n y ,m a x x ,m a x y ) 和坐标系统参数。( 2 ) 地图重采样分级按照切图分级的比例尺或分辨率,对栅格地图的重采样,生成一组离散比例地图。重采样方法通常采用双立方缩减像素采样,使用加权平均值来确定像素颜色,此方法与简单的平均缩减像素采样方法相比,可以产生更平滑的渐变效果,更为准确。( 3 ) 地图切片生成根据t i l e 的坐标范围,在整幅地图中剪裁输出该范围的图片。7第二奄地图预切片技术切图程序可以使用栅格图像的屏幕像素坐标进行切分,从图像的左上角开始,依次按行列直接剪切t i l e s i z e 大小的图片,这种方法常用于基于图像处理软什的切图程序;也可以使用栅格图像的大地坐标进行切分,同样从左上角开始,依次按行列计算地图切片的大地坐标范围,并剪切此范围的地图切片,这种方法常用于基于g i s 处理软件的切图程序。分别对各级比例的地图进行切图,生成以下金字塔结构的地图切片,如图2 1 所示。l 级2 级3 级( o ,o )( o ,1 )( o ,o )( 0 ,1 )( 0 ,2 )( 0 ,3 )【o ,0 )( o ,1 )( 0 ,2 )( 0 ,3 )( o ,4 )( o ,5 )( o ,6 )( 0 ,7 )_ _ 。( 1 ,o )( 1 ,1 )。”、”( 1 ,o ) ( i ,1 )( 1 ,2 )( i ,3 )( 1 ,0 )( 1 ,1 )”( 1 :2 ) “t 1 j 3 一- ( 1 ,m 觑一( 1 ,6 )( 1 ,7 )- - 。- - | | 。| | 。_ 。? ? ? 、1 - k 一一_ 一h j j j 。j 。j 。( 2 ,0 )( 2 ,i )( 2 ,2 )( 2 ,3 )。“0 1 ( 2 ,1 )( 2 ,2 )( 2 ,3 )( 2 4 )( 2 ,5 )( 2 ,6 )( 2 ,7 )- -( 3 ,o )( 3 ,i )( 3 ,2 )( 3 ,3 )( 3 ,0 )( 3 ,i )( 3 ,2 )1 移”一。_ ( 3 渤( 3 ,5 )( 3 ,6 )( 3 ,7 )。- 。( 4 ,o )( 4 ,1 )( 4 ,2 )( 4 ,3 )( 4 ,4 )( 4 ,5 )( 4 ,6 )( 4 ,7 )( 5 ,0 )( 5 ,1 )( 5 ,2 )( 5 ,3 )( 5 ,4 )( 5 ,5 )( 5 ,6 )( 5 ,7 )( 6 ,o )( 6 ,1 )( 6 ,2 )( 6 ,3 )( 6 4 )( 6 ,5 )( 6 ,6 )( 6 ,7 )( 7 ,o )( 7 ,1 )( 7 ,2 )( 7 ,3 )( 7 ,4 )( 7 ,5 )( 7 ,6 )( 7 ,7 )2 2 4 地图切片存储优化方法图2 - 1 地图切片金字塔结构地图切图完毕后,需要存储这些地图切片,存储切片的方式有两种,分别是文件存储方式和数据库存储方式。采用数据库存储地图切片存在一些问题,首先,随着比例尺的增大,存储相同范围区域所用的地图切片成指数函数增加,尤其要显示全球范围比例尺最大时地图,空间数据量极为庞大,一般数据库难以承受如此多的记录和索引开销。比如,如果在缩放级别为0 时,用一个地图切片来表示整个地球,那么在每个缩放级别下所需要的切片数据以及存储空间如下表示,很明显可以看到数据量的激增。其次,地图切片直接输出为文件格式,入库管理会增加额外开销,而且地图发布也不需要对地图切片进行查询统计,不需要数据库高速检索能力。文件系统管理是存储地图切片更为合理的方式,因为文件系统是操作系统的核心模块之一,直接影响到操作系统的性能。依靠文件系统存储和管理地图切片,并不需要额外建立索引,可以直接寻址,便于大大提高地图发布的访问效率。由表l 可知,随着切片数量的增加,所占用的存储空间也越来越大。为了提高文件系统的效率,一般会采用多级目录存储和设计8第二章地图预切片技术优秀的存储路径的算法。除了以上两种方式外,还可以通过处理地图切片达到降低传输量,提高文件系统效率的目的。具体来讲,对于空白的图块及整幅颜色相同的图块( 如海洋、湖泊、空地上面没有标注的图片) ,使用单一像素描述。在文件存储和网络传输时只使用一个像素,对于空白图块使用白色作为单一像素的属性值;对丁颜色相同的图块使用单一颜色作为该像素的属性值。传输到客户端之后,通过像素拉伸使其填满2 5 6 * 2 5 6 的像素空间。这种图块处理方式主要应用于地图缩放级别最小和较大的情况。当地图缩放级别最小时,如图2 2 ,地图上只有表示陆地的白色和表示海洋的蓝色的图块,利用空块处理技术,可以减少网络传输量;当比例尺较大时,如图2 3 所示,地图上的标注点之间相距较远,空白面积较大,也可以采用该技术来减低存储、传输量,提高系统效率。表2 1 地图切片数据及存储空间人小9第南地目项h 技术2 3 地图预切片的应用罔2 - 2 缩放级别为3 时的地削削2 - 3 缩放纽别为l i 时的地图o o o g l em a p s 的出现,使得地目预切片技术风旆一时,各个网络地图公司纷纷采州该技术应j j 到自己的网络地酗服务中。目前采用该技术的地图服务除了g o g g l e m a p s 外,还包括y a h o o ! 地图、m a p a b c 、m a p b 盯,5 l 地图等。因为本文利用m a p a b c 地图服务器的数据t1 0气鹭。第= # 地幽顸日片技术以f 舟绍地凹预切片技术在m a p a b c 中的麻用。在浏览m a p a b c 地图之前,首先安装屉新版h t l p w a t e h 。h t t p w a t c h 趄一个h t t p 的浏览器和调试器,将h t l p w a t c h 与i e 或f i 他自x 结台可以提供无缝的h 1 t p 和h t r p s 监测。利用h t t p w a t c h ,用户可以通过窗口准确地看到阿站运行的进度,j f 能诊断问题,了解阿络洲览器与服务器的交互。在浏览地蹦丽面对,可以通过h t t p w a t c h 看到提交的切片请求。登录e o d e m a p a b e m 更面,剥览一幅n 拙h 地图,如f 图撕。然后打开h t t p w a t e hi ,具,看其中显示的数据。下囤2 - 5 为h t t d w a t c h 中的一部分截闰数据这牡数据为客户端向地图服务器请求的地图切片的w l 。每一个矾均表示一个2 5 6 * 2 5 6 的地图切片。以毡吲虹曲皿皿如出蛙婵出国遒幽些垭熊生型丛韭噬幽墅e 世塑塾幽9 王为例,“? ”前面的地址表示地翻服务器地址,v 表示地图数据的版本,“矿表示地理像素坐标系f x 方向坐标“,表示地理像索坐标下y 轴方向上的值。z o o m 表示当前地图缩放级别。通过反复缩放地鹫、漫游地图查看h t t p w a t c h 的数据,可以总结出一共有四台地酗服务器。缩放级别为从01 4 ,其中0 表示比例尺盛大的地图切片1 4 为比例尺最小的地图切片。为了可以利用眦m a b c 地图服务器的地图切片数据,在设计地图引擎客户端取图算法时,必须严格按照如上的标准来构造所要获取的切片的州a酗2 4m a p a b c 地幽第二二章地图预切片技术h t t 9 :f f e m a p o m a p a b c c o r n m a p a b c m a p t i l e ? v - - - w 2 6 1 b ( x = 3 3 7 5 i k y - - - 1 5 5 3 b c o o m = 5h t t p :l i e r n a p o m a p a b c c o m f m a p a b c m a p 州e ? v = w 2 6 1 8 = 3 3 7 1 8 审= 1 5 5 3 8 l z o o m = 5h t t p :h e r n a p o m a p a b c c o m y m a p a b c m a p t “e 7 v ;w 2 。6 1 8 c ) ( ;3 3 7 3 8 审= 1 5 5 1 & z o o m = 5h t t p :l l e m a p o m a p a b c c o m m a p a b c f m a p 卸e ? v = w 2 6 1 8 ) ( = 3 3 7 2 8 审;1 5 5 2 8 旺o o m = 5l - i t - t p :h e m a p o m a p a b c c o m # n a p a b c , m a p t i l e ? v = w 2 6 l x = 2 3 & y = 1 9 3 8 e z o o m = 8h t t p :e m a p o 。m a p a b c c o m 7 m a p a b c f m a p t i i e ? v = w 2 6 1 & , x = 4 2 1 b y - - 1 9 5 b z o o m = 8h t t p : e r n a p 0 m a p a b c c o m 7 m a p a b c m a p t i i e 7 v ;w 2 6 l x = 2 2 & y = i 9 4 8 e z o a n = 8h t t p :h e m a p 3 m a p a b c c o m ,m a p a b c m a p t i l e ? v = w 2 6 18 i ) c 一3 3 7 5 & y = 1 5 5 2 鼬o o m = sh t t p :h e m a p 3 m a p a b c c o r n m a p a b c ( m a p t i l e ? v = w 2 6 1 b ( x = 3 3 7 4 e y = 1 5 5 3 & z o o m = 5h t t p : e m a p 3 m a p a b c c o m m a p a b c m a p 叫e 7 y = w 2 6 l & x = 3 3 7 0 8 审= 1 5 5 3 & z o o m = 5h t t p :e m a p 3 m a p a b c c o m m a p a b c f m a p 州e ? _ l ,= w 2 6 1 8 0 ( = 3 3 7 1 & y = 1 5 5 2 8 z o o m = = 5h t t p :e m a p 3 m a p a b c c o m t m a p a b c m a p t i l e ? v = w 2 6 1 b c ( = 3 3 7 2 e y = 1 5 5 1 b t z o o r n = = 5h t t p : e m a p 3 m a p a b c c o m m a p a b c m a p t i l e ? v = w 2 6 l x = 2 2 鲫- - 1 9 3 8 ( z o o r n - - 8i l t t p :e m a p 3 m a p a b c c o m f m a p a b c f m a p 七i i e 7 v = w 2 6 1 8 0 := 4 2 1 & y = 1 9 4 8 l z o o m = 8h t t p :( e m a p 2 m a p a b c c o m l m a p a b c m a p t i l e ? v = w 2 6 1 & x = 3 3 7 5 e y = 1 5 5 1 8 z o o m - - - - - - 5h l :t p :e m a p 2 m a p a b c c o m y m a p a b c m a p 吲e ? v = w 2 6 1 8 c r e t u r nd e s t i n a t i o n ;)通过o b j e c t 类为每个对象添加方法e x t e n do b j e c t p r o t o t y p e e x t e n d = f u n c t i o n ( o b j e c t ) r e t u r no b j e c t e x t e n d a p p l y ( t h i s , t h i s ,o b j e c t ) ;p r o t o t y p e 的实质是目的对象对源对象的完全的拷贝,使两个对象不会共用一个p t o t y p e属性,避免了两个对象之间的相互影响,从而实现了真正意义上的继承。3 2 2d o m 概述d o m 是d o c u m e n to b j e c tm o d e l 的英文缩写,是w 3 c 制定的一套规范标准,制定了解析文件的接口,它把h t m l 文档、x m l 文档等看成一个文档对象,在接口里面存放的是对这些文档操作的属性和方法的定义【1 4 1 。其本质是建立网页与脚本或程序语言沟通的桥梁。所有w e b 开发人员可操作及建立文件的属性、方法及事件都以对象来展现【1 5 】。d o m 是以层次结构组织的节点或信息片断的集合,这个层次结构允许开发人员寻找特定信息。在这个层次结构中,h t m l 、x m l 文档中的元素、实体、属性等内容个体都可以用对象模型表示,整个文档被看成是一个有结构的信息树,生成的对象模型就是树的节点,对象同时包含了方法和属性。因此,对文档的所有操作都是在对象树上的进行。在d o m 中,树中的一切都是对象,不管是根节点还是实体的属性【1 6 】。通过j a v a s c r i p t 来访问d o m 树,可以遍历树上的节点、动态添加、删除树上的节点、1 6第三章网络地图引擎客户端取图研究设置或修改某个节点的样式、设置或修改某个节点的值,j a v a s c r i p t 对于d o m 树所做的任何修改都会立即生效,而且其面向对象的特性,使人们在处理x m l 或h t m l 解析相关的事务时节省大量的精力,是一种符合代码重用思想的强有力的编程工具,但它的缺点是不能够控制浏览器重新呈现d o m 树的时间。以下介绍d o m 中常用的a p i t l7 】:( 1 ) g e t e l e m e n t b y l d ( i d ) :该a p i 用于返同指定i d 的元素。这个a p i 的原理是从根结点进行遍历,查询每个结点( 空白结点和空结点除外) ,并判断该结点得i d 是否为参数指定的i d ,如果是则返同这个节点,如果没有则返同空。( 2 ) c r e a t e e l e m e n t ( t a g n a m e ) :该a p i 用于创建结点对象,参数表示一个标签,它返回的是这个结点的引用。( 3 ) a p p e n d c h i l d ( o 均o c t ) :该a p i 用于在b o d y 的尾部插入指定结点。( 4 ) r e m o v e c h i l d ( o c h i l d n o d e ) :该a p i 用于移出父结点的一个子结点。支持d o m 的浏览器使得w e b 开发人员拥有- f g , j 建功能强大、多样化的w e b 应用程序的能力。在a j a x 应用开发中,采用d o m 动态修改页面,进行局部刷新,可以实现一些页面的动态更新效果【1 8 】。3 2 3v m l 及s v g 介绍基于x m l 的二维矢量语言s v g ,v m l 因为具有与j a v a s c f i p t 无缝交互操作,文件较小。便于检索,以及渲染与显示速度快等特征,在数据展示舞台上起到了举足轻重的作用。以下分别介绍v m l 、s v g 特点 1 9 】。1 v m lv m l ( v e c t o rm a r k u pl a n g u a g e ) ,即矢量标记语言。借助v m l 技术可以在i e 浏览器中绘制矢量图形,并且绘制的图形具有无限缩放不失真的特点,因此该技术成为表现地理数据的首选。目前i e 5 0 以上版本都提供对v m l 的支持,不过需要在h t m l 文件中声明v m l命名空间及其处理函数。具体来讲,在v m l 中有s h a p e 和g r o u p 两个基本的元素,首先基于s h a p e 元素衍生出一些更为直接的图形,如r e c t ( 矩形) 、p o l y l i n e ( 线) 、i m a g e ( 图形文件) 等等;而g r o u p 元素可以将这些图形组合起来作为一个整体来使用统一的坐标系统,s h a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论