关于我们
精品教材 更多
规划教材 更多
|
Web GIS开发——ArcGIS Server与.NET
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
我要评论
|