基于VBA的ArcObjects编程——面向任务的方法
随着ESRI公司 ArcGIS软件的发展,ArcObjects已成为整个ArcGIS系列软件的核心基础,学习掌握ArcObjects是地理信息系统开发课程的必然趋势。《基于VBA的ArcObjects编程:面向任务的方法(第2版)》是美国CRC出版社于2008年出版的张康聪(Kang-tsung Chang)教授编著的Prograrmning ArcObjects with VBA:A Task-Oriented Approa(美国CRC出版社,2008年 第二版)的中文翻译版。全书共14章,内容涉及ArcOb-jects的所有方面,以ArcGIS 9.2的二次开发为任务导向,通过示例程序,讲解编程要点并提供运行范例。随书附光盘,包含128个示例宏程序及其案例数据,涉及从最基本的添加图层到高级的地理操作等方面。《基于VBA的ArcObjects编程:面向任务的方法(第2版)》有三大特色:一是采用面向任务的方法来学习ArcObjects编程,采用VBA讲解ArcObjects编程;二是通过大量的示例练习开展渐进的编程训练;三是系统性强。
《基于VBA的ArcObjects编程:面向任务的方法(第2版)》可作为GIS专业本科高年级课程和相关领域研究生的教材,也可作为GIS专业技术人员的参考书。
更多科学出版社服务,请扫码获取。
您想进一步提升自己的ArcGDS水平吗?请遵循面向任务的方法来学习ArcObjects编程。《基于VBA的ArcObjects编程:面向任务的方法(第2版)》针对数据整合、数据管理、数据显示、数据分析等常见GIS任务,采用大量图解清晰地说明编程中所需的对象、属性和方法每个程序之前都有用法描述,关键属性、关键方法的清单,随后列出编码及其解释。包括ArcGIS9.X中新增的GeoprocessIng对象及其脚本编码,以及ArCGIS主界面中较难实现的功能。附CD光盘,包含95个ArcObjects宏、33个Geoprocessing宏,以及运行编码所需的数据集,可使读者完成各种常见任务。CD光盘中还包括共144章PPT课件,方便教学使用。无论您的编程经验如何,《基于VBA的ArcObjects编程:面向任务的方法(第2版)》将为您提供一把钥匙,使您尽快掌握ArcOBjectS强大且多样的功能,有助于管理GIS活动。
随着 ESRI公司ArcGiS软件的发展,ArcObjects已经成为整个ArcGIS系列软件的核心基础。每个想把自己的ArCGIS知识水平提升一个层次的人,都需要学会使用ArcObJects。美国CRC出版社于2005年出版了张康聪(Kang-tsung Chang)教授编著的Programming. ArcObJects swith VBA:A Task-Oriented Appr"oac入(第一版),广受读者欢迎,2008年修订出版了第二版。本书系原著第二版的中文翻译版。该书有以下三大特色。 一是采用面向任务的方法来学习ArCObJectS编程。面向任务的方法至少有三个主要优点:首先,它将ArcObJects与已有知识联系起来;其次,面向任务的方法用一种符合ArcGIS用户逻辑的方法来组织ArcObJects;最后,面向任务的方法还可以帮助我们用ArcObJects的新知识更好地理解ArcGIS。该书采用Visual Basic for Application(VBA)讲解ArcObJects编程。VBA已经内嵌至ArcMap和ArCCatalog,因此用VBA进行ArcObJects编程对于ArcGIS用户来说非常方便。
二是通过大量的示例练习开展渐进的编程训练。该书共附有128个示例宏程序,涉及从最基本的添加图层到高级的地理操作等方面,每个练习都相互独立,同时又有内在联系,可使读者由浅人深地学习ArcObjects编程。大量的练习,不仅在章节中作详细剖析,而且与案例数据一起刻录成光盘附在书后,大大方便了读者。
目录
译者序
引言
第1章 ArcObjects概述 1
1.1 Geodatabase 1
1.2 ArcObjects 4
1.3 ArcObjects的组织 7
1.4 ArcObjects帮助资源 8
1.5 Geoprocessing对象 10
参考文献 11
第2章 编程基础 12
2.1 基本元素 12
2.2 代码的编写 17
2.3 调用子程序和函数过程 23
2.4 Visual Basic编辑器 25
2.5 调试代码 26
第3章 用户界面的定制 30
3.1 用ArcMap命令创建工具栏 30
3.2 添加新按钮 32
3.3 添加新工具 34
3.4 存储新工具栏至模板 37
3.5 添加窗体 38
3.6 将窗体存储到模板中 43
第4章 数据集和图层管理 45
4.1 ArcGIS中数据集的使用 45
4.2 数据集和图层相关的ArcObjects 46
4.3 将数据集添加为图层 47
4.4 管理图层 55
4.5 管理数据集 56
4.6 报告地理数据集信息 59
第5章 属性数据管理 61
5.1 ArcGIS中的属性数据管理 61
5.2 属性数据管理的ArcObjects 62
5.3 列举字段集和字段的属性 65
5.4 添加或删除字段 71
5.5 字段值的计算 73
5.6 表的连接和关联 76
第6章 数据转换 86
6.1 ArcGIS里的数据转换 86
6.2 用于数据转换的ArcObjects 87
6.3 Shapefile转换为GeoDatabase 89
6.4 Coverage转换为GeoDatabase和Shapefile 97
6.5 栅格化和矢量化 101
6.6 添加XY事件 108
第7章 坐标系 112
7.1 在ArcGIS中管理坐标系 112
7.2 坐标系的ArcObjects 113
7.3 操作动态投影 116
7.4 定义坐标系 119
7.5 地理变换 123
7.6 投影数据集 129
第8章 数据显示 139
8.1 在ArcGIS中显示数据 139
8.2 数据的ArcObjects对象 140
8.3 矢量数据 144
8.4 栅格数据 153
8.5 制作页面布局 162
第9章 数据探查 171
9.1 ArcGIS中的数据探查 171
9.2 数据探查的ArcObjects 172
9.3 属性查询 174
9.4 空间查询 179
9.5 空间查询和属性查询的结合 188
9.6 计算描述性统计值 193
第10章 矢量数据操作 197
10.1 ArcGIS中的矢量数据分析 197
10.2 用于矢量数据分析的ArcObjects 198
10.3 缓冲区分析 199
10.4 叠置分析 202
10.5 基于位置的数据连接 207
10.6 要素运算 209
第11章 栅格数据操作 217
11.1 在ArcGIS中分析栅格数据 217
11.2 栅格分析的ArcObjects 218
11.3 管理栅格数据 220
11.4 逻辑操作 228
11.5 邻域操作 232
11.6 区带操作 234
11.7 距离量算操作 236
第12章 地形制图和分析 245
12.1 在ArcGIS中进行地形制图和分析 245
12.2 地形制图和分析相关的ArcObjects 246
12.3 计算等值线、坡度、坡向和地貌晕渲 247
12.4 视域分析 259
12.5 流域分析 261
12.6 创建和编辑TIN 265
第13章 空间插值 271
13.1 在ArcGIS中进行空间插值 271
13.2 空间插值相关的ArcObjects 271
13.3 创建空间插值 272
13.4 插值方法比较 279
第14章 二值模型和指数模型 283
14.1 在ArcGIS中建模 283
14.2 GIS建模相关的ArcObjects 283
14.3 建立二值模型和指数模型 284
对GIS而言,大部分的栅格数据是可用的,包括卫星影像、数字高程模型(DEM)、数字正射影像、扫描文件、图形文件和特定软件的栅格数据(如ESRI网格)。Geodatabase模型将它们视为栅格数据集(raster dataset)。不过,栅格数据集可以是单波段(single band),也可以是多波段(multiple bands)的一般ESRI网格包含单波段,而多光谱卫星影像则包含多波段。
一个多波段栅格数据集可以是栅格数据操作的输出。例如,耗费距离量算操作(参见第n章)可以生成最小累计耗费距离(least accumulative cost distance)、后向链(back link)以及配置(allocation)。首先可以把这几个不同的输出结果存储在多波段栅格数据集中,每个波段存储一个输出结果,而后被提取出来建立适当的栅格数据集。
不规则三角网
(3eodatabase数据模型用不规贝。三角网(TIN)数据集来储存一系列互不重叠的三角形来近似表示一个表面。高程值连同x、y坐标一起存储在组成三角形的结点上。在地形制图与分析的许多情况下,TIN数据集是栅格数据的一种新选择。究竟选哪一个取决于数据的灵活性和计算效率。
TIN的输入包括数字高程模型(digital elevation model,DEM)、等值线、全球定位系统(global positioning system,GPS)数据、光达(light detection and ranging,LiDAR)数据和测量数据。我们也可以借助线要素(如水流和道路)和面要素(如湖泊和水库)来修改和改善TIN。因此,数据灵活性是使用 TIN的重要优势。此外,相比高程栅格来说,TIN的三角形面更易于建立一个鲜明的地形图像。