WebGIS之OpenLayers全面解析.docx
《WebGIS之OpenLayers全面解析.docx》由会员分享,可在线阅读,更多相关《WebGIS之OpenLayers全面解析.docx(314页珍藏版)》请在三一办公上搜索。
1、WebGlS之OPelILayerS全面解析WebGIS之OPenLayerS全面解析1. 第1章概述2. 1.2什么是WebGIS3. 1.3常见的开源WebGIS平台4. 第2章WebGlS开发基础5. 2.2Web编程基础6. 2.3WebGlS框架结构7. 2.4WebGlS开发相关GIS背景知识8. 第3童C)PenLayers开发基础9. 3.20PenLayers3API概述10. 3.3C)PenLayerS开发环境配置11. 3.4OPenLayerS调试方法12. 3.5网站开发与发布13. 第4宣OPenLayers快谏入门14. 4.1创建Web项目15. 4.2搭建系
2、统框架16. 4.3实现地图显示功能17. 4.4加载常用控件18. 4.5练习19. 第5章ODenLayerS之多源数据加载20. 5.1数据加载原理21. 5.2基础地图数据22. 5.3开放数据23. 5.4公共地图数据24. 5.5多源数据叠加显示25. 5.6瓦片网格彳百息显示26. 5.7地图打印27. 5.8练习28. 第6章ODenLayerS之图形绘制篇29. 6.1图形交互绘制原理30. 6.2绘制几何图形31. 6.3图形样式编辑32. 6.4图形交互编辑33. 6.5图形信息保存34. 6.6练习35. M7CenIyeOGC36. 7.2OGC数据加载原理37. 7
3、.3OGC数据显示38. 7.4练习39. 第8童ODenLayerS之高级功能篇40. 8.2动态投影41. 8.3视图联动42. 8.4定位导航43. 8.5热点图44. 8.6热区功能45. 8.7统计图46. 8.8标绘功能47. 8.9练习48. 第9章。草nLayers之项目实战水利信息在线分析服务系统49. 9.2系统需求50. 9.3系统设计51. 9.4系统实现52. 9.5系统部署53. 9.6练习54. 附宗AOpenLayers3API55. 附录BJaVaScTit编码规范56. 附录C背景知识参考资料57. 参考文献58. 后折页59. 封底第1章概述1.1什么是G
4、IS地理信息系统(GeOgr叩hieInformationSysiem,GIS)是一种特定的十分重要的空间信息系统,它是在计算机软硬件系统的支持下,以采集、存储、管理、检索、分析和描述空间物体的定位分布及与之相关的属性数据,并以回答用户的问题为主要任务的计算机系统。任何事物都有时空属性,都与空间信息相关,地理信息无处不在。GIS以空间数据为基础,航天、地面、地表、地下等都是GIS所研究的领域。我们在工作和生活中所接触到的各种地图制图工具及在线地图产品,如百度地图、GOogle地图等,仅仅是GlS的冰山一角。其实,GlS从最初的地图制图发展至今,已广泛应用于国土、气象、矿产、农林、市政等专业领域
5、,以处理和分析各个行业面临的业务问题并辅助其进行决策。GlS究竟能做什么呢?以大众应用为例。GlS首先就是用于收集地理信息,人类的绝大部分活动都与地理位置有关,比如想和朋友找个餐厅吃饭,周末想找个电影院看电影,到一个陌生的城市出差找宾馆这些都涉及地理信息。通过GIS能有效地把这些信息都存储起来,怎么存呢?用EXCel吗?那怎么和地图关联起来?文本文件或数据库都可以,我们只要按要求把信息录入就可以了。收集到的地理信息,在电脑中只是一堆表格数据,那怎么为人们所看到呢?这就是所谓的“可视化”了,各种图表是信息可视化的产物,那地理信息可视化的产物就是“地图”,当然地图远比GlS出现得要早,这位前辈是G
6、IS重要的代言人,GlS可以方便地将收集到的信息展示在地图上。而空间分析其实离我们也并不遥远,像大众点评这样的应用已经相当普及,我们可以很方便地找到周边的餐馆。还有地图导航,通过GPS装置收集你的地理位置之后,在地图上找到正确的位置显示,再进一步的实现查询、搜索等功能。上述仅仅是GIS在大众应用中的一个缩影。GlS发展至今,紧跟IT相关技术的步伐,从单机桌面工具到互联网Web在线应用,再到移动端便携应用;在各类应用需求的驱动下,从简单的制图到二维GIS应用,从2.5D到3D的进步,甚至全空间真三维的突破GIS在短短几十年中迅速发展、蜕变,GIS应用渗透到各行各业,分别在横向与纵向逐步扩大应用的
7、广度和深度,成为我们创建智慧城市和智慧地球的中坚力量。WebGIS(网络地理信息系统)是指基于Intemet平台,客户端应用软件采用网络协议,运用在Internet上的地理信息系统,即将GlS这门学科所能提供的功能通过互联网展现给用户。顾名思义,WebGlS就是展现于网络上的GIS,是GIS与Web融合的产物。GlS通过Web功能得以扩展,使得GIS冲破专业圈子,真正成为大众化的GIS。如今,网络已成为日常生活中不可或缺的工具,人们可以在网上订餐、购物、查找路线信息、实现定位分析等。地理信息已普及大众,越来越多的人开始使用地理信息服务,享受地理信息所带来的便利与乐趣。随着技术的不断发展,GlS
8、经历了单机应用向网络应用发展的过程。从本世纪开始,Internet进入了爆发式增长阶段,网络的铺设以及网速的提升都有了大幅度增加,这为WebGlS的发展提供了坚实的大环境。网络环境中的GIS应用从C/S(ClientZServer,客户机/服务器)模式向Intern&环境下的B/S(BrowserZServer,浏览器/服务器)模式发展,并逐步成为GlS应用的主流。相比C/S模式,B/S模式的WebGIS具有部署方便、使用简单、便于推广等天然优势,为地理信息服务的发展奠定了基础。于是,WebGIS应用需求剧增,基于B/S模式的GIS系统越来越多地开始提供服务,并且随着RIA(富客户端)技术、A
9、jax(动态网页)技术的涌现和成熟,WebGlS具有更好的视觉效果与交互效果,越来越受到广大用户的喜爱。网络的大发展为人类创造了极大的物质财富和精神财富,手指轻轻一点便可轻易获取各种信息资源。互联网与GIS的融合,成为GlS应用的催化剂,标志着GlS迎来一个新的时代,GlS真正走向大众化,GIS应用全面融入人们的工作与生活,并彰显出巨大的活力。WebGIS激活了GIS大众应用的市场,互联网早已敏锐地嗅到了商机,大量资本与外界力量进驻WebGlS,互联网巨头纷纷跨界布局地图领域,Google地图、百度地图等服务提供商的大规模扩张便是最好的证明。同时,移动互联网进入爆发增长期,移动互联网成功的关键
10、是为用户提供优质便捷的生活服务,地图则是实现移动端增值服务的最佳入口。因此,当移动互联网遇上无处不在的地理信息位置服务,LBS应用市场需求旺盛,移动端必将涌现出更多意想不到的特色应用。随着终端定位能力、网络及资费等外部条件的成熟,位置服务可能会在很多应用上成为标配,更有希望基于位置信息维度重新组织互联网上的海量信息,创新地理信息价值。如今,GlS早已融入人们的日常生活,网络在线地图不再限于导航,人们可以通过地图快速获取周围的景点、餐馆信息,甚至能在同一种应用中实现订餐、订房、支付等一站式服务。有了移动互联网的支撑,地图所承载的应用会更加丰富、多元化,WebGIS的应用将会更加宽泛和深入。随着新
11、互联网技术的发展,广义网络GlS被赋予了更多的内容。我们所讨论的WebGlS通常为狭义的网络GIS,即仅仅是基于B/S模式,并通过Web浏览器访问的WebGlS。WebGIS的应用非常广泛,可以应用到几乎所有的领域,主要分为行业应用与大众应用。行业应用通常为传统专业领域的应用,如地矿、国土、公安、市政、应急防灾等领域;大众应用则主要为互联网方向服务于人们日常生活的GIS应用,诸如百度地图等网络地图产品(见图1.1),以及旅游、餐饮、购物、公交出行等各类WebGIS应用系统。而公众接触最多的也就是这些大众应用类产品,只是很多时候我们并不清楚这些就是WebGIS应用而已。图Ll百度地图等在线地图得
12、益于互联网的发展,WebGlS快速发展前进,开发工具与平台也呈现出百花齐放之势。目前,涌现出大量用于WebGlS二次开发的产品,主要包括开放API、开源与商业WebGIS开发平台等。互联网方向,有百度地图API、天地图API、高德地图API、腾讯地图API、GoogIe地图API等;行业应用方向,有很多诸如GeoSerVer的开源WebGIS平台,还有中地数码、超图、ESri等GlS厂商提供的专业WebGIS开发平台产品,如MaPGlSlGSerVer、ArcGISforSerVer等相关产品。1.3常见的开源WebGIS平台WebGIS市场需求旺盛,更多的人开始关注WebGlS应用,很多开发
13、者投身于GISer大军,催生了众多开源GIS项目,推动WebGIS的普及,如表Ll所示。表1.1部分开源GIS项目列表类型开源GIS项目说明桌面工具QGIS.uDig.GRASS主要用于制图,即在桌面端加栽数据并对数据进行编辑服务器GeoSerVer、MaPSerVcr、GcodjangoGeoServerJ2EE框架,MaPSerVer核心部分基于C语言数据库PostGIS/PostgreSQLMySQLSpatial主要用于存储空间数据客户端QGlS-OPCnLayCrs、OpCnSCales、Worldkit作为客户端开发框架工具集JTS、GEOS(几何拓扑操作库)、Shapely.GD
14、AL0GR(栅格矢量数据操作库)、Proj4(地图投影南)中间件Geolbols-.MaPIbokGCOlbOlS是一款基于JaVa的开源GIS工具集,允许用户对地理数据进行基本操作。空间分析功能一般基于中间件实现,或基于OGCWPS实现1. UDigUDig是一个开源的桌面应用程序框架(见图L2),是构建在EdiPSeRCP和GeOToOIS(-个开源的JaVaGlS工具包)上的桌面GIS。UDig作为一款开源桌面GIS软件,基于JaVa和EdiPSe平台,可以进行ShP格式地图文件的编辑和查看;是一个开源空间数据查看器与编辑器,对OPenGIS标准、WebGIS,网络地图服务器和网络功能服
15、务器有特别的加强。图1.2UDig界面2. QGISQGlS是一个用户界面友好的桌面GIS,可运行在LinUx、UNIX、MaCoSX和WindoWS等平台之上。QGIS是基于Qt(跨平台的图形工具软件包),使用C+语言开发的一个用户界面友好、跨平台的开源版桌面地理信息系统,如图1.3所示。图1.3QGlS界面3. GeoServerGeOSerVer是OPenGISWeb服务器规范的J2EE实现,利用GeOSerVer可以方便地发布地图数据,允许用户对数据进行更新、删除、插入操作,通过GeOSerVer可以比较容易地在用户之间迅速共享地理信息。GeOSerVer是社区开源项目,可以直接通过社
16、区网站(如中文社区网站GeOSerVer支持OGC标准规范的系列服务支持POStgreSQL、MySQL等数据库,以及ArcSDEsShaPefiIe等中间件和文件资源,能够将网络地图输出为JPEG、PNG、KML等多种图片和数据格式,可以运行在任何基于J2EESerVlet的容器之上,支持多种客户端框架,如C)PenLayerS等。4. MapServerM叩SerVer是美国明尼苏达大学(UniversityofMinnesota,UMN)在20世纪90年代利用C语言开发的开源WebGIS项目。图1.4GeOSerVer界面M叩SerVer是一套基于胖服务器端/瘦客户端模式的实时地图发布系
17、统,客户端发送数据请求时,服务器端实时地处理空间数据,并将生成的数据发送给客户端。M叩SerVer的核心部分是C语言编写的地图操作模块,它的许多功能都依赖一些开源或免费的库。M叩SerVer遵循OGC系列规范,可以集成POStGlS和开源数据库POStgreSQL,并对地理空间数据进行存储和SQL查询操作,同时还支持其他客户端APl实现地理空间数据的传输与表达。5. OpenLayersOPenLayerS是一个专为WebGlS客户端开发提供的JaVaSCriPt类库包,用于实现地图数据的网络访问。它访问地理空间数据的方法都符合行业标准,支持各种公开的和私有的数据标准和资源。OPenLayer
18、S采用纯面向对象的JaVaSCriPt方式开发,同时借用了PrOtotyPe框架和Rico库的一些组件。OPenLayerS是一个开源的项目,其设计之意是为互联网客户端提供强大的地图展示功能,包括地图数据显示与相关操作,具有灵活的扩展机制。目前,OPenLayerS已经成为一个拥有众多开发者和帮助社区的成熟、流行的框架。目前OPenLayers2已经升级为OPeilLayerS3,可以从其官方网站(http:/openLayers.org/)下载相关资源,如图1.5所示。图1.5OPenLayerS官网6. OpenScalesOPenSCaleS是一个基于FleX的优秀的前台地图框架,可以用
19、来开发各种网络版、手机版和桌面版地图程序。OPenSCaleS是基于ACtionSCriPt3和FleX编写的,能够支持各种标准的地图服务,如WMS、WFS.WMTS.OSM等。它是开源的、免费的客户端开发框架,基于LGPL开源协议,它在FIaShPIayer中运行,可以在各个浏览器中使用,具宥很好的跨平台特性。OPenSCaleS作为一个开源的GlS客户端框架,具有非常大的应用潜力,可以从其官方网站(http:/WWw.openscales.org/)下载相关资源,如图1.6所示。图1.6OPenSCaleS官网C)PenSCaleS可以看成对OPenLayerS的AetionSCriP【翻
20、译,所以在学习OPenSCaIeS时可以适当参考OPenLayerS的官方教程。箱比之下,虽然OPenLayerS的教痛也是英文的,不过非常详细,提供的示例也远比OPenSCaIeS的官方教程丰富。针对WebGlS应用开发,最具代表性的开源GIS项目有:服务器端为GeOSerVer与MapServer1客户端为OPenLayerS与OPenSCaleS。总的来说GeOSerVer的功能要稍强于M叩SerVer,MaPSerVer对WMS的士持更高效,GeOSerVer则更擅长符合WFS规范而属性查询。由于不同的GlS开源项目所采用的技术框架不同,根据开发环境可以将主流的WebGIS开源解决方案
21、分成两派,一派是C/C+,另一派是Java。常用的WebGlS全套解决方案如下。(1)基于C/C+的解决方案:M叩SerVer(服务器)+QGIS(桌面软件)+Tomcat(中间件)+PostGISZMySQL(空间数据库)+OpenLayers(JS)OpenScales(Flex)(浏览器客户XLLl/0(2)基于JaVa的解决方案:GeOSerVer(服务器)+uDig(桌面软件)+Tomcat(中间件)+PostGISZMySQL(空间数据库)+OpenLayers(JS)OpenScales(Flex)(浏览器客户端)。采用开源WebGlS平台进行二次开发,一般需要从客户端、服务器端
22、、数据层三个方面进行设计和实现。(1)客户端:可以选择使用OPenLayers、OPenSCaleS等开源框架,也可以结合互联网方向的在线地图APl(即百度地图APl等)。(2)服务器端:使用最具代表性的GeOSerVer或M叩SerVer作为地理信息服务器,基于服务器发布地图数据服务(如OGC的WMS、WFSsWCS等),Web应用程序则通过HTTP请求访问服务器发布的服务。若设计简单的大众化WebGlS应用,可以不使用服务器端开源GlS平台,直接访问第三方提供的数据服务,或者直接使用存储在关系数据库中的Pc)I数据。(3)数据层:数据源可使用公共在线地图服务(如百度地图、天地图、GoogI
23、e地图等,一般将其作为底图),或者GIS服务器发布的地图服务数据,以及开放格式的文件数据等。针对空间数据的存储,一般可选择开源的空间数据库,如使用P。StgreSQL作为关系数据库,用其扩展模块POStGlS存储空间数据。尽管这些开源GlS项目为开发者提供了很多二次开发资源,给广大GISer带来了便利,但只能满足一部分WebGIS开发需求,更多地面向大众应用。目前,GlS开源项目的不足主要表现在:对底图处理能力不足,对空间数据的管理能力不足,空间分析能力较弱,无法实现一体化的系统构建与应用等。针对开源GlS项目的不足,往往需要借助专业的WebGlS开发平台,以满足更多的应用需求。第2章WebG
24、IS开发基础2.1 Web开发基础理论2.1.1 B/S体系架构Web软件开发通常使用B/S(BrowserZServer,浏览器/服务器)架构,这是Web兴起后的一种网络结构模式,是目前网络软件开发的主流趋势。B/S模式采用开放式的客户/服务器结构,其基本结构一般包括Web服务器、Web页面、Web浏览器和HTTP通信协议等部分,如图2.1所示。HTTP是基于客户/服务器模型的信息传输方式,原意为“请求/响应模型”,即网页文件存放在Web服务器上,客户端以Web浏览器为媒介,通过程序向Web服务器发出请求并访问相应的网页。基于B/S模式的Web应用,一般都是将Web应用程序安装部署在服务器端
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- WebGIS OpenLayers 全面 解析
链接地址:https://www.31ppt.com/p-6256628.html