ArcView教程之三

来源:百度文库 编辑:神马文学网 时间:2024/04/20 23:14:08
ArcView文档
文档(Doc) :ArcView支持多种信息的表达方式,每种信息类型称之为文档。
文档窗口(DocWin) :每种文档信息都出现在一个独立的窗口中,将这个窗口称之为文档窗口。
文档用户界面(DocGUI) :每个文档窗口决定了这类信息的用户界面(包括各自独立的菜单栏、按钮条和工具条)和用户与这类信息进行交互的方式。
用户界面:
1,菜单栏
2,按钮条
3,工具条
4,文档窗口标题、大小、位置
5,各GUI要素所对应的操作(如菜单、按钮、工具命令)决定用户与文档进行交互的方式。
ArcView的文档
项目文档
每个ArcView的应用只能有一个当前项目和项目管理窗口。
ArcView的项目是一类文档,但ArcView项目双管理多种文档,包括:视图文档、表格文档、图表文档、地图图版文档和Avenue脚本文档。 以下逐项介绍组成ArcView项目的五类文档。

视图文档
如图1所示,ArcView的视图文档由目录表和地图显示区组成。目录表说明当前视图文档中显示哪些地理信息图层,每个图层在ArcView中被称之为一个主题。地图显示区用于显示反映各个主题的地理特征。
利用视图文档的目录表,可以完成以下任务:
1,打开或关闭主题显示:通过点击目录表主题名称左侧的检查框,可以决定地图显示区中是否显示对应主题的地理特征。关闭主题只对显示起作用,而不会从视图文档中删除该主题。
2,切换主题的激活状态:通过点击目录表中的主题项,可以切换主题的激活状态。处于激活状态的主题才可以进行选择、信息查询和空间分析等操作。
3,改变主题在地图显示区的显示顺序:可以通过在目录表中拖曳主题项来决定各主题在地图显示区中的显示顺序。点状主题应该在面状主题之后显示,因此就可以通过目录实现这一点。
4,编辑主题图例:ArcView的目录区内置了图例编辑器,双击目录表中的主题,就可以激活图例编辑器。图例可以是单一的符号,也可以根据主题的属性数据进行分类,得到分类图例。应用图例编辑器的修改,地图显示区内主题的显示方式就会自动调整。

图2:视图文档的用户界面
视图文档的GUI如图2所示。利用视图文档的GUI可以完成以下对于主题的操作:
1, 维护主题目录表:通过增加或删除主题,决定地图显示区显示哪些主题的地理特征。
2, 修改主题的属性:选择Theme->Properties,可以激活主题属性编辑窗口,利用它可以定义只显示当前主题中符合特定条件的图形要素、决定主题的注记内容和显示方式、锁定主题、为主题建立指向图片、声音、其它ArcView文档、其它ArcView项目等的热链接等。
3, 切换主题的编辑状态:选择Theme->Start/Stop Editing切换主题的编辑状态。
4, 地图显示的导向:选择菜单栏、按钮条和工具条的操作,可以实现图形的缩放、漫游等。
5,主题特征的信息检索:利用工具栏提供的信息检索工具,可以通过点取方式,即时地查看主题图斑的属性信息。
6,主题特征的选择:ArcView提供了三类主题特征选择方式:图形交互式选择、属性信息选择方式和基于主题间空间关系的选择。
图形交互方式选择是指用户在地图图形显示区圈定范围,系统自动选择落在这一范围内的主题特征;
属性信息选择是指用户可以以主题的属性信息为条件,以“根据实例查询(QBE)”检索所对应的主题特征;
基于主题间空间关系的选择则指根据不同主题特征间的邻近关系、位置重合关系,从一个主题的特征检索另一个主题的特征,例如检索在公路0.25公里范围内有多少个加油站。
表格文档
表格文档事实相当于ArcView系统中内置的一个小型数据库管理系统。GIS系统强调空间数据和属性数据的综合管理和分析,但是目录多数GIS软件虽在空间数据管理方面的功能都有一定的规模和水平,却往往忽视了与空间数据相关的属性数据管理和分析功能的开发,而ArcView在这方面做得比较好。
利用ArcView的表格文档,可以完成数据库管理和数据分析的全部工作,包括增加、修改、删除数据库记录、修改数据库文件的结构(字段)、数据记录的排序、计算字段的值、字段值的统计的分析、数据库文件的输入和输出、表与表之间的关联和联接等。
表格文档可以自动管理两类数据表,一类是主题属性表,另一类是外部数据表。表格文档的数据表是DBF文件格式的,通过ODBC和SQL,或通过Avenue程序设计可以将其它外部数据库的数据表加载到ArcView中来。

图表文档
图表文档提供了一种属性信息的图形化对比分析的信息表达方式。因此,它依赖于表格文档。只有ArcView项目中存在表格文档,无论它是外部数据文件、还是主题数据表,才可以建立和使用图表文档的内容。
ArcView提供了饼形图、水平直方图、柱状图、曲线图、散点图、面域图等形式来形象化地表达数据之间的对比关系。这几种表达方式之间可以随时进行转换。同时编辑图表的功能也非常丰富,图例文字、图例的位置的排列、分组说明文字、坐标间距和坐标轴文字、图表标题等都可以随时修改。
图4是ArcView图表文档的用户界面。

图4 ArcView图表文档的用户界面
地图图版文档
利用地图图版文档,用户可以制作专题地图。地图图版文档中可以包括主题图形、数据表、图表图形、其它图形和文字要素。ArcView还提供了指北针、地图图版模板等辅助制图工具。在专题地图制作过程中,ArcView可以根据图版中的主题数据自动建立图例、比例尺等制图要素。用户还可以自定义地图图版模板。所有制图要素都是动态和可编辑的。利用这些工具,用户可以制作出各种专题地图供输出。
图5是ArcView地图图版文档的用户界面。

图5 ArcView地图图版文档的用户界面
Avenue脚本文档
Avenue是ArcView内置的面向对象的专用程序设计脚本语言。在Avenue中对象结构体系中包括了ArcView系统中所有可操作的文档和其它要素。每个对象都有一系列的属性和方法。几乎所有的ArcView操作都可以通过Avenue脚本语言来实现,而且事实上ArcView本身的许多功能也是通过Avenue脚本实现的。这就为用户建立完全定制化的应用提供了非常有效的工具。
Avenue中对象属性的描述与在ArcView系统环境中保持一致,而对象方法的命名统一采用动宾结构,动词部分使用的主要有Set、Get、Return。因此,很容易通过语句了解脚本的功能。
由于Avenue是一个完整的面向对象和服务于ArcView的程序设计语言,它不仅包括常规程序设计语言的基本要素,还包括GIS功能实现方面的内容,因此学习起来需要花费一定的功夫。
下面我们不妨来看看Avenue脚本的例子。我们可以用
MsgBox.Info("We are the World","消息盒"
来在ArcView环境中显示一个消息盒,显示“We are the World”。在该脚本中,MsgBox是消息盒对象,Info是消息盒对象的方法,“We are the World”是要显示的内容,而“消息盒”是消息盒的标题。
我们还可以用户如下命令打开名称为“FirstView”的视图文档:
av.GetProject.FindDoc("FirstView".GetWin.Open
另外,Windows环境下的ArcView的Avenue还提供了通过DLL调用Windows API函数,和通过DDE与外部程序通讯的方法,这大大增强了ArcView应用的二次开发的深度。VB和Avenue成为开发ArcView应用的最佳组合。
Avenue还有许多内容,这里无法详细描述。图6是ArcView的Avenue脚本文档的用户界面。

图6 ArcView的Avenue脚本文档的用户界面
ArcView文档间的联系
以上描述了ArcView项目的五类文档。除了Avenue脚本文档外,ArcView应用中的数据在其它四类文档之间是动态联接的。如果用户在视图文档的地图显示窗口中选择了某个主题的特征,相应的主题属性表的表格文档中的选择集会自动更新,反之亦然;同样,如果用户当前视图建立了相应的地图图版文档,那么地图图版文档中相应的内容也被选择(可以进行控制)。另外,如果某个表格文档的选择集发生变化,系统也会自动更新据此文档建立的图表文档的内容。这种机制大大降低了用户的工作量