书籍作者:郭明强 | ISBN:9787121373237 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:8251 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
作为业内广泛使用的地图引擎之一,OpenLayers已被各大GIS厂商和广大WebGIS二次开发者采用。借助于OpenLayers强大的扩展功能,可以与不同的WebGIS平台产品相结合,开发出各具特色的WebGIS应用系统。本书的主要内容涵盖WebGIS和OpenLayers的开发基础, OpenLayers的快速入门、多源数据加载、图形绘制、OGC服务、高级功能,最后给出了OpenLayers的项目实战――水利信息在线分析服务系统。
郭明强,男,重庆人,信息工程系副教授,从事网络地理信息系统和高性能空间计算的研究和教学工作。2007年获中国地质大学(武汉)计算机科学与技术学士学位;2013年获中国地质大学(武汉)地图制图学与地理信息工程博士学位。
前 言
WebGIS开发技术先后经历了从JavaScript到RIA,再从RIA到JavaScript的发展过程。近年来,基于RIA的WebGIS开发技术已逐渐淡出,WebGIS传统的JavaScript开发方式又开始流行起来,ArcGIS、MapGIS、SuperMap等各大WebGIS厂商的平台产品也已将产品研发重心转移到了JavaScript上。OpenLayers作为业内使用最为广泛的地图引擎之一,已被各大GIS厂商和广大WebGIS二次开发者采用。借助于OpenLayers强大的扩展功能,可以与各大WebGIS厂商的平台产品(如ArcGIS Server、MapGIS IGServer、SuperMap iServer、GeoServer等)相结合,开发出各具特色的WebGIS应用系统。因此,一旦掌握了OpenLayers客户端WebGIS开发技术,便可快速地实现与任何一种WebGIS服务平台的对接。本书针对OpenLayers的WebGIS开发,从基础到高级功能进行了详细全面的讲解,目的就是为了给广大读者提供一本能够指导基于OpenLayers的WebGIS开发的参考书籍。
自2006年在武汉中地数码集团开始从事WebGIS平台产品的研发工作以来,我先后开发过WebGIS服务器、JavaScript版本WebGIS客户端、Flex版本WebGIS客户端、Silverlight版本WebGIS客户端。在十多年来的WebGIS研发工作中,我体会到了做平台产品不能“闭门造车”,要以一种开放共享的态度来做一个WebGIS平台,这样才能够在WebGIS领域立足。而OpenLayers与我的想法不谋而合,借助OpenLayers的开放特性和强大的扩展功能,可以扩展各个WebGIS平台的插件,这样就能做到用“多个插件、一个系统”,去对接多个WebGIS服务平台,避免了WebGIS客户端功能扩展难,难以与各大WebGIS厂商的平台产品(如ArcGIS Server、MapGIS IGServer、SuperMap iServer、GeoServer、Google Map、百度地图、天地图等)融合的难题。这是我撰写本书的主要动因,希望本书能够给WebGIS领域的科研工作者和程序开发好爱者提供参考。
我在中国地质大学(武汉)信息工程学院主讲“WebGIS”课程,学生在这门课程的上机实践中难以选择某个WebGIS平台进行学习,因为不同的GIS厂商各自提供的WebGIS客户端开发库都大相径庭,学习难度大,难以在短时间内快速入门。在这种现状的推动下,进一步促使了我下定决心,把自己多年来在WebGIS开发方面积累的经验撰写成书,将获得业界认可的、开放的OpenLayers开发指导书提供给广大学生,让开设GIS专业的高校学生能够基于此书快速地了解、学习并掌握WebGIS,而不用再受不同WebGIS平台的限制。希望本书能够为高校学生的产学研、专业技能学习、创新创业、毕业设计等起到一定的指导和帮助作用。
高校GIS二次开发大赛是高校学生锻炼和学习的最佳环境,虽然我指导的学生在第五届、第六届、第七届高校GIS技能大赛中都获得了很好的成绩,第六届和第七届连续斩获特等奖,但是还有很多学生因为WebGIS学习难度大,缺乏一本能够快速学习并接入自己熟悉的某个WebGIS平台的开发指导书籍,限制了各种GIS二次开发大赛的进入门槛。为了增加学生的自信心,降低入门门槛,本书对OpenLayers开发技术进行了详细全面的讲解,内容由浅入深,配以丰富的程序示例,一旦快速学习并掌握了OpenLayers开发技术,就能够快速地将其与自己熟悉的WebGIS平台相结合,高效地开发出自己的WebGIS系统。希望本书的出版能够增强参加各类GIS大赛的学生的自信心,并指导学生快速地了解、熟悉并掌握WebGIS,提高项目实践动手能力。
在十多年来的WebGIS项目开发实践中,目前WebGIS系统已从单一的WebGIS平台向多源异构的方向发展,越来越多的系统需要在一套系统中使用来自不同GIS厂商的数据,调用不同GIS厂商提供的GIS服务,这给WebGIS系统的可扩展性提出了极高的要求,而目前主流的OpenLayers刚好能够很好地解决这一难题,使其已被广大WebGIS程序开发爱好者作为首选的WebGIS客户端。在这个形势驱动下,促使我下定决心,顺势推出一本全方位讲解OpenLayers开发的技术书籍,希望能够给广大WebGIS程序开发爱好者提供参考。
郭明强
中国地质大学(武汉) 副教授 博士后
武汉中地数码科技有限公司WebGIS产品研发经理 高级工程师
湖北地信科技集团股份有限公司 技术顾问
目 录
第1章 概述 (1)
1.1 什么是GIS (1)
1.2 什么是WebGIS (2)
1.3 常见的开源WebGIS平台 (3)
第2章 WebGIS开发基础 (9)
2.1 Web开发基础理论 (9)
2.1.1 B/S架构 (9)
2.1.2 客户端技术 (10)
2.1.3 服务器端技术 (14)
2.1.4 数据库技术 (18)
2.2 Web编程基础 (18)
2.2.1 页面设计 (20)
2.2.2 事件机制 (21)
2.2.3 前后台数据交互 (22)
2.3 WebGIS的框架结构 (26)
2.4 WebGIS开发的GIS背景知识 (26)
2.4.1 基础几何图形 (27)
2.4.2 GIS地图学基础 (28)
2.4.3 GIS数据与应用 (31)
2.4.4 网络地图数据服务 (33)
2.4.5 WebGIS的逻辑坐标与窗口坐标转换 (35)
第3章 OpenLayers开发基础 (36)
3.1 OpenLayers简介 (36)
3.1.1 OpenLayers 5的体系架构 (37)
3.1.2 OpenLayers 5的工作原理 (38)
3.2 OpenLayers 5的API概要 (45)
3.3 OpenLayers 5开发环境的配置 (48)
3.3.1 传统开发方式 (48)
3.3.2 NodeJS开发方式 (50)
3.4 OpenLayers 5的调试方法 (54)
3.5 网站开发与发布 (56)
第4章 OpenLayers快速入门 (57)
4.1 创建Web网站 (57)
4.2 搭建应用系统框架 (59)
4.3 实现地图显示功能 (60)
4.4 加载常用控件 (65)
4.4.1 导航控件 (65)
4.4.2 基本操作控件 (67)
4.4.3 图层控件 (70)
4.4.4 鼠标位置控件 (75)
4.4.5 比例尺控件 (77)
4.4.6 鹰眼控件 (78)
4.4.7 全屏显示控件 (80)
4.4.8 图层探查控件 (81)
4.4.9 动画效果控件 (84)
4.4.10 测量控件 (88)
4.5 练习 (95)
第5章 OpenLayers之多源数据展示篇 (96)
5.1 数据加载原理 (96)
5.2 基础地图数据(以ArcGIS数据为例) (97)
5.2.1 基于ArcGIS Server REST的瓦片地图服务接口 (98)
5.2.2 基于ArcGIS Server REST的矢量地图服务接口 (100)
5.2.3 基于ArcGIS Online的瓦片地图服务接口 (102)
5.3 开放数据 (104)
5.3.1 加载GeoJSON数据 (105)
5.3.2 加载KML数据 (108)
5.3.3 加载GPX数据 (112)
5.4 公共地图数据 (116)
5.4.1 加载OpenStreetMap (117)
5.4.2 加载显示Bing地图 (117)
5.4.3 加载百度地图 (118)
5.4.4 加载高德地图 (120)
5.4.5 加载谷歌地图 (121)
5.4.6 加载天地图 (121)
5.5 矢量瓦片 (122)
5.6 多源数据叠加 (124)
5.7 网格信息显示 (129)
5.8 地图打印(导出图片) (130)
5.9 练习 (131)
第6章 OpenLayers之图形绘制篇 (132)
6.1 图形交互绘制原理 (132)
6.2 几何图形的绘制 (133)
6.3 图形样式编辑 (136)
6.4 图形交互编辑 (146)
6.5 练习 (148)
第7章 OpenLayers之OGC服务篇 (149)
7.1 OGC使用说明 (149)
7.2 OGC规范的加载原理 (150)
7.3 OGC规范数据显示 (151)
7.3.1 加载WMTS (151)
7.3.2 加载WMS (153)
7.3.3 加载WFS (156)
7.4 练习 (158)
第8章 OpenLayers之高级功能篇 (159)
8.1 地图标注功能 (159)
8.1.1 地图标注的基本原理 (159)
8.1.2 图文标注 (159)
8.1.3 Popup标注 (164)
8.1.4 聚合标注 (169)
8.2 投影转换 (171)
8.3 视图联动 (174)
8.4 地图定位导航 (176)
8.5 热点图 (184)
8.6 热区功能 (186)
8.7 统计图 (198)
8.8 军事标绘功能 (205)
8.9 练习 (214)
第9章 OpenLayers之项目实战――水利信息在线分析服务系统 (215)
9.1 建设背景 (215)
9.2 系统需求 (216)
9.3 系统设计 (216)
9.3.1 系统开发模式 (216)
9.3.2 系统体系架构 (216)
9.3.3 系统功能设计 (217)
9.3.4 数据组织设计 (218)
9.3.5 数据库设计 (219)
9.4 系统实现 (223)
9.4.1 环境部署 (223)
9.4.2 系统框架 (224)
9.4.3 数据库查询 (226)
9.4.4 基本功能 (228)
9.4.5 实时水情 (232)
9.4.6 实时雨情 (244)
9.4.7 台风路径 (253)
9.4.8 卫星云图 (268)
9.5 系统部署 (271)
9.5.1 系统打包 (271)
9.5.2 系统发布 (272)
9.6 练习 (275)
参考文献 (276)