地理信息系统(Geographic Information System)简称GIS,是在20世纪60年代发展起来的一门新型的管理地学信息的科学技术,是对与地理环境有关的问题进行分析和研究的学科。它不仅是关于地理数据获取、存储、转换、分析和表达的原则、方法和工具,而且提供了认识空间现象的思维方式和解决空间问题的方法,以先进的理论和技术方法规定数据或信息的组织、管理、处理、分发和表现,使数据或信息的应用更有效、更经济、更自然、更协调,可以用于定义、分析、表达复杂的空间现象,能够达到图文并茂的效果。广泛应用于测绘、资源管理、城乡规划、交通运输、灾害监测、环境保护、国防建设、地质勘探、卫星遥感、军事地形、水利电力、旅游、气象等领域,并呈现出广阔的应用前景。不论人们将21世纪称为什么世纪,GIS的广泛应用与普及必将是其一个重要特征。 ArcViewGIS是美国环境系统研究所(Environmental Systems Research Institute,简称ESRD研发的桌面GIS软件,因其界面友好、模块齐全及空间分析与处理功能强大,得到了广大GIS用户,特别受到地学分析与应用人员的青睐。但由于ArcViewGIS软件仅提供地学空间分析的一般模块,不可能解决所有的地学问题,因此,针对某些专业问题和具体需求,还必须由用户在原有功能模块的基础上,进行二次开发才能解决。正是出于这种需求,ArcViewGIS软件平台提供了专门的二次开发语言Avenue,以方便用户根据需求进行二次开发。 地理信息系统二次开发主要有三种模式: ·独立开发 完全从底层开始,不依赖于任何GIS工具软件,从空间数据的采集、编辑到数据的处理分析及结果输出,所有的算法都由开发者独立设计,然后选择某种程序设计语言,按照软件工程的步骤完成系统的开发。这种开发模式适于开发商品化的GIS软件平台,但其难度大:开发周期长、投资大,不适宜于一般的开发用户。 ·组件地理信息系统 在可视化开发环境(如VB、VC++、Delphi等)下,将GIS控件(如美国环境系统研究所(Environment System Research Institute,ESRI)的ArcObject、Maplnfo的MapX等)嵌入用户应用程序中,实现一般GIS功能,在同一环境下利用开发语言实现专业应用功能。该模式可缩短程序开发周期,程序易于移植、便于维护,是目前GIS开发的主流。 ·单纯的二次开发 基于国内外先进的GIS平台,利用其提供的二次开发语言进行开发,如Arc/lnfo提供的AML语言、ArcView提供的Avenue、Maplnfo提供的MapBasic等,开发出具有特定应用功能的地理信息系统。该开发模式简单易行,有很多功能可以直接从原有的平台软件中引用过来,但其可移植性差,受开发平台的影响,不能脱离原系统单独运行。 为了便于用户定制ArcView GIS,笔者从ArcView界面的定制入手,配以两个应用实例,详细介绍了ArcViewGIS的二次开发方法。 全书共分七章,第一章ArcView界面用户定制,介绍了ArcView的图形用户界面及其定制与保存方法;第二章ArcView类(对象)的组织结构,介绍了面向对象的程序设计基础、对象模式图、Obj类、ArcView应用的组织结构、文档用户界面的组织结构、Collections的组织结构、Value的组织结构、Files的组织结构等内容;第三章Arc-View中文档的组织结构,介绍了View、Table、Chart、Layout,Script等文档的组织结构;第四章Avenue编程,介绍了Avenue基础、Avenue如何工作、Avenue的组成要素、Avenue的程序结构、使用Shapes和Graphic、视图与主题操作、表格操作等内容;第五章ArcView与其它应用程序的交互,包括使用系统命令、应用程序通讯、Visual Basic程序开发方法与技巧、发布应用程序等内容;第六章和第七章通过两个应用实例详细介绍了Arc ViewGIS二次开发方法与技巧。 本书由谢洪波、文广超负责全书编写的总体设计、组织、审校与定稿工作。第一章、第二章1-5节、第三章、第六章由河南理工大学谢洪波编写,第四章1-5节、第五章、第七章由河南理工大学文广超编写,第二章6、7、8节及第四章6、7节由河南农业大学栗滢超编写。在编写过程中,河南理工大学资源环境学院的研究生李杏龙、潘秋玲、党红耀、王文龙、梁六妮、稽海明参与了其中部分书稿的审校和编排工作。ESIR公司的ArcView GIS帮助文档提供了本书的英文文档。本书的出版得到了中国统计出版社的大力支持,也得到了河南理工大学博士基金的资助。作者在此一并表示衷心的感谢!特别需要说明的是,在本书第六章和第七章中所引用的地图,出自尹国勋等编著、中国环境科学出版社2005年出版的《地下水污染与防治:焦作实证研究》一书,谨在此向此书作者表示诚挚感谢! 由于作者水平有限,书中难免有一些错误、遗漏,敬请读者批评指正。