开源WebGIS:地图发布与地图服务 —— 基于 MapServer 与 Leaflet 的实践

作者:

卜坤

中国科学院东北地理与农业生态研究所,高级工程师

王卷乐

中国科学院地理科学与资源研究所,研究员;世界数据系统-可再生资源与环境数据中心主任

内容简介

本书介绍开源WebGIS的基本原理与技术方法, 通过原理与实例结合是本书特点。

WebGIS是非常综合的,涉及的技术庞杂,想在一本书中说明是很难的。 但是作为教程,更加重要的可能是对技术框架的梳理,对不同技术之间关系的说明。 在这些方面,凭借着多年的实践经验,还是可以试着说一说的。

本章节要求使用JavaScript和Leaflet API进行一些编程。 不需要了解有关Leaflet的任何信息,但是需要具备以下条件:

  • 在编写计算机程序或脚本方面有足够的正式经验,就可以轻松地识别和使用基本结构,如变量、循环、决策结构、错误处理、对象等;

  • 足够的JavaScript使用经验,可以在一段JavaScript代码中看到上述结构时,便可以轻松识别出这些结构;

  • 具有足够的HTML和CSS经验,可以轻松查看和解释页面标记的基本元素,例如标题,正文,脚本标签等。 。

技术上会涉及以下方面:

  • MapServer

最初是由美国明尼苏达大学和美国太空总署(NASA)开发的一个开源的WebGIS软件。 MapServer是基于胖服务器/瘦客户端模式开发的 WebGIS 平台,读取地理数据, 并利用 AGG 等绘图库渲染生成 Jpeg/PNG/GIF 格式的图片后再传回客户端浏览器。 MapServer 支持Windows、UNIX、Linux等多种平台。 MapServer 支持 OGC 发布的 WMS/WFS 等若干标准规范, 支持分布和互操作。 MapsServer本身是由C语言编写的程序,提供了两种开发模式,一种是基于CGI的,另一种是MapScript方式。 MapScript支持的包括语言:PHP,Perl,Python,Java,Tcl,C#等。

  • MapProxy

MapProxy 是 WMS 网页地图服务与切片服务提供者的瑞士军刀。 它对已有地图服务的数据服务进行缓存、加速和转换, 服务支持 OGC 标准的桌面与网页客户端。 MapProxy 开发与部署方式灵活,易于同 Apache/Nginx 等环境集成。 MapProxy 也能作为一个独立服务使用,这是对于新用户而言最容易的方式。

  • LeafletJS

是一个为建设移动设备友好的互动地图,而开发的现代的、开源的 JavaScript 库。 它是由 Vladimir Agafonkin 带领一个专业贡献者团队开发,虽然代码仅有 33 KB, 但它具有开发人员开发在线地图的大部分功能。 Leaflet设计坚持简便、高性能和可用性好的思想,在所有主要桌面和移动平台能高效运作, 在现代浏览器上会利用HTML5和CSS3的优势, 同时也支持旧的浏览器访问。 支持插件扩展,有一个友好、易于使用的API文档和一个简单的、可读的源代码。

前言

“人人共享”使命的核心是认为知识是一种公共利益, 教育中的开放原则将为每个人提供巨大的机会。 虽然我们社区的成员来自不同的背景, 但我们都寻求消除数字鸿沟,赋予所有人充分的公民权利, 并为建立开放知识做出贡献,造福于整个社会和子孙后代。

开源WebGIS教程网站是两位作者在合作过程中基于实际工作经验进行总结提炼而产生的。 开源 WebGIS 对于GIS技术与数据共享工作都有很多意义, 也有很多技巧值得分享。

目录: