内容简介
《精通ArcGIS Server应用与开发》分为5篇,共21章,全面讲述了ArcGIS Server的使用和开发。理论基础与管理篇全面详细讲述ArcGIS 10的全新界面、地图包、时态数据显示、电子地图制作、ArcGIS Server的服务与接口、安全管理、性能优化等方面内容;开发篇涵盖了.NET ADF开发、基于Web 2.0技术的开发,以及移动iOS的开发等内容,其中,基于Web 2.0技术的开发主要包括基于Silverlight、Flex和JavaScript API等3种当今主流的开发模式。《精通ArcGIS Server应用与开发》从理论基础、使用、开发、部署、性能优化等ArcGIS Server应用的生命周期的各个环节层层递进进行讲述,并以某市数字城市框架开发为综合实例加以应用说明。
《精通ArcGIS Server应用与开发》通过清晰、完备的示例帮助读者迅速入门ArcGIS Server、使用与管理ArcGIS Server,并进行相关应用的开发。本书所有的示例都经过实际应用程序测试,可为读者正在构建的应用程序提供解决方案。
《精通ArcGIS Server应用与开发》内容覆盖面广、深入浅出、通俗易懂、可操作性强,可作为政府、企业相关部门的GIS研究与开发人员的参考用书,也可作为高等院校地理学、地理信息系统、房地产、环境科学、资源与城乡规划管理、区域经济学等专业学生和各种GIS培训班的学习教材。
作者简介
何正国,武汉大学遥感信息工程学院,测绘高级工程师、系统分析师,基于J2EE的WebGIS平台软件Geosurf获得测绘科技一等奖,主要从事地理信息系统的设计与开发工作,出版专著两部,发表论文多篇
内页插图
目录
第一篇 ArcGIS Server基础篇
第1章 ArcGIS 10简介
1.1 ArcGIS 10体系结构
1.1.1 桌面地理信息系统
1.1.2 服务器地理信息系统
1.1.3 移动地理信息系统
1.1.4 浏览器地理信息系统
1.1.5 数据
1.2 ArcGIS 10 Desktop新特性
1.2.1 全新的界面
1.2.2 ArcMap集成ArcCatalog
1.2.3 方便快捷的搜索
1.2.4 地图底图图层(BASEMAP)
1.2.5 栅格数据浏览
1.2.6 地图包
1.3 ArcGIS 10 Mobile新特性
1.3.1 ArcGIS API for iOS
1.3.2 ArcGIS API for Android
1.4 ArcGIS 10地图缓存新特性
1.4.1 新的缓存结构
1.4.2 新的缓存格式
1.4.3 新的缓存模式
1.4.4 离线缓存
1.5 ArcGIS 10时态
1.5.1 时间属性
1.5.2 时态数据显示
1.6 小结
第2章 ArcGIS Server概述
2.1 ArcGIS Server简介
2.2 ArcGIS Server架构
2.3 ArcGIS Server的功能
2.4 ArcGIS Server的安装与配置
2.4.1 安装环境
2.4.2 安装
2.4.3 配置
2.5 小结
第3章 空间数据管理
3.1 空间数据库模型Geodatabase
3.1.1 Geodatabase概念
3.1.2 Geodatabase模型
3.2 访问空间数据库
3.2.1 打开数据库工作空间
3.2.2 通过NAME对象方式
3.2.3 获得工作空间实际元素
3.3 矢量数据
3.3.1 文件数据导入Geodatabase
3.3.2 从Geodatabase复制特征数据集到个人数据库
3.3.3 编辑Geodatabase中的数据
3.3.4 空间数据拓扑检查
3.4 栅格数据
3.4.1 打开栅格工作空间
3.4.2 获得栅格数据集
3.4.3 获得栅格目录
3.4.4 栅格数据上载
3.4.5 栅格数据拼接
3.5 小结
第二篇 应用管理篇
第4章 ArcGIS地图制图
4.1 地图学理论
4.1.1 理论地图学
4.1.2 地图制图学
4.1.3 应用地图学
4.2 电子地图及设计制作
4.2.1 电子地图
4.2.2 电子地图制作步骤
4.3 ArcGIS中的符号设计
4.3.1 利用ArcMap制作符号库
4.3.2 基于图片制作符号库
4.3.3 基于TrueType制作符号库
4.3.4 多种方式组合制作符号库
4.4 Maplex实用方法
4.4.1 设置标注的位置
4.4.2 分行显示
4.4.3 字体缩减
4.4.4 冲突处理
4.4.5 Maplex应用示例——点抽稀
4.5 ArcGIS制图表达
4.5.1 制图表达概述
4.5.2 制图表达的使用
4.5.3 制图表达应用示例
4.6 小结
第5章 ArcGIS Server服务接口
5.1 服务接口简介
5.2 ArcGIS Server服务接口类型
5.2.1 地图服务(Map Service)
5.2.2 地理编码服务(Geocode Service)
5.2.3 地理数据服务(Geodata Service)
5.2.4 几何服务(Geometry Service)
5.2.5 地理处理服务(Geoprocessing Service)
5.2.6 Globe服务(Globe Service)
5.2.7 影像服务(Image Service)
5.2.8 搜索服务(Search Service)
5.2.9 要素服务(Feature Service)
5.3 ArcGIS Server服务访问方式
5.3.1 SOAP接口
5.3.2 REST接口
5.3.3 ArcGIS Server SOAP/REST比较
5.4 ArcGIS Server服务发布
5.4.1 在ArcMap中发布地图服务
5.4.2 在ArcCatalog中发布地图服务
5.4.3 在ArcGIS Server Manager中发布地图服务
5.5 ArcGIS Server服务管理
5.5.1 管理具体的服务
5.5.2 管理日志文件
5.5.3 管理服务器对象容器(SOC)
5.5.4 管理服务器目录
5.5.5 管理ArcGIS Image Server和JPIP
5.6 小结
第6章 ArcGIS Server的地图缓存
6.1 地图缓存概述
6.2 ArcGIS Server的缓存原理
6.3 ArcGIS Server的缓存流程
6.4 ArcGIS Server的缓存创建原则
6.5 ArcGIS Server的缓存创建实例
6.5.1 数据范围确定
6.5.2 创建地图资源
6.5.3 发布地图服务
6.5.4 创建地图缓存
6.5.5 验证地图服务
6.6 小结
第7章 ArcGIS Server的安全管理
7.1 安全概述
7.2 用户管理
7.2.1 操作系统账户
7.2.2 ArcGIS Server用户组
7.2.3 Web用户和角色
7.3 连接管理
7.3.1 局域网连接管理
7.3.2 Internet连接管理
7.4 Web服务其他安全管理
7.4.1 缓存目录管理
7.4.2 SSL管理
7.4.3 令牌服务管理
7.5 小结
第8章 ArcGIS Server的部署与性能优化
8.1 ArcGIS Server部署概述
8.2 ArcGIS Server的部署方式
8.2.1 ArcGIS Server单机部署
8.2.2 ArcGIS Server多机部署
8.2.3 集群部署方案
8.3 监控性能
8.3.1 监控服务的性能
8.3.2 监控网站的性能
8.4 数据优化
8.4.1 数据量
8.4.2 数据组织
8.4.3 数据渲染
8.4.4 数据显示
8.4.5 数据存储方式
8.5 服务优化
8.5.1 地图文档优化
8.5.2 服务组织
8.5.3 服务设置
8.6 小结
第三篇 .NET ADF开发篇
第9章 ArcGIS Server开发基础——ASP.NET
9.1 ASP.NET简介
9.1.1 Web开发技术
9.1.2 ASP.NET特点
9.1.3 ASP.NET 2.0
9.1.4 ASP.NET 3.5
9.1.5 ASP.NET 4.0
9.1.6 Visual Studio 2010与ArcGIS Server集成开发环境
9.2 JavaScript和Ajax技术
9.2.1 JavaScript本质
9.2.2 JavaScript基本函数
9.2.3 Ajax
9.2.4 在客户端回调中使用Ajax
9.3 ASP.NET Ajax
9.3.1 介绍ASP.NET Ajax
9.3.2 服务器回调
9.3.3 ASP.NET Ajax服务器控件
9.3.4 深入客户端库
9.3.5 控件扩展器
9.4 ArcGIS Server .NET ADF中的Ajax
9.4.1 ADF中Ajax的调用过程
9.4.2 ADF中调用的示例详解
9.5 小结
第10章 .NET ADF控件介绍
10.1 资源管理控件
10.1.1 MapResourceManager详解
10.1.2 GeoprocessingResource Manager详解
10.1.3 GeocodeResourceManager详解
10.2 地图显示及其相关控件
10.2.1 Map详解
10.2.2 MapTips详解
10.2.3 Magnifier详解
10.2.4 OverviewMap详解
10.2.5 Toolbar详解
10.2.6 Toc详解
10.2.7 ScaleBar详解
10.2.8 Navigation详解
10.2.9 ZoomLevel详解
10.2.10 ZoomToScale详解
10.2.11 GoToLocation详解
10.2.12 MapCopyrightText详解
10.3 TaskManger控件与Task控件
10.3.1 TaskManager详解
10.3.2 EditorTask详解
10.3.3 SearchAttributesTask详解
10.3.4 QueryAttributesTask详解
10.3.5 GeoprocessingTask详解
10.3.6 FindAddressTask详解
10.3.7 PrintTask详解
10.3.8 UserControlTask详解
10.4 TaskResults结果显示控件
10.5 其他
10.5.1 FloatingPanel详解
10.5.2 ContextMenu详解
10.5.3 DocExtender详解
10.5.4 HoverExpandExtender详解
10.5.5 ColorPicker详解
10.5.6 PageLayout详解
10.6 小结
第11章 ArcGIS Server基于模板开发
11.1 配置开发模板中的地图资源
11.2 图形选择
11.2.1 单击点选择
11.2.2 矩形选择
11.2.3 画线选择
11.2.4 多边形选择
11.2.5 画圆选择
11.2.6 缓冲选择
11.3 查询定位
11.3.1 根据坐标定位
11.3.2 根据属性值定位
11.4 图层控制
11.4.1 父子图层状态联动
11.4.2 图层顺序控制
11.4.3 动态添加图层
11.5 自定义Tool
11.6 自定义Task
11.6.1 Task的工作流程
11.6.2 自定义Task的实现
11.7 自定义Command
11.8 地图导出
11.9 小结
第12章 ArcGIS Server专题图与符号库开发
12.1 普通专题图
12.1.1 柱状图
12.1.2 饼状图
12.2 分级专题图
12.2.1 Graduated colors
12.2.2 Graduated sysmbols
12.2.3 Dot desity
12.3 分类专题图
12.3.1 根据某个字段的唯一值
12.3.2 根据多个字段的值
12.4 自定义专题图
12.5 Styles符号库文件符号化
12.6 TrueType符号化
12.7 自画符号
12.7.1 MarkerSymbol
12.7.2 FillSymbol
12.7.3 LineType
12.7.4 图片符号
12.8 GraphicsLayer
12.9 小结
第13章 ArcGIS Server ADF for .NET高级功能
13.1 服务器对象扩展(SOE)
13.2 数据编辑
13.3 Geodata的签入签出
13.4 空间查询
13.5 Geoprocessing缓冲
13.6 最短路径分析
13.7 小结
第四篇 REST API开发篇
第14章 ArcGIS Silverlight控件简介
14.1 地图控件
14.1.1 Map详解
14.1.2 OverviewMap详解
14.1.3 ScaleLine详解
14.2 导航条(Navigation)详解
14.3 书签(Bookmark)详解
14.4 MapTip详解
14.5 MapProgressBar详解
14.6 图层图例(Lenged)详解
14.7 编辑控件
14.7.1 EditorWidget详解
14.7.2 TemplatePicker详解
14.7.3 AttachmentEditor详解
14.8 TimeSlider详解
14.9 空间对象列表控件
14.9.1 FeatureDataGrid详解
14.9.2 FeatrueDataForm详解
14.10 MagnifyingGlass详解
14.11 InfoWindow详解
14.12 Attribution详解
14.13 小结
第15章 基于Silverlight API开发
15.1 开发环境搭建
15.1.1 配置Silverlight开发环境
15.1.2 安装ArcGIS Silverlight API
15.2 地图显示与基本操作
15.3 地图图层
15.4 行为动作
15.4.1 Behaviors行为
15.4.2 Action动作
15.5 图形绘制
15.6 符号
15.7 专题图渲染
15.8 查询任务
15.8.1 QueryTask
15.8.2 FindTask
15.8.3 IdentifyTask
15.9 小结
第16章 基于Silverlight高级开发
16.1 地图几何操作
16.2 地理处理任务
16.3 SOE调用
16.4 打印输出
16.5 热点分析
16.6 小结
第17章 ArcGIS API For Flex
17.1 开发环境搭建
17.2 地图显示与基本操作
17.3 渲染符号化
17.4 查询
17.4.1 QueryTask
17.4.2 FindTask
17.4.3 IdentifyTask
17.5 地理处理
17.6 几何操作&SOE;
17.7 地图打印
17.8 小结
第18章 开源软件Flex Viewer介绍
18.1 Flex Viewer介绍
18.2 Flex Viewer源代码结构组织
18.3 Flex Viewer架构
18.3.1 总体架构
18.3.2 事件总线(Event Bus)
18.3.3 依赖注入(Dependency Injection)
18.3.4 国际化
18.4 Widget应用
18.4.1 Widget配置文件
18.4.2 WidgetTemplate
18.4.3 Widget的交互
18.4.4 Widget开发示例
18.5 小结
第19章 ArcGIS API For JavaScipt
19.1 开发环境搭建
19.1.1 Aptana Studio
19.1.2 ArcGIS API支持浏览器的版本
19.2 地图显示与基本操作
19.3 渲染符号化
19.4 查询
19.4.1 QueryTask
19.4.2 FindTask
19.4.3 IdentifyTask
19.5 地理处理
19.6 SOE
19.7 几何操作
19.8 小结
第20章 ArcGIS API For IOS
20.1 开发环境搭建
20.2 Objective-C基础
20.2.1 类(Class)
20.2.2 方法(Methods)
20.2.3 属性(Property)
20.2.4 协议和委托(Protocols and Delegates)
20.3 XCode介绍
20.3.1 Xcode IDE
20.3.2 Interface Builder
20.3.3 移动设备模拟器
20.4 地图显示与基本操作
20.5 渲染符号化
20.6 查询与检索
20.7 图层控制
20.8 GPS定位
20.9 小结
第五篇 综合案例篇
第21章 某市共享平台
21.1 需求概述
21.1.1 用户需求
21.1.2 平台建设的关键技术
21.2 面向服务的空间信息共享平台
21.3 系统总体框架
21.3.1 基于SOA的GIS服务技术路线
21.3.2 平台的总体框架
21.4 系统建设方案
21.4.1 数据建库标准规范及共享交换制度
21.4.2 数据和服务平台建设
21.4.3 统一门户建设
21.5 综合实现
21.6 难点及解决方法
……
前言/序言
精通ArcGIS Server应用与开发 在海量地理空间数据和日益增长的Web应用需求驱动下,ArcGIS Server已成为构建高性能、可扩展地理信息系统的基石。本书旨在深入剖析ArcGIS Server的核心理念、架构设计及其在实际应用开发中的落地实践。通过本书的学习,您将系统掌握ArcGIS Server的服务发布、管理、安全配置以及基于其进行二次开发的技术,从而能够独立设计、实现和维护功能强大的地理信息Web服务,满足企业级GIS应用的需求。 本书内容概览: 第一部分:ArcGIS Server 核心概念与架构解析 地理信息系统(GIS)基础回顾: 快速回顾GIS的基本概念、空间数据模型、地图投影等,为理解ArcGIS Server的底层逻辑奠定基础。 ArcGIS Server 核心组件剖析: 深入解读ArcGIS Server的核心组件,包括ArcGIS Server Object Manager (SOM)、ArcGIS Server Object Container (SOC)、ArcGIS Server REST API、SOAP API等,理解它们各自的功能和协作方式。 服务类型详解: 详细介绍ArcGIS Server支持的各种服务类型,如地图服务(Map Service)、要素服务(Feature Service)、地理处理服务(Geoprocessing Service)、影像服务(Image Service)、网络分析服务(Network Analyst Service)、坐标系服务(Geometry Service)等,并阐述其应用场景。 Server 架构模式: 探讨ArcGIS Server在不同架构模式下的部署和应用,包括单机部署、集群部署、高可用性(HA)部署、负载均衡(LB)配置等,帮助读者构建稳定可靠的GIS服务平台。 企业级GIS集成: 分析ArcGIS Server如何与其他企业级系统(如数据库、Web服务器、移动应用平台)进行集成,实现数据的互联互通和业务流程的自动化。 第二部分:ArcGIS Server 服务发布与管理实战 ArcGIS Server 安装与配置: 提供详细的ArcGIS Server安装步骤和环境配置指南,包括操作系统要求、端口配置、安全设置等,确保顺利部署。 服务发布流程详解: 从ArcGIS Pro到ArcGIS Server,手把手指导用户完成地图文档、地理处理模型、地理数据库等资源的发布过程。重点讲解服务定义文件(.sd)的创建、服务站点(Service Site)的配置以及服务属性的优化。 服务管理与监控: 掌握ArcGIS Server Manager的应用,包括服务的启停、配置修改、权限管理、日志查看、性能监控等。学习如何利用性能监视器和日志文件诊断和解决服务运行中的问题。 数据管理与更新策略: 探讨ArcGIS Server与后端地理数据库(如SQL Server, Oracle, PostgreSQL with PostGIS)的集成,包括数据同步、版本管理、数据加载与更新的最佳实践,确保服务数据的时效性和准确性。 缓存策略与优化: 深入研究ArcGIS Server地图服务的缓存机制,包括缓存的创建、管理、更新和优化。讲解如何根据应用需求选择合适的缓存策略,提升地图加载速度和用户体验。 切片瓦片服务(Tiled Map Service)的发布与管理: 详细介绍切片瓦片服务的概念、发布方法、格式(如PNG, JPEG)以及不同比例尺下的瓦片生成策略。 第三部分:ArcGIS Server 应用开发与二次开发 ArcGIS REST API 深度探索: 全面解析ArcGIS REST API的设计理念、请求与响应格式、常用资源(如MapServer, FeatureServer, GPServer)的访问方式。通过大量实例,演示如何使用REST API查询、编辑、分析空间数据,以及调用地理处理模型。 JavaScript API 应用开发: 重点介绍ArcGIS API for JavaScript,这是构建交互式Web GIS应用的核心。从基础的地图显示、图层添加、要素查询、空间分析,到复杂的用户交互、信息展示、定制化开发,本书将提供详尽的代码示例和讲解。 Python 脚本与自动化: 演示如何利用Python脚本(如ArcPy)与ArcGIS Server进行交互,实现服务的自动化发布、管理、数据处理和分析任务。学习Python API调用REST API执行地理处理任务,以及在ArcGIS Server上部署和运行Python脚本。 .NET SDK 开发: 介绍ArcGIS Server .NET SDK,为开发者提供在.NET环境下构建ArcGIS Server应用的能力。讲解如何使用.NET SDK发布定制化服务、创建强大的后台处理任务以及与其他.NET应用集成。 移动端GIS应用开发概述: 简要介绍ArcGIS Runtime SDK for Android/iOS,为开发者提供在原生移动平台构建GIS应用的基础知识,并说明ArcGIS Server如何为移动应用提供数据和分析服务。 Web GIS应用架构设计: 讨论构建可扩展、高性能Web GIS应用的架构模式,包括前后端分离、微服务架构、消息队列的应用,以及如何利用ArcGIS Server作为核心后端服务。 第四部分:ArcGIS Server 安全与性能优化 ArcGIS Server 安全机制: 深入讲解ArcGIS Server的安全模型,包括身份验证、授权、SSL/TLS加密、防火墙配置、IP地址限制等,帮助读者构建安全可靠的GIS服务。 服务权限管理: 详细介绍如何针对不同的用户、用户组或角色配置服务访问权限,实现精细化的权限控制。 性能瓶颈分析与调优: 识别ArcGIS Server常见的性能瓶颈,如数据库访问、服务请求响应、缓存策略不当、硬件资源不足等。提供系统性的性能调优方法,包括代码优化、服务配置调整、硬件升级建议等。 高可用与灾难恢复: 探讨ArcGIS Server高可用性(HA)和灾难恢复(DR)的策略和实现方法,确保GIS服务的连续可用性。 光盘内容: 附赠的CD光盘包含了本书配套的软件资源、示例代码、数据集、工具脚本等,旨在帮助读者更直观、更便捷地进行实践操作和学习。光盘内容包括但不限于: ArcGIS Server 试用版/开发版软件资源 ArcGIS Pro 试用版/开发版软件资源 书中详细案例的代码示例(JavaScript, Python, .NET) 部分公共地理空间数据集,用于实际应用演示 常用的ArcGIS Server管理和开发辅助脚本 相关的技术文档和参考链接 适用人群: GIS从业人员: 希望深入理解ArcGIS Server工作原理,提升GIS服务发布与管理能力的GIS技术人员。 软件开发工程师: 希望在Web、移动端开发中集成地理空间能力,构建GIS应用的开发者。 系统架构师: 需要为企业级应用设计和部署可扩展、高性能地理信息系统的架构师。 项目经理: 需要了解ArcGIS Server技术能力,以便更好地规划和管理GIS相关项目的管理者。 高等院校GIS、计算机科学相关专业师生。 本书特点: 理论与实践相结合: 既有深入的理论讲解,又有丰富的实战案例,帮助读者融会贯通。 循序渐进: 从基础概念到高级开发,逐步深入,适合不同层次的学习者。 全面覆盖: 涵盖ArcGIS Server应用、开发、管理、安全、性能等各个方面。 代码驱动: 提供大量可运行的示例代码,方便读者直接上手实践。 面向实际应用: 贴合企业级GIS应用开发中的实际需求和常见问题。 掌握ArcGIS Server,就是掌握了构建现代地理信息系统的核心竞争力。本书将成为您在ArcGIS Server应用与开发领域最可靠的助手和最权威的参考。