ArcINFO地理信息系统培训_第1页
ArcINFO地理信息系统培训_第2页
ArcINFO地理信息系统培训_第3页
ArcINFO地理信息系统培训_第4页
ArcINFO地理信息系统培训_第5页
已阅读5页,还剩172页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Arc/INFO地理信息系统培训,中南大学资源环境与建筑工程学院 邱冬生 2001年5月4日,主要学习内容,第1章 ARC/INFO介绍 第2章 Coverage数据类型 第3章 空间数据操作 第4章 属性数据操作 第5章 数据显示和制图 第6章 数据库查询 第7章 空间分析 第8章 Arc/INFO宏语言AML语言 第9章 Arc/INFO的二次开发,第1章 ARC/INFO介绍,软件介绍 Coverage 联接特征和属性 Arc/Info的工作区间 地理数据库 Arc/INFO操作方式 Arc/INFO命令 获取帮助 ArcTools介绍,1.1 Arc/INFO系统介绍,Arc/INFO

2、系统介绍 1 Arc/INFO子系统 2 系统目录介绍 3 Arc/INFO基本文件介绍,1.1.1 Arc/INFO系统介绍,ARC/INFO是美国ESRI(Environmental Systems Research Institute)公司的代表产品,是当今世界上最为完整的GIS系统,它所包含的几千个GIS分析工具已被各个领域的项目所采用。 目前,ESRI在推出了几种全新概念,包括:空间数据库引擎(SDE, Spatial Database Engine),ArcView GIS3.0,NT ARC/INFO和MapObjects。,1.1.1 Arc/INFO子系统(1/2),Arc/

3、INFO由多个子系统构成,分别提供不同的功能。 1) Arc Arc是GIS总体管理工具,它不是图形化模块,下列为ARC的一些主要用途: a)生成和管理数据库中的Coverage; b)从其它数字格式转化数据; c)在一个或多个Coverage中处理空间和属性数据; d)创建Coverage间新的数据关系。 2) ArcTools ArcTools是基于AML的工具集,通过容易使用的图形用户界面实现,具有常用的ARC/INFO操作和功能。 3) TABLES TABLES是用INFO文件来创建、存储、编辑和查询表列数据的表格管理系统。,1.1.1 Arc/INFO子系统(2/2),4) 图库

4、Arc/INFO Librarian 软件是地理数据管理系统,提供创建和管理地图库的工具。 5) ArcPlot ArcPlot是地图显示和查询的图形模块,使用方法是: a)显示和查询一个或多个Coverage的空间和属性数据; b)创建屏幕显示和地图,以及生成绘图文件。 6) ArcEdit ArcEdit是交互图形编辑器,用于数字化和编辑Coverage和纠正空间、属性数据的错误。 (7) AML AML软件提供完整的编程能力和创作用户应用界面的一套工具。它具有独立的解释器,可以:a)用交互或程序的方式在任何子系统中使用AML指令和函数;b)建立ARC/INFO命令集程序,创建屏幕菜单。,

5、1.1.2 系统目录介绍,Atool 存放ESRI编制的AML; DataBase存放支持Database Inteerator的文件 DigForm存放数字化接口文件 Fonts 存放文本文字体文件 Help 存放所有Arc/Info联机帮助文件 INFOSYS存放Info数据库软件 LIB 存放Arc/Info的库文件 Menu 存放菜单文件 Plotters存放所有支持绘图的格式文件和绘图文件 Programs存放Arc/INFO的可执行程序 Samples演示文件及其Aml宏程序 Startup 包括标准Arc, ArcPlot和ArcEdit初始化宏 Station 存放工作站初始化

6、宏称站文件(Station File) Symbol 存放标准符号设置文件及模板 Sysgen包含加密码,批处理及绘图队列信息 Tables存放Librarian所建立的图库的名称及路径 Terminatals存储终端设备的格式预定义文件 Template 存储Coverage,INFO和用户工作空间的模板 UTOOL 存储用户自定义工具文件以替代某些程序,1.1.3 Arc/INFO基本文件介绍,后缀名文件类型 后缀名文件类型 AmlAml文件 Pat多边形-弧段表 Gra绘图文件 Pat点,多边形属性表 Prj投影文件 Aat弧段属性表 Key图例文件 Nat结点属性表 Wat命令监看文件

7、 Rat路径属性表 Lut查找表 Sec段属性表 Tat注记属性表,1.2 Coverage,Coverage 是Arc/Info软件的基本存储单元,它是单一地图层的数字化版本,通常只含一类地图特征,如街道、区、土壤或植被等。Coverage 含有给定区域中特征的位置数据和描述性数据,一个Coverage存为一个目录,其中含有描述特征的位置和属性的相关文件。 每个Coverage代表一片地理区域的数据的单一分类或主题。,1.3 联接特征和属性,Coverage中的每个特征被赋以唯一的数字标识,由唯一的位置(空间数据)和一组属性数据(描述性数据)描述。 Coverage 数据的特点在于它能联结空

8、间数据(位置和拓扑)和属性数据。位置数据描述特征在哪里,拓扑数据描述特征之间的相对位置关系,属性数据描述特征是什么。 标识号coverage 中各个特征唯一的数字既存在于坐标文件中,又存在于属性文件中。这保证了空间数据和属性数据的一一对应。 空间数据与属性数据集成的关键是标识号。,1.4 Arc/Info的工作区间,1 工作区间 2 Info目录 3 规则 4 管理工作区间的命令 5 ArcTools工具,1.4.1 工作空间和INFO数据库,1 工作空间 工作区间是Arc/Info进程所用的工作区域,它提供工作组织的结构。工作空间含有地理数据集,如Coverage、Grid数据、Tin数据、

9、图象和本地INFO数据库。 工作空间所含的地理数据集合以目录和文件的形式存储。 2 INFO 除了地理数据集,Arc/Info工作区间还有一个INFO数据库,存于名为INFO的子目录。INFO数据库存取和管理该工作区间的地理数据集的特征属性表和相关表格。,1.4.3 INFO数据库规则,3 INFO规则 (1) 工作空间是一个包含INFO子目录的目录; (2) 可在有写权的任何目录层下创建工作空间; (3) 每个工作空间可含有零个、一个或多个Coverage; (4) 每个工作空间始终有且仅有一个INFO目录。 (5) INFO目录存储工作空间中所有Coverage的INFO文件。,1.4.4

10、 管理工作区间的命令,可用下列ARC命令来创建和管理工作空间,只需要键入有下划线的部分即可。 COPYWORKSPACE (cpw)把一个工作区间下的内容拷贝到另一个中 CREATEWORKSPACE (cw) 创建一个工作区间 DELETEWORKSPACE (DW)删除指定工作空间中所有文件和目录 LISTWORKSPACE (LW ) 列出当前目录或指定目录下的Arc/INFO工作区间 RENAMEWORKSPACE (RW )重命名一个工作空间 WORKSPACE( 每一个点应该有唯一的标识符; Arc/INFO属性始终在Cover-ID左边 用户定义的属性始终加到Cover-Id的右

11、边。,2.6.2 弧段(ARC)属性(1/2),线性地理特征用弧段特征表示。弧段特征允许定位和描述两点间沿着一条路径的地理信息,而不只是一个点。 1)弧段坐标数据 当向系统中输入弧段时,Arc/INFO记录和存储它们的坐标信息; 中间点,一串x,y坐标对,定义弧段及其形状; 弧段起始和终结于结点; 交叉的弧段以结点连接; 弧段的长度由坐标系定义。 2)弧段限制 每个限制最多有500个中间点,Arc/INFO自动把第500个点转换成结点,并以一个唯一的标识开始一条新的弧段。,2.6.2 弧段(ARC)属性(2/2),3)弧段属性数据 弧段属性表(AAT)是Arc/INFO构建弧段Coverage

12、拓扑关系时创建的特征属性表,它含有7列标准属性数据,称为ITEMS,用户可以把弧段有关的其它描述性数据(属性)增加到AAT中。 Fnode#, Tnode#, Lpoly#, Rpoly#, Length, Cover#, Cover-ID 4)规则 在表中Arc/INFO属性始终出现在Cover-ID左边; 在表中用户定义的属性被加到Cover-ID右边; 对于含有弧段拓扑但没有多边形拓扑的Coverage, Lpoly#和Rpoly#值始终为0。,2.6.3 结点(NODE)属性,结点是独特的特征类型,除作为弧段的端点外,结点还用来表示弧段的交叉点。始结点是弧段的第一个端点,终结点是最后一

13、个端点,它们合起来定义了弧段的方向。 1)结点坐标数据 当弧段输入Arc/INFO时,系统就记录并存储了其结点的坐标信息;一个x,y坐标对确定一个结点,并且存储在Arc文件中作为第一个和最后一个点;Arc/INFO自动将任一一条弧段的弧号作为结点标识符以建立同其坐标的联系;如果有多条弧共用一个结点,使用具有最小内部号码的弧段号标识结点。 2)结点属性表 结点属性表(NAT)是Arc/INFO构造结点Coverage拓扑关系时创建的特征属性表,它含有三列标准属性数据,称为ITEMS,用户可以将其它描述性数据增加到NAT中。 ARC -相交于该结点的一条弧段的内部号码; COVER# COVER-

14、ID,2.6.4 多边形(POLYGONS)属性(1/2),多边形表示具有封闭边界的同质区域的地理特征。 1)多边形坐标数据 Arc/INFO以弧段(Arc文件)和标识点(Lab文件)来记录和存储多边形的坐标信息; 多边形标识码,以Label点形式输入,它同封闭多边形的弧段标识符相联系(存储为PAL文件),而弧段又进而同坐标数据相联系; 一条或多条弧段构成了多边形的边界,位于多边形内部的唯一的标识点(Label Point)用来表示该多边形。 2)多边形属性数据 多边形属性表(PAT)是Arc/INFO构建多边形 Coverage拓扑关系时创建的特征属性表,它含有4列标准属性数据,用户可以把与

15、多边形相关的描述性数据增加到PAT中。 Area Perimeter Cover# Cover-ID,2.6.4 多边形(POLYGONS)属性(2/2),3)外多边形 PAT中的第一个记录表示一个特殊的多边形-Coveragez之外的区域外多边形。其特点是: AreaCoverage中所有多边形面积总和的负数; PerimeterCoverage的边界多边形周长 Cover#内部特征号始终为1(RecNO为1) Cover-ID用户定义的特征标识。 4)规则 点和多边形不能存储在同一Coverag中,因为它们使用同一模板; 每一个多边形必须有且仅有一个标识点 个标识点应该具有唯一的标识 Ar

16、c/INFO属性始终在Cover-ID左边,用户属性始终在每一右边。,2.7 拓扑:定义空间关系,拓扑:定义空间关系 1 弧段结点的拓扑结构 2 多边形弧段拓扑结构,2.7 拓扑:定义空间关系,我们已经知道Arc/INFO如何用点、弧、多边形等特征来表示地理特征的,现在来看拓扑是如何定义这些特征间的空间关系的。拓扑是一种确定空间特征及其相互关系的数学方法。包括: 多边形面积; 弧段的连通性; 弧段的方向; 弧段的长度; 多边形的邻接性。 拓扑使用空间关系来定义空间特性: 空间关系 空间特性 每条弧都有起止结点 弧段长和方向 弧段以结点相连 连通性 相互联结的弧段构成多边形边界 多边形面积和周长

17、 每条弧段都有左右多边形 邻接性,2.7.1 弧段结点的拓扑结构,弧段与结点之间的关系由弧段结点拓扑来表示的,它定义了弧段的长度、方向和连通性等。地理分析以这些特性为基础。 1)始结点和终结点 始结点是弧段的起点,终结点是弧段的终点,它们在数字化的时候就确定了。只有在对方向性有要求时才很重要。 2)长度 弧长是以始结点到终结点进行计算得济,采用Coverage的单位度量。 3)方向性 弧的方向是从始结点到终结点的。 4)连通性 如果弧段共用一个结点,那么它们是连通的。,2.7.2 多边形弧段拓扑结构,多边形-弧段拓扑表达了弧与其围成的多边形之间的关系,由此定义了面积和邻接性,地理分析是基于这些

18、特性的。 1)面积定义 由一个或多个弧段围成的闭合区域确定了多边形的面积 2)邻接性 如果二个多边形共用一条弧,那么它们是相邻关系,Arc/INFO将左多边形(Lpoly#)和右多边形(Rpoly#)编号并存储。所以一个多边形可以是一条弧的左多边形,同时有时另一条弧的右多边形。 判断左右多边形的依据是沿着弧段的方向来确定的。 3)外多边形 当Arc/INFO建立多边形弧段拓扑关系时,总是建立一个外多边形来表示Coverage之外的区域。Coverage中所有多边形最外围的弧段定义了外多边形的范围。,第二章 练习(1/2),主要练习手工建立拓扑关系 1 下图中有7个结点和6条弧段,填写下表,列出

19、所有弧段的起始结点,注意一条或多条弧可共用一个结点.没有弧段,结点就没有存在的意义,这个表定义了方向性。请列出由结点F到结点A的最短路径的组成弧段及每条弧段的方向性,用表示正向,表示逆向通过的弧段。,第二章 练习(2/2),2 手工建立多边形弧段拓扑关系 通过下图反映多边形邻接性,在第一个表中列出定义每一个多边形的弧段说明及编码,在第二个表中,列出每个弧段的左右多边形,图中箭头表示弧段的方向。,第3章 空间数据操作,数据入库过程 矢量数据转换命令 ARCEDIT编辑流程 建立拓扑关系的两个命令 显示错误命令 编辑修改错误常用命令 数据接边,3.1 数据入库过程,1 数字化 地图数字化是利用AD

20、S或ARCEDIT把地图中的地物要素按顺序转化为X,Y坐标输入到计算机中;在ARC/INFO中,地图要素是按下述方法进行数字化和表示: 点要素:对于点要素,数字化后用Build Point建立属性表; 线要素:一个线要素由一条弧来表示;数字化后用Build Line或Clean Line产生属性表; 面要素:在ARC/INFO中,面要素是按一组弧来数字化,并在每一个多边形内部合适的地方数字化一个标识点(或计算机向动产生),该点必须带有它的用户标识码,然后用Clean Poly来产生多边形的拓扑关系和属性表。 2 错误修改 3 定义要素类型并建立拓扑关系。 4 属性的定义及其输入。 5 检查和修

21、改属性编码错误:,3.2 矢量数据转换命令,1 文本格式转换 2 投影转换 3 转换DXF格式 4 坐标转换 5 WATCH AML 转换 6 Coverage 与标准数据文件相互转换,3.2.1 文本 severity:LongInt; 在OnCreate事件中加入初始化语句: result:=ESRIutil_TLB.costrings.create();,9.2.3 Arc/Info二次开发中应注意的问题(1/4),在进行GIS地理信息系统的二次开发过程中,常常会遇到一些问题,如:信息的返回、单任务执行的冲突等等,下面主要介绍了开发时所会遇到的一些关键问题,探讨解决这些问题的方法。 (1

22、)AML本身的语法问题 (2)程序执行过程中的屏幕回应 (3)Arc/Info中的单任务执行的冲突 (4)Arc/Info中的次级对话框数据的输入 (5)Arc/Info中的次级对话框数据的输入,9.2.3 Arc/Info二次开发中应注意的问题(1/4),(1)AML本身的语法问题 在GIS软件的二次开发的过程中,不管用AML语言和ODE开发环境,还是通过编写在ODE编程环境的应用程序来调用AML程序模块,都涉及到AML本身的语法问题,所以必须对AML语言的语法结构有所了解。AML应该属于高级宏语言,也象其它高级编程语言一样,有自己的语法结构和语法规则,所以必须严格按照AML语言的格式。,9

23、.2.3 Arc/Info二次开发中应注意的问题(2/4),(2)程序执行过程中的屏幕回应 ARC/INFO地理信息系统在处理命令的过程中常常会在窗口返回一些信息或要求你输入更多的数据,而它的ODE开放开发环境中则没有,它不返回任何信息,它只提供了几种返回信息的手段,必须充分利用这些手段,进行可视化程序设计。如在AML语言环境下显示COVERAGE数据landuse.pat的命令为: Arc:List landuse.pat 所有的结果将会显示出来,而换一种方式,采用ODE来编程,假设所使用的控件名称为ccArcPlot,命令可写为: ccArcPlot.Command(list landus

24、e.pat,result); 屏幕上将什么也看不到,因为ARC/INFO的ODE开放开发环境中将所有的输出结果保存到了类型为strings的result中了,可以通过对result进行操作,就可以的到所需要的信息,如: for I:=0 to result.count-1 do MsgWin.Lines.Add(result.item(i); 将会在MsgWin窗口中显示所有的输出信息(其中MsgWin是Delphi的Memo类型的控件)。,9.2.3 Arc/Info二次开发中应注意的问题(3/4),(3)Arc/Info中的单任务执行的冲突 ARC/INFO不支持多任务操作,即,在ARC/

25、INFO ODE编程中,只能在执行完一个任务后才能开始下一个任务的执行。假如在程序设计中同时发送多个任务给ARC/INFO,将会得到错误信息: Reentrance is not surported in Command method 解决这一冲突的办法,就是在程序正在执行前将其它命令屏蔽,一般可视化编程语言中的控件都有Enabled属性,屏蔽命令时将它的值赋为False即可。当然,任务执行完后还要将它们恢复。 (4)Arc/Info中的次级对话框数据的输入 因为ODE编制的应用程序在执行时不返回任何信息,也不能输入任何数据,这给程序设计带来许多的不便,特别是在该命令要求输入数据的时候,却没有

26、任何提示信息,也不能输入任何数据时候。解决这一问题的方法是充分利用ODE开发环境提供的PushString函数,它是将要输入的数据按顺序压入堆栈中,然后在系统需要参数时再从堆栈中提取数据,即在使用有次级对话框的命令时,需要先使用PushString函数将所需要输入的数据按顺序放入堆栈中即可。,9.2.3 Arc/Info二次开发中应注意的问题(4/4),(5)Arc/Info中的次级对话框数据的输入 ccAPlot.PutString(D:tj01923f); ccAPlot.PutString(D:tj01924f); ccAPlot.PutString(D:tj01925f); ccAPl

27、ot.PutString(End); ccAPmand(APPEND d:tt1 LINE NONE,result);,1.使用的控件为:ArcPlot 2.使用到的数据为湖南省各县市的土地统计数据。 2.所使用的数据库为SQL,通过关键字LndCode 与Arc/Info的Info数据库相连。 3.实现的功能: 图层的基本功能:放大、缩小、移动、查询(按点、面),其中查询包括以图查文,以文查图。 用到SQL查询。,下面通过一个实例来具体介绍如何用Arc/Info开发,命令输入栏,信息栏,图层显示区,功能按钮,系统初始化 ArcPlot, CmdDrawIt,Var . Results:str

28、ings; severity:LongInt; /= /数据查询模块中表单的建立 /- procedure TPlotWin.FormCreate(Sender: TObject); begin Results:=ESRIutil_TLB.costrings.create(); ccDataPath:=D:PlotDemo; ccSelCovName:=ccDataPath+bound; end;,1.系统初始化,/= /ARCPLOT 命令过程 /- procedure TPlotWin.CmdPlot(Cmd:string); var i:integer; begin Results.Clear; Msg(1,AP=+Cmd); Severity:=APlot.Command(Cmd,results); for i:=0 to results.Count -1 do Msg(2,Results.item(i); end;,2.自定义AcrPlot函数,/= /CmdDrawIt 画图 /- procedure TPlotWin.CmdDrawit; begin CmdPlot(clear); MapSetExtentWhenZoom; CmdPl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论