WebGIS开发——ArcGISServer与.NET

WebGIS开发——ArcGISServer与.NET"

作者:刘光、唐大仕
ISBN:9787302197379
定价:¥49
字数:千字
页数:
出版时间:2009.04.01
开本:
版次:1-3
装帧:
出版社:清华大学出版社
简介

ArcGIS Server 是功能强大的基于服务器的地理信息系统产品,本书以循序渐进的方式,通过大量的实例

介绍如何在Visual Studio 中,使用C#语言开发基于ArcGIS Server 的Web GIS。全书内容涉及使用ArcGIS Server

开发Web GIS 的各个层面,包括ArcGIS Server 9.2 的功能、架构及安装介绍,ArcGIS Server 的管理、服务的

发布以及配置文件的使用,自定义工具与命令的创建,数据源、图形对象类、任务的自定义及操作,ArcGIS

服务器功能的扩展,以及如何直接使用ArcGIS Server 提供的Web 服务开发程序并对其进行再封装。最后介

绍了Web GIS 中的安全、部署以及性能调优应考虑的关键问题。

本书适用于政府、企业相关部门的GIS 研究与开发人员,也适用于高等院校地理学、地理信息系统、房

地产、环境科学、资源与城乡规划管理、区域经济学等专业学生参考与学习。本书还适合作为各种GIS 培训

学员的学习教材与参考书。

前言

前 言

人类正面临一个海量信息的时代,社会的发展、国家与企业的竞争能力越来越依赖于对信息

的占有量与处理和利用能力。而占人类活动全部信息80%的空间信息如何更快、更好、更充分地

发挥作用已成为全球关注的热点。空间信息科学与技术正是在这样一个强烈的需求呼唤与应用积累

下产生的一个新兴高技术交叉学科,它结合空间技术、信息技术和各类应用技术,主要研究空间信

息的获取、存储、管理、查询、分析、应用、共享、可视表达等理论、方法与技术。“21 世纪是

全球数字化的时代”(比尔·盖茨),“十五”期间我国就已将“数字城市”、“数字国土”等列

入国民经济和科技发展重点计划,“数字北京”、“数字福建”、“数字黄河”等等一些重大工程

即将大展宏图,地理信息系统的研发任重道远。

自 20 世纪60 年代诞生以来,GIS 发展迅速,应用也日趋深化和广泛,逐步融入信息技术(IT)

的主流,正在成为信息产业新的增长点,是发展潜力巨大的地理信息产业的主要组成部分之一。如

今GIS 的应用已经成为我国国民经济和社会信息化建设的亮点,日益深入到各个专业领域和百姓

日常生活中。

GIS 经历了单机环境应用向网络环境应用发展的过程,网络环境GIS 应用从局域网内客户/服

务器(Client/Server,C/S)结构的应用向Internet 环境下浏览器/服务器(Browser/Server,B/S)结

构的Web GIS 应用发展。随着Internet 的发展,Web GIS 开始逐步成为GIS 应用的主流,Web GIS

相对于C/S 结构而言,具有部署方便、使用简单、对网络带宽要求低的特点,为地理信息服务的发

展奠定了基础。

然而,早期的Web GIS 功能较弱,主要用于电子地图的发布和简单的空间分析与数据编辑,

难以实现较为复杂的图形交互应用(如GIS 数据的修改和编辑、制图)和复杂的空间分析,还无

法取代传统的C/S 结构的GIS 应用,出现了B/S 结构与C/S 结构并存的局面,而C/S 结构涉及客

户端与服务器端之间大量数据转输,无法在互联网平台实现复杂的、大规模的地理信息服务。

B/S 结构应用已经由浏览器/网络服务器/数据服务器(Browser/Web Server/Data Server)三层架

构阶段进入到浏览器/网络服务器/应用服务器/数据服务器(Browser/Web Server/Application

Server/Data Server)四层架构阶段。在新的四层架构中,网络服务器和应用服务器分离,并且其间

还可以插入二次开发和扩展功能,其中的应用服务器一般为支持远程调用的组件式GIS 平台,或

由组件式GIS 平台封装而成。将GIS 复杂数据分析与处理功能(编辑、拓扑关系的构建、对象关

系的自动维护、制图)移到GIS 应用服务器上,使客户端与服务端的数据传输减少到最少的程度,

为在Internet 上实现复杂、大规模的地理信息服务提供了可能。这一架构带来的巨大优势是使服务

器端具有极强的扩展性,因此作为应用服务器的组件式GIS 所具备的功能,都可以通过B/S 结构

实现,Web GIS 不再是只能满足地图浏览和查询的简单软件了,而是一个体系先进,功能强大的服

务器端GIS(Server GIS)。新的服务器端GIS 将是未来应用发展的主流。

ArcGIS Server 是一个基于Web 的企业级GIS 解决方案,它为创建和管理基于服务器的GIS

IV Web GIS开发—ArcGIS Server与.NET

Web GIS

应用提供了一个高效的框架平台。它充分利用了ArcGIS 的核心组件库ArcObjects,并且基于工业

标准提供Web GIS 服务。ArcGIS Server 将GIS 和网络技术(Web)两个先进的技术结合在一起:

GIS 擅长与空间相关的分析和处理,网络技术则提供全球互联,促进信息共享。这两项技术协同工

作,相得益彰。

本书通过大量的实例,详细介绍了如何利用ArcGIS Server 开发Web GIS。

在第 1 章中,介绍了GIS 及其发展和与Web 服务的联合,并介绍了基于Web 服务的GIS 的

相关规范。

第 2 章中详细介绍了ArcGIS Server 9.2 的主要功能以及产品的分类分级,并介绍了ArcGIS

Server 系统的整体架构及其相关技术,最后介绍了该产品的安装过程。

第 3 章介绍了ArcGIS Server 的管理、服务的发布以及配置文件的使用。

第 4 章首先介绍了使用ArcGIS Server 创建Web GIS 的不同方法,并介绍了开发Web GIS 的

基础,即Web 应用程序框架,及该框架中Ajax 的使用,最后通过几个实例介绍了如何创建自定义

的工具与命令,实现图形与属性的双向查询与展示。

第 5 章介绍了ArcGIS Server 中支持的数据源类型及其原理,并着重介绍了ArcGIS Server 数

据源的不同层次的使用与管理。本章还介绍了与数据源对应的资源与功能的操作。

第 6 章通过两个大的实例介绍了如何在ArcGIS Server 的Web 应用程序框架(Web ADF)中,

无缝使用自定义格式以及存储的数据源。

第 7 章首先介绍了图形对象类及其操作的不同层次,然后分别通过实例介绍如何在Web 端以

及GIS 服务器端操作图形对象,最后介绍了图形对象在不同层次之间转换的方法。

第 8 章介绍了任务框架的概念、组成,并介绍如何自定义任务框架。

第 9 章介绍如何通过使用COM 功能对象以及服务器对象扩展两种方式来扩展ArcGIS 服务器

的功能。

第 10 章则介绍了如何不在ArcGIS Server 的Web 应用程序框架中,直接使用ArcGIS Server

提供的Web 服务开发程序,以及如何对ArcGIS Server 提供的Web 服务进行再封装,为其他应用

系统提供粗粒度的具有针对性的Web 方法。

第 11 章介绍了Web GIS 中应考虑的安全问题及其措施,以及其部署和性能调优方面的问题。

关于本书的实例,读者可以到图格新知网站(www.booksaga.com)下载其对应的源代码和一

些相关文件。

参与本书编写的人员有刘光、唐大仕、刘增良、韩光瞬、刘小东、贺小飞、李珍贵、岳江、

潘杏花、丁修平、梁宁海、马学坤、胡汝章、潘子南与何军等人。

由于作者水平、经验有限,书中不可避免存在一些缺点与错误,希望能够得到广大专家与读

者的批评与指正。

作者

2009.3

目录

目 录

第1 章地理信息系统的发展与Web 服务...................................................................................1

1.1 地理信息系统及其发展趋势.............................................................................................2

1.1.1 地理信息系统的发展..............................................................................................2

1.1.2 传统Web GIS 的不足.............................................................................................3

1.1.3 Web 服务成为解决方案.........................................................................................3

1.2 Web 服务及其特点............................................................................................................4

1.2.1 Web 服务概述.........................................................................................................4

1.2.2 Web 服务的特点.....................................................................................................5

1.3 空间信息Web 服务...........................................................................................................6

1.3.1 从数据共享的角度看空间信息Web 服务.............................................................6

1.3.2 从软件复用的角度看空间信息Web 服务.............................................................7

1.3.3 从系统集成的角度看空间信息Web 服务.............................................................8

1.3.4 空间信息Web 服务的优势....................................................................................9

1.4 GIS 的Web 服务规范......................................................................................................10

1.4.1 OWS 服务体系......................................................................................................11

1.4.2 空间信息Web 服务的角色与功能划分..............................................................11

1.4.3 空间信息Web 服务的系统框架..........................................................................14

1.4.4 空间信息Web 服务中的基础服务......................................................................15

1.5 GIS 的Web 服务实现方式..............................................................................................19

1.5.1 版本与流通............................................................................................................19

1.5.2 请求规则................................................................................................................20

1.5.3 响应举例................................................................................................................23

第 2 章 ArcGIS Server 9.2 简介与安装......................................................................................26

2.1 ArcGIS Server 9.2 主要功能............................................................................................27

2.2 ArcGIS Server 的产品级别分类......................................................................................30

2.2.1 按功能分级............................................................................................................31

2.2.2 按规模分级............................................................................................................31

2.2.3 可选扩展模块........................................................................................................32

2.3 ArcGIS Server 9.2 系统组成部分....................................................................................32

2.3.1 GIS 服务器............................................................................................................33

VI Web GIS开发—ArcGIS Server与.NET

Web GIS

2.3.2 Web 服务器...........................................................................................................33

2.3.3 客户端....................................................................................................................34

2.3.4 数据服务器............................................................................................................34

2.3.5 管理工具................................................................................................................34

2.3.6 地图内容制作工具................................................................................................34

2.4 ArcGIS Server 包含的主要技术......................................................................................34

2.4.1 ArcSDE..................................................................................................................34

2.4.2 Web 地图应用.......................................................................................................35

2.4.3 ArcGIS Mobile.......................................................................................................36

2.5 ArcGIS Server 9.2 安装....................................................................................................36

2.5.1 ArcGIS Server 安装概述.......................................................................................36

2.5.2 安装ArcGIS Server for .NET................................................................................37

第 3 章 ArcGIS Server 管理与服务发布.....................................................................................40

3.1 管理ArcGIS Server..........................................................................................................41

3.1.1 使用Manager 管理ArcGIS Server.......................................................................41

3.1.2 使用ArcCatalog 管理ArcGIS Server...................................................................43

3.2 发布服务...........................................................................................................................45

3.2.1 服务与功能............................................................................................................45

3.2.2 发布与管理服务....................................................................................................47

3.2.3 配置地图缓存........................................................................................................49

3.3 配置文件的使用...............................................................................................................52

3.3.1 服务器配置文件....................................................................................................52

3.3.2 服务配置文件........................................................................................................53

第 4 章简单 Web GIS 应用开发................................................................................................54

4.1 创建Web GIS 应用的几种方法......................................................................................55

4.1.1 使用Manager 工具创建........................................................................................55

4.1.2 使用Visual Studio 模板创建................................................................................57

4.1.3 使用Web 控件创建..............................................................................................61

4.2 关于Web GIS 应用程序框架..........................................................................................64

4.2.1 Web 应用程序框架体系结构...............................................................................64

4.2.2 与Web 应用程序框架相关的安装内容..............................................................67

4.3 部分页面刷新的实现——Ajax .......................................................................................68

4.3.1 Ajax 技术...............................................................................................................69

4.3.2 Ajax 及XMLHttpRequest 对象原理....................................................................69

4.3.3 用XMLHttpRequest 来实现Ajax ........................................................................70

4.3.4 .NET 中内置的Ajax .............................................................................................74

 VII

Web GIS

4.3.5 ArcGIS Web 应用开发框架中的Ajax .................................................................78

4.4 自定义工具与命令...........................................................................................................79

4.4.1 在工具栏中增加按钮............................................................................................80

4.4.2 自定义点查询工具................................................................................................82

4.4.3 高亮显示要素........................................................................................................87

4.4.4 自定义矩形查询工具............................................................................................92

4.4.5 自定义多边形查询工具........................................................................................96

4.4.6 自定义圆查询工具................................................................................................98

4.4.7 自定义命令—清除高亮显示命令..................................................................100

4.5 用属性查询图形.............................................................................................................101

4.5.1 资源内容查询......................................................................................................101

4.5.2 图层字段信息查询..............................................................................................105

4.5.3 属性查询..............................................................................................................111

4.6 右键菜单与地图图片保存.............................................................................................116

4.6.1 添加右键菜单......................................................................................................116

4.6.2 处理右键菜单事件..............................................................................................118

4.6.3 保存地图图片......................................................................................................120

第 5 章数据源、资源与功能对象............................................................................................123

5.1 数据源.............................................................................................................................124

5.1.1 ArcGIS Server 本地数据源.................................................................................124

5.1.2 ArcGIS Server 远程数据源.................................................................................125

5.1.3 ArcIMS.................................................................................................................125

5.1.4 图形图层..............................................................................................................126

5.2 公有数据源API .............................................................................................................127

5.2.1 公有数据源API 的内容.....................................................................................127

5.2.2 公有数据源API 的实现.....................................................................................128

5.3 ArcGIS Server 数据源的使用........................................................................................130

5.3.1 ArcGIS Server API ..............................................................................................130

5.3.2 Web ADF 中的ArcGIS Server API ....................................................................131

5.3.3 管理服务器上下文..............................................................................................133

5.4 操作资源与功能对象.....................................................................................................139

5.4.1 增加与删除资源..................................................................................................139

5.4.2 管理地图资源......................................................................................................144

5.4.3 地图资源的功能..................................................................................................151

第 6 章自定义数据源..............................................................................................................173

6.1 自定义数据源相关概念.................................................................................................174

VIII Web GIS开发—ArcGIS Server与.NET

Web GIS

6.2 XML 数据源...................................................................................................................175

6.2.1 数据格式..............................................................................................................175

6.2.2 实现数据源接口..................................................................................................176

6.2.3 实现地图资源接口..............................................................................................181

6.2.4 实现绘图功能......................................................................................................189

6.2.5 实现Toc 功能.....................................................................................................194

6.2.6 实现地图信息接口..............................................................................................197

6.2.7 注册自定义数据源..............................................................................................199

6.2.8 测试自定义XML 数据源功能...........................................................................200

6.3 遥感影像数据源.............................................................................................................201

6.3.1 实现数据源接口..................................................................................................202

6.3.2 实现地图资源接口..............................................................................................206

6.3.3 实现地图信息接口..............................................................................................210

6.3.4 地图切片信息类..................................................................................................214

6.3.5 实现绘图功能......................................................................................................215

6.3.6 地图切片功能的实现..........................................................................................220

6.3.7 实现Toc 功能.....................................................................................................225

6.3.8 注册自定义数据源..............................................................................................228

6.3.9 测试自定义遥感影像数据源功能......................................................................229

第 7 章图形操作......................................................................................................................230

7.1 图形及相关类概述.........................................................................................................231

7.2 图形操作的不同层次.....................................................................................................231

7.3 在Web 端操作图形.......................................................................................................232

7.3.1 几何对象的创建..................................................................................................233

7.3.2 自定义着色器......................................................................................................238

7.4 在GIS 服务器端操作图形............................................................................................264

7.4.1 独立值专题图......................................................................................................266

7.4.2 范围专题图..........................................................................................................270

7.4.3 柱状专题图..........................................................................................................273

7.4.4 饼状专题图..........................................................................................................276

7.4.5 等级符号专题图..................................................................................................279

7.4.6 点密度专题图......................................................................................................281

7.5 图形对象的转换.............................................................................................................283

7.5.1 几何类型的转换..................................................................................................284

7.5.2 ArcGIS Server 中COM 对象与值对象的转换..................................................294

7.5.3 数据集转换..........................................................................................................295

7.5.4 缓冲区分析..........................................................................................................296

 IX

Web GIS

第8 章任务框架......................................................................................................................308

8.1 任务控件.........................................................................................................................309

8.1.1 任务支持控件......................................................................................................309

8.1.2 Web ADF 提供的任务控件................................................................................309

8.1.3 任务框架的构成..................................................................................................310

8.2 自定义任务.....................................................................................................................311

8.2.1 自定义任务类库..................................................................................................312

8.2.2 应用自定义的任务..............................................................................................316

8.2.3 任务运行流程......................................................................................................317

8.2.4 自定义任务的改进..............................................................................................320

第 9 章扩展 ArcGIS 服务器.....................................................................................................322

9.1 几个概念.........................................................................................................................323

9.1.1 ArcGIS 服务器与细粒度的ArcObjects .............................................................323

9.1.2 GIS 服务器COM 对象与.NET...........................................................................324

9.2 使用COM 功能对象扩展GIS 服务器.........................................................................324

9.2.1 COM 组件的创建与实现....................................................................................325

9.2.2 注册COM 组件...................................................................................................331

9.2.3 使用COM 功能对象...........................................................................................331

9.3 服务器对象扩展.............................................................................................................337

9.3.1 创建服务器对象接口扩展..................................................................................337

9.3.2 实现服务器对象扩展..........................................................................................338

9.3.3 创建服务器对象扩展的属性页..........................................................................345

9.3.4 注册自定义服务器对象扩展..............................................................................353

9.3.5 在GIS 服务器上注册服务器对象扩展..............................................................354

9.3.6 在地图服务上应用服务器对象扩展..................................................................355

9.3.7 在Web 应用程序中访问服务器对象扩展.........................................................355

第 10 章 GIS Web 服务的应用与创建......................................................................................361

10.1 GIS Web 服务的应用...................................................................................................362

10.2 应用性Web 服务的创建与使用.................................................................................377

10.2.1 应用性Web 服务的创建..................................................................................377

10.2.2 应用性Web 服务的应用..................................................................................379

第 11 章安全、部署与性能调优..............................................................................................381

11.1 应用程序的安全...........................................................................................................382

11.1.1 使用成员资格管理用户....................................................................................382

X Web GIS开发—ArcGIS Server与.NET

Web GIS

11.1.2 使用角色管理授权............................................................................................383

11.1.3 使用受保护的配置加密配置信息....................................................................387

11.1.4 显示安全的错误信息........................................................................................387

11.1.5 防止拒绝服务威胁............................................................................................389

11.2 应用程序的部署...........................................................................................................389

11.3 性能调优.......................................................................................................................391

11.3.1 数据方面............................................................................................................391

11.3.2 服务方面............................................................................................................391

11.3.3 应用系统的配置与部署方面............................................................................392

11.3.4 .NET 程序代码调优..........................................................................................393

11.3.5 ArcGIS Server 的代码的调优...........................................................................393

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个