没有合适的资源?快使用搜索试试~ 我知道了~
首页开源 WebGIS:地图发布与地图服务_v2.pdf
资源详情
资源评论
资源推荐

开源 WebGIS:地图发布与地图服务
发布 0.2
卜坤、王卷乐
2020 年 02 月 20 日


Contents
1 MapServer 的介绍与安装、配置 3
1.1 MapServer 简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.1 MapServer 的发展历史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.2 MapServer 的特点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.3 MapServer 支持的数据格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.4 MapServer 的应用架构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.5 MapServer 的两种模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.6 MapServer 和 GeoServer 的对比 . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2 Web 基础概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.1 HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.2 URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.2.3 HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3 MapServer 运行的 Web 技术环境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.1 Apache Web 服务器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.2 公共网关接口(CGI)的概念与技术 . . . . . . . . . . . . . . . . . . . . . 17
1.3.3 FastCGI 介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4 安装与配置 MapServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.4.1 安装与配置 MapServer 的基本要求 . . . . . . . . . . . . . . . . . . . . . . . 18
1.4.2 Debian / Ubuntu 系统下安装 MapServer . . . . . . . . . . . . . . . . . . . . 20
1.4.3 Debian / Ubuntu 中配置 Apache . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.4.4 Windows 下面安装与配置 MapServer . . . . . . . . . . . . . . . . . . . . . . 21
1.4.5 编译安装 MapServer 的说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.5 使用 MapServer 发布遥感影像 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.5.1 在 Mapfile 中添加遥感影像 . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.5.2 使用命令行工具 shp2img 生成结果 . . . . . . . . . . . . . . . . . . . . . . . 26
1.6 Mapfile 介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.6.1 Mapfile 的组成部分与配置步骤 . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.6.2 Mapfile 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.6.3 Mapfile 的地图对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.6.4 使用 Mapfile 的注意事项 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.7 Mapfile 的辅助工具 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
i

1.7.1 Mapfile 的编辑器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.7.2 shp2img 命令行工具 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.7.3 mappyfile 工具 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2 使用 MapServer 发布地图(1) 33
2.1 使用 MapServer 发布 DEM 栅格数据 . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.1.1 栅格数据介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.1.2 直接发布栅格数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.1.3 使用自动拉伸对数据进行预处理 . . . . . . . . . . . . . . . . . . . . . . . . 35
2.1.4 根据属性值对栅格数据进行分类展示 . . . . . . . . . . . . . . . . . . . . . 36
2.1.5 在 MapServer 中控制地图范围 . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.1.6 MapServer 查看的不同模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.2 通过 Web 查看地图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.2.1 通过 HTTP 请求返回地图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.2.2 通过 Web 浏览器查看结果 . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.2.3 实时查看 Web 服务请求 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.2.4 Web 中的图层设计与交互元素 . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.3 地图中内嵌比例尺与图例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.3.1 地图比例尺的概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.3.2 在 MapServer 中创建地图比例尺 . . . . . . . . . . . . . . . . . . . . . . . . 44
2.3.3 地图图例的概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.3.4 在 MapServer 中创建图例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.3.5 legend 命令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.4 定义投影和范围 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.4.1 地图投影的概念及常用投影 . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.4.2 使用 MapServer 发布 EPSG:4326 投影世界地图 . . . . . . . . . . . . . . . . 50
2.4.3 在 Mapfile 中定义投影 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3 使用 MapServer 发布地图(2) 55
3.1 使用 MapServer 发布矢量数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.1.1 图层的概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.1.2 在 Mapfile 中定义矢量图层 . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.1.3 使用两个图层的静态地图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.1.4 在 Mapfile 中定义多个矢量图层 . . . . . . . . . . . . . . . . . . . . . . . . 59
3.1.5 MapServer 图层定义顺序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.1.6 数据的选择 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.2 根据属性进行分类显示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.2.1 MapServer 中分类展示的几种方法 . . . . . . . . . . . . . . . . . . . . . . . 62
3.2.2 使用字符串比较 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.2.3 使用正则表达式的要素分类 . . . . . . . . . . . . . . . . . . . . . . . . . . 64
ii

3.2.4 使用列表表达式进行分类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.3 基于逻辑表达式的分类显示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.3.1 逻辑表达式的数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.3.2 实例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.3.3 MapServer 中支持的操作符 . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.4 在地图中定义与使用符号与样式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.4.1 MapServer 中定义符号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.4.2 点状符号的定义 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.4.3 线状符号与样式的定义 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.4.4 面状符号定义 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.4.5 在 MapServer 中使用自定义符号 . . . . . . . . . . . . . . . . . . . . . . . . 79
3.5 对地图进行文字标注 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
3.5.1 字体的定义 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
3.5.2 标注功能说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
3.5.3 地图标注实例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
3.5.4 标注的自动优化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
3.5.5 文字标注的其它问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.6 MapServer 输出格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.6.1 在 Mapfile 中定义输出格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
3.6.2 对比查看不同的输出结果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
3.6.3 MapServer 输出的其他格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4 创建交互式地图应用 93
4.1 MapServer 交互操作:CGI 变量及用户接口 . . . . . . . . . . . . . . . . . . . . . . 93
4.1.1 MapServer CGI 程序处理流程 . . . . . . . . . . . . . . . . . . . . . . . . . . 94
4.1.2 使用 MapServer CGI 程序的步骤 . . . . . . . . . . . . . . . . . . . . . . . . 95
4.1.3 CGI 变量与模板文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.1.4 MapServer 初始化文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.1.5 配置 MapServer 临时文件夹位置 . . . . . . . . . . . . . . . . . . . . . . . . 96
4.2 创建可交互地图:响应鼠标点击 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.2.1 修改 Mapfile 定义 WEB 支持 . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.2.2 创建初始化模板文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
4.2.3 MapServer 的模板文件定义 . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.2.4 运行查看结果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.3 MapServer 地图的缩放控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.3.1 控制比例尺优化地图内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.3.2
在
Mapfile
中定义比例尺可见内容
. . . . . . . . . . . . . . . . . . . . . . . 103
4.3.3 控制 MapServer 的放大、缩小 . . . . . . . . . . . . . . . . . . . . . . . . . 104
4.4 MapServer GGI 图层开关控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4.4.1 控制图层的方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
iii
剩余235页未读,继续阅读














zongmeirenqileba111
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制

评论1