ARCINFO培训教程.ppt

上传人:汽*** 文档编号:567688943 上传时间:2024-07-22 格式:PPT 页数:177 大小:1.32MB
返回 下载 相关 举报
ARCINFO培训教程.ppt_第1页
第1页 / 共177页
ARCINFO培训教程.ppt_第2页
第2页 / 共177页
ARCINFO培训教程.ppt_第3页
第3页 / 共177页
ARCINFO培训教程.ppt_第4页
第4页 / 共177页
ARCINFO培训教程.ppt_第5页
第5页 / 共177页
点击查看更多>>
资源描述

《ARCINFO培训教程.ppt》由会员分享,可在线阅读,更多相关《ARCINFO培训教程.ppt(177页珍藏版)》请在金锄头文库上搜索。

1、中南大学资源环境与建筑工程学院中南大学资源环境与建筑工程学院 邱冬生邱冬生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系统介绍1

2、 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/IN

3、FO由多个子系统构成,分别提供不同的功能。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) 图库 Arc/

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

5、目录介绍系统目录介绍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 存放工作站初始化宏称站文件(Station F

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

7、性表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数据、图象和本地INFO数据库。

9、 工作空间所含的地理数据集合以目录和文件的形式存储。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(&WORKSPACE) (W/&WO) 列出当前工作空间的目录或换到指定工作空间目录 不能用操作系统命令来管理工作空间1.4.5 ArcTo

11、ols工具工具 工作空间可由ArcTools工具箱通过使用工作空间或工作空间管理工具来处理。在任何一个主ArcTools工具箱(地图工具、编辑工具等)的ArcTools下拉菜单中均可访问这两个工具。1.5 地理数据库地理数据库 地理数据库是GIS的核心,其完整性和精确度影响到它所支持的所有应用。地理数据库有两个要素空间数据和属性数据。为了提高效率,不同类型数据以不同的结构存储,它们通过存储于属性数据和空间数据中的唯一数字标识来联结。 属性数据存于表格中,由RDBMS管理; 空间数据存于文件中,由GIS软件管理。 地理特征以层或信息主题的形式组织。例如,一幅底图可以组织成主题,如行政边界、河流、

12、水体、道路、等高线和控制点。 特征可根据其含义来组织(河流和道路都是线性特征,但由于其属性不同可能会存于不同的层中)。1.6 Arc/INFO操作方式操作方式 Arc/INFO可以有很多种不同的模式来操作。可以在程序提示命令下输入命令,可以运行含有Arc/INFO命令的AML程序,还可以用菜单驱动的ArcTools界面来执行普通的Arc/INFO操作,以及通过用户开发的GIS应用程序。 1 命令 可以在程序提示符下发生Arc/INFO命令来执行某一任务,每个命令有一个或多个需要用户输入的参数。 2 AML程序 Arc/INFO命令集可与AML指令、函数和变量结合起来执行一系列Arc/INFO任

13、务。程序运行时可能需要用户的输入。 3 ArcTools ArcTools 为常用的Arc/INFO操作提供易用的菜单界面。可以选择菜单中的选项而在后台运行Arc/INFO程序,不需要输入命令。1.7 Arc/INFO命令命令1 规则2 特殊字符3 命令参数说明4 常用的几个命令 Arc/INFO命令运行的程序执行GIS操作。命令的语法由命令的名字和其必需的与可选的参数定义。通过观察其语法习惯,可以了解它们的使用。1.7.1 Arc/INFO命令命令规则规则&特殊特殊字符字符1 规则 a)把命令与其后续参数用至少一个空格分开; b)命令行以命令名打头,如果由于缺少参数而导致命令失败必须重新输入

14、整个命令行。2 特殊字符 a)跳过可选参数时用号代替,使系统用缺省值来代替。 b)可用鼠标或光标在屏幕上用 * 号拾取或定位一个特征。这种技术比使用明确的坐标(即*|x y)来指定位置更常用。1.7.3 Arc/INFO命令命令参数参数说明说明 Command 第一参数 第二个参数 第n个参数 or COVER 必要参数与可选参数 必要参数之间用”|”隔开 POLY|LINE|POINT 在可选参数里面,第一个参数是缺省参数 # 可用来替换可选参数 * 提示从鼠标输入坐标 如: ArcPlot: Identify Item item Arc: Clean OutCoverdangle_leng

15、thfuzzy_tolerancePOLY|LINE1.7.4 常用的几个命令常用的几个命令1 &Echo 命令 格式:&Echo 用于了解AML程序的执行过程。2 WATCH文件 WATCH文件用于记录Arc/INFO的操作。用户输入的所有内容都将记录在Watch文件中,其中指令内容被括在“| * *|”中。WACTH文件在查找AML程序的错误时很有用。不过每一次只能打开一个Watch文件,如果打开第二个Watch文件,则自动关闭第一个。 用法:&Watch &Append&commands&Coordinates &Watch &Append向已有文件添加内容,否则删除原文件建立新的文件。

16、 &Commands说明Watch文件记录菜单或程序发出的命令 &Coordinates说明Watch文件记录用户输入的坐标; &Off关闭当前Watch文件 &Display将当前Watch文件名显示在屏幕上。3 将WATCH文件转换为AML程序 格式: &Conv_Watch_TO_Aml &Coordinates &CWTA &Coordinates1.8 获取帮助获取帮助1 用法注释2 USAGE命令3 命令列表4 HELP 命令1.8 获取帮助获取帮助(1/2)获取帮助的方法有很多。1 用法注释 显示用法注释最简单的方法就是键入不带任何参数的命令名,然后敲会车键。这种方法有时候是最危

17、险的,因为有一些命令是不带任何参数的。可以用USAGE命令来避免这种情况。 Arc:BUILD Usage: BUILD coverPOLY|LINE|POINT|NODE2 USAGE命令 USAGE命令可以用来显示用法注释 Arc: USAGE Arc:Usage Build Usage: BUILD Map Tools=OK=ArcTools=选择WorkSpace=设定工作区间2 在ARCPLOT环境中显示数据层(数据层Bnd,颜色:Red)3 在ArcTools Map工具集下实现此功能 ArcTools =Map Tools=OK= View=New= Coverage= Poly

18、= POLY主题属性窗口=设置属性=显示=保存视图=.退出ArcTools窗口4 练习使用Wacth文件创建AML程序ArcPlot:&watch aa.watArcPlot: Display 9999 3 : Mape Bnd : Linecolor red : Arcs Bnd : &Watch &off : &CWTA aa.wat aa.aml : &r aa.Aml第第2章章 Coverage数据类型数据类型合格的Coverage要求管理CoverageCoverage特征特征属性表记录和特征标识特征类型介绍拓扑:定义空间关系2.1 合格的合格的Coverage要求要求 1 每一个C

19、overage都包含有正确的拓扑关系; 2 所有要素的坐标位置均已得到校正; 3 存在要素的属性表(PAT或AAT); 4 具有正确的属性数据; 5 存在至少四个控制点数据。 2.2 管理管理Coverage Copy 拷贝Cover KILL 删除 RENAME 改名 ListCoverages 或LC 查看 Describe Coverage描述 LOG 历史记录 LIST 查看INFO表2.3 Coverage特征特征1 特征类型 Arc/INFO软件使用点、线和面特征表示现实世界的现象 (1)点(POINT): 点特征,单个x,y位置,如井、建筑物; (2)弧段(ARC) : 线性特征

20、,一串x,y位置,如街道、河流、公用设施线; (3)结点(NODE: 在弧段交叉点处的一个x,y位置,如红绿灯、入口; (4)多边形(POLYGON) : 面状特征由边界围起来同性质的区域,如城区等。2 扩展特征类型 Arc/INFO支持由一组弧段和多边形组成的复杂特征类型。 (1)路径系统(Routine):由弧段组成的线性特征且具有线性量度系统如运输路径; (2)地区(Region):由一个或多个多边形组成的区域特征,如野生动物活动; (3)注记(Annotation):与其它地理特征相关联的描述性文本,如街道名、河流。2.4 特征属性表特征属性表 当Arc/INFO建立Coverage拓

21、扑时,定义拓扑和几何特征并存储在称为特征属性表(FAT)的文件中。根据特征的类型,特征属性表的内容会有所不同,但也具有一些共同的特征。特征属性表都是INFO数据文件;Coverage中的每个特征在特征属性表中占有一个记录或一行数据;一组空间数据可以拥有多于一个特征属性表。如一个Coverage中可以有多边形和弧段属性 特征类型 特征属性表=(1)点(POINT) .Pat(2)线(ARC) .Aat(3)结点(NODE) .Nat(4)多边形(POLYGON).Pat2.5 记录和特征标识记录和特征标识 特征属性表中的每一个记录包括:记录号(RecNo);特征唯一的号码,称为Cover#(由A

22、rc分配);以及另外一个称为Cover-ID的特征标识号(由用户分配)。 Cover始终与其相应的Coverage名项匹配。例如:如果你的Coverage名为land,那么Cover#和Cover-ID将为Land#和Land-ID。1 记录号(RecNo) RecNo是分配给任何INFO数据文件的每行数据的内部记录号,特征属性表也不例外。 RecNo是唯一的行标识,是数据库查询的有效项,特征属性表中的RecNo和Cover#的值始终相符。2 Cover# Arc/INFO分配Cover#。它是用作特征标识的唯一的号码。每个特征的值从1开始,以步长1顺序增长,每次当Coverage中增加或删除

23、数据时值改变,值始终与特征属性表中的记录号(RecNo)相符。3 Cover-ID 用户可以定义和分配Cover-ID,因为它是特征标识符,所以必须是唯一的号码。其值通常是基于一种编码方案,其值可以为任何正数,其值在Coverage增加或删除数据时不变,其值不须有序,但是必须唯一。2.6 特征类型介绍特征类型介绍1 点属性2 弧段(ARC)属性3 结点(NODE)属性4 多边形(POLYGONS)属性2.6.1 点属性点属性(1/2) 可以抽象为单一位置或事件的地理特征可用点特征表示。 1)点坐标数据 当点输入到系统中时,Arc/INFO记录和存储点的坐标信息。坐标文件有ArcEdit来维护,

24、不能用属性表管理命令来编辑和显示。 一对x,y坐标定义一个点; 点没有长度和面。 2)点属性数据 点属性表(Pat)是建立点Coverage拓扑关系时建立由Arc/INFO创建的特征属性表,它含有四列标准的属性数据,称为Items。用户可以把其它有关属性增加到Pat表中。 点和多边形属性表都称为Pat,且具有相同的格式。然而,它们很容易区分的:点属性表的Area和Perimeter项始终为零值。2.6.1 点属性点属性(2/2)3)标准项 Area, Perimeter, Cover#, Cover-ID 4)规则 点和多边形特征不能存储在同一Coverage 中,因为它们使用同一模板。 点C

25、overage中的Area和Perimeterd的值始终为0; 每一个点应该有唯一的标识符; Arc/INFO属性始终在Cover-ID左边 用户定义的属性始终加到Cover-Id的右边。2.6.2 弧段(弧段(ARC)属性属性(1/2) 线性地理特征用弧段特征表示。弧段特征允许定位和描述两点间沿着一条路径的地理信息,而不只是一个点。 1)弧段坐标数据 当向系统中输入弧段时,Arc/INFO记录和存储它们的坐标信息; 中间点,一串x,y坐标对,定义弧段及其形状; 弧段起始和终结于结点; 交叉的弧段以结点连接; 弧段的长度由坐标系定义。 2)弧段限制 每个限制最多有500个中间点,Arc/INF

26、O自动把第500个点转换成结点,并以一个唯一的标识开始一条新的弧段。 2.6.2 弧段(弧段(ARC)属性属性(2/2)3)弧段属性数据 弧段属性表(AAT)是Arc/INFO构建弧段Coverage拓扑关系时创建的特征属性表,它含有7列标准属性数据,称为ITEMS,用户可以把弧段有关的其它描述性数据(属性)增加到AAT中。 Fnode#, Tnode#, Lpoly#, Rpoly#, Length, Cover#, Cover-ID 4)规则 在表中Arc/INFO属性始终出现在Cover-ID左边; 在表中用户定义的属性被加到Cover-ID右边; 对于含有弧段拓扑但没有多边形拓扑的Co

27、verage, Lpoly#和Rpoly#值始终为0。2.6.3 结点(结点(NODE)属性属性 结点是独特的特征类型,除作为弧段的端点外,结点还用来表示弧段的交叉点。始结点是弧段的第一个端点,终结点是最后一个端点,它们合起来定义了弧段的方向。1)结点坐标数据 当弧段输入Arc/INFO时,系统就记录并存储了其结点的坐标信息;一个x,y坐标对确定一个结点,并且存储在Arc文件中作为第一个和最后一个点;Arc/INFO自动将任一一条弧段的弧号作为结点标识符以建立同其坐标的联系;如果有多条弧共用一个结点,使用具有最小内部号码的弧段号标识结点。2)结点属性表 结点属性表(NAT)是Arc/INFO构

28、造结点Coverage拓扑关系时创建的特征属性表,它含有三列标准属性数据,称为ITEMS,用户可以将其它描述性数据增加到NAT中。 ARC -相交于该结点的一条弧段的内部号码; COVER# COVER-ID2.6.4 多边形(多边形(POLYGONS)属性属性(1/2) 多边形表示具有封闭边界的同质区域的地理特征。 1)多边形坐标数据 Arc/INFO以弧段(Arc文件)和标识点(Lab文件)来记录和存储多边形的坐标信息; 多边形标识码,以Label点形式输入,它同封闭多边形的弧段标识符相联系(存储为PAL文件),而弧段又进而同坐标数据相联系; 一条或多条弧段构成了多边形的边界,位于多边形内

29、部的唯一的标识点(Label Point)用来表示该多边形。 2)多边形属性数据 多边形属性表(PAT)是Arc/INFO构建多边形 Coverage拓扑关系时创建的特征属性表,它含有4列标准属性数据,用户可以把与多边形相关的描述性数据增加到PAT中。 Area Perimeter Cover# Cover-ID2.6.4 多边形(多边形(POLYGONS)属性属性(2/2)3)外多边形 PAT中的第一个记录表示一个特殊的多边形-Coveragez之外的区域外多边形。其特点是: AreaCoverage中所有多边形面积总和的负数; PerimeterCoverage的边界多边形周长 Cover

30、#内部特征号始终为1(RecNO为1) Cover-ID用户定义的特征标识。 4)规则 点和多边形不能存储在同一Coverag中,因为它们使用同一模板; 每一个多边形必须有且仅有一个标识点 个标识点应该具有唯一的标识 Arc/INFO属性始终在Cover-ID左边,用户属性始终在每一右边。2.7 拓扑:定义空间关系拓扑:定义空间关系拓扑:定义空间关系1 弧段结点的拓扑结构2 多边形弧段拓扑结构2.7 拓扑:定义空间关系拓扑:定义空间关系 我们已经知道Arc/INFO如何用点、弧、多边形等特征来表示地理特征的,现在来看拓扑是如何定义这些特征间的空间关系的。拓扑是一种确定空间特征及其相互关系的数学

31、方法。包括:多边形面积; 弧段的连通性;弧段的方向; 弧段的长度;多边形的邻接性。 拓扑使用空间关系来定义空间特性: 空间关系 空间特性 每条弧都有起止结点 弧段长和方向 弧段以结点相连 连通性 相互联结的弧段构成多边形边界 多边形面积和周长 每条弧段都有左右多边形 邻接性2.7.1 弧段结点的拓扑结构弧段结点的拓扑结构 弧段与结点之间的关系由弧段结点拓扑来表示的,它定义了弧段的长度、方向和连通性等。地理分析以这些特性为基础。1)始结点和终结点 始结点是弧段的起点,终结点是弧段的终点,它们在数字化的时候就确定了。只有在对方向性有要求时才很重要。2)长度 弧长是以始结点到终结点进行计算得济,采用

32、Coverage的单位度量。3)方向性 弧的方向是从始结点到终结点的。4)连通性 如果弧段共用一个结点,那么它们是连通的。 2.7.2 多边形弧段拓扑结构多边形弧段拓扑结构 多边形-弧段拓扑表达了弧与其围成的多边形之间的关系,由此定义了面积和邻接性,地理分析是基于这些特性的。1)面积定义 由一个或多个弧段围成的闭合区域确定了多边形的面积2)邻接性 如果二个多边形共用一条弧,那么它们是相邻关系,Arc/INFO将左多边形(Lpoly#)和右多边形(Rpoly#)编号并存储。所以一个多边形可以是一条弧的左多边形,同时有时另一条弧的右多边形。 判断左右多边形的依据是沿着弧段的方向来确定的。3)外多边

33、形 当Arc/INFO建立多边形弧段拓扑关系时,总是建立一个外多边形来表示Coverage之外的区域。Coverage中所有多边形最外围的弧段定义了外多边形的范围。第二章第二章 练习练习(1/2)主要练习手工建立拓扑关系1 下图中有7个结点和6条弧段,填写下表,列出所有弧段的起始结点,注意一条或多条弧可共用一个结点.没有弧段,结点就没有存在的意义,这个表定义了方向性。请列出由结点F到结点A的最短路径的组成弧段及每条弧段的方向性,用表示正向,表示逆向通过的弧段。第二章第二章 练习练习(2/2)2 手工建立多边形弧段拓扑关系 通过下图反映多边形邻接性,在第一个表中列出定义每一个多边形的弧段说明及编

34、码,在第二个表中,列出每个弧段的左右多边形,图中箭头表示弧段的方向。第第3章章 空间数据操作空间数据操作数据入库过程矢量数据转换命令ARCEDIT编辑流程建立拓扑关系的两个命令显示错误命令编辑修改错误常用命令数据接边3.1 数据入库过程数据入库过程 1 数字化 地图数字化是利用ADS或ARCEDIT把地图中的地物要素按顺序转化为X,Y坐标输入到计算机中;在ARC/INFO中,地图要素是按下述方法进行数字化和表示: 点要素:对于点要素,数字化后用Build Point建立属性表; 线要素:一个线要素由一条弧来表示;数字化后用Build Line或Clean Line产生属性表; 面要素:在ARC

35、/INFO中,面要素是按一组弧来数字化,并在每一个多边形内部合适的地方数字化一个标识点(或计算机向动产生),该点必须带有它的用户标识码,然后用Clean Poly来产生多边形的拓扑关系和属性表。 2 错误修改 3 定义要素类型并建立拓扑关系。 4 属性的定义及其输入。 5 检查和修改属性编码错误: 3.2 矢量数据转换命令矢量数据转换命令1 文本格式转换2 投影转换3 转换DXF格式4 坐标转换5 WATCH AML 转换6 Coverage 与标准数据文件相互转换3.2.1 文本文本&投影投影转换转换1文本格式转换GENERATE 将文本文件(AscII文件)转换为Coverage格式:Ge

36、nerate Generate: INPUT (AscII文件) Generate: TICS (生成TIC点 ) Generate: POLYS (生成多边形) UNGENERATE 将Coverage数据存储成AscII文件2投影转换PROJECT Projection filename Nearest|Bilinear|Cubic3.2.2 DXF、坐标、坐标、Watch文件文件&标准标准数据数据转换转换3 转换DXF格式ARC:DXFINFO Pathname 显示DXF文件层内容ARCPLOT: DXF 显示没有做转换的DXF文件图形ARC: DXFARC 转换DXF数据4坐标转换A

37、RC: TRANSFORM5 WATCH AML 转换 &CWTA 6 Coverage 与标准数据文件相互转换 Export 将Coverage文件转换为标准数据文件 Import 将标准数据文件转换Coverage文件格式:EXPORT NONE | PARTIAL | FULL max_lines IMPORT 3.3 ARCEDIT编辑流程编辑流程(1/2) ARCEDIT命令的主要目的是用于修改现存的coverage文件, 主要步骤: ARCEDIT: Display 9999 3 (微机为4) 指定终端类型 : Create TIC-BND_COVER 建立COVERAGE : E

38、DITCOVERAGE 指定编辑COVER文件名 : DRAWENVIRONMENT 指定显示要素 : EDITFEATURE 指定编辑要素 : BACKCOVERAGE Symbol 指定背景COVER及显示颜色 : BACKENVIRONMENT 指定背景环境 : MAPEXTENT 指定要显示的地理区域 : DRAW 显示COVER特征 : SNAPDISTANCE * 定义结点合并距离 : EDITDISTANCE * 定义选择范围 : WEEDTOLERANCE *|Default|Distnce定义一个弧段两个中间点允许最小距离3.3 ARCEDIT编辑流程编辑流程(2/2) :

39、ARCSNAP ON *|Distance 数字化弧的最后一条线将延长或缩回到在ARCSNA距离内的现有的弧上 : ARCSNAP OFF : NODESNAP Default|*|Distance 指定结合点距离 : DUPLICATEARC 设置ARC是否允许重复 : INTERSECTARCS 相交弧段是否在交叉处生成结点 : ADD 增加特征要素 : SAVE 新文件名 存储 : SAVE 旧文件名新文件名 : SAVE ALL|YES : QUIT 退出3.4 建立拓扑关系的两个命令建立拓扑关系的两个命令(1) BUILD POLY|LINE|POINT|NODES 建立拓扑关系,建

40、立属性表(2) CLEAN DANGLE长度FUZZY长度 建立拓扑关系 其中DANGLE长度 定义了出头弧段的最小长度,长度小于或等于该值的弧段将被删除,缺省值为0,应大于FUZZY长度 FUZZY长度 定义了小于坐标容限值的两个坐标点之间的最小值,该值可以很小,但不能为0,一般取: 比例尺/ Cover单位(化为英尺)*0.023.5 显示错误命令显示错误命令(1)NODEERRORS ALL|DANGLES|PSEUDOS 显示结点错误(2)LABELSERRORS 显示标识点错误(3)INTERSECTERR 交叉错误,将显示交叉弧的内部号及ID码,以及交叉点坐标值在ARCPLOT中显

41、示错误的具体操作:ARC:ARCPLOTARCPLOT: MAPEXTENT 定义显示区域 : LINECOLOR 定义画线颜色 : POLYGONS 显示多边形 : MARKERCOLOR 定义画标识点颜色 : LABELERRORS 显示标识点颜色 : NODECOLOR 定义画结点颜色 : NODEERRORS DANGLE 显示悬挂点错误 : NODECOLOR : NODEERRORS PSEUDO 显示假结错误点 : QUIT3.6 编辑修改错误常用命令编辑修改错误常用命令(1/2)1 选择特征2 修改欠头特征3 修改出头特征4 修改未封闭特征5 修改无Label点多边形3.6 编

42、辑修改错误常用命令编辑修改错误常用命令(2/2)6 修改含有多个Label点的多边形7 修改假结点8 用不同的颜色显示不同值弧段9 圆滑弧段10 弧段移动、拷贝11 图形要素在不同文件间传输3.6.1 选择特征选择特征(1)SELECT ONE|MANY|ALL|OUTLINE|CPNNECT(2)Select Within |PassThru(3)Select For 选择特征(4)RESELECT从当前记录中选择一个子集(5)Aselect 往选择记录中添加新选的记录,无逻辑表达式则选择所有记录(6)Nselect 切换选择与未选择集(即未选上的作为当前选择集)(7)UNSelect 从当

43、前选择集放弃一些选择3.6.2 修改欠头特征修改欠头特征(1/2)1)ArcEdit: EditC 指定要编辑的COVER : DrawE 指定要显示的要素 : Mape * 放大显示 : EF ARC 编辑弧段要素 : SEL LOLY=RPOLY 选择所有未封闭的线 (用此命令该COVER必须执行过BUILD LINE,否则无效) : RESEL LENGTH 选择其中的欠头线,值较大 : Extend 发出命令后将提示输入一个延长距离,该距离应比实际 要连接的距离稍长,所选全部弧段都将延长与最近的 弧段相接.3.6.2 修改欠头特征修改欠头特征(2/2)2)ArcEdit: DrawE

44、Node dangle 显示所有悬挂点(欠头点) : Mape * 放大显示区 : SetDrawSymbol 定义被选择要素显示颜色 : Draw : EF ARC : EDITDISTANCE * 定义选择范围 : SEL 选择欠头点要素连接的弧段(注意不是欠头线) : DrawSel 显示所选的弧段 : SPLIT 分割该弧段 : SNAPDISTANCE * 定义结点合并距离 : EF NODE 定义编辑要素为结点 : MOVE 移动欠头点使之与SPLIT生成的点合并3.6.3 修改出头特征修改出头特征(1/2)1) ArcEdit: Mape * : EF ARC : SetDraw

45、Symbol : Sel BOX 将要修改的出头包含进去 : RESEL Dangle 在BOX中选择出头线或RESEL LENGTH (值) 选择长度小于所给定值的 线,此值一般比较小,用此命令COVER必须进行 了BUILD LINE : DRAWSEL 显示所选择的所有弧段 : DELETE 删除所选的所有弧段 : UNDELETE 若发现删错了用此命令可恢复刚删除的要素 : DRAW重画 : MAPE DEF : SAVE3.6.3 修改出头特征修改出头特征(2/2)2) ArcEdit: EF ARC : SEL LPOLY=RPOLY : RESEL LENGTH (值) 选DAN

46、GLE线 : SETDRAWSYMBOL : DRAWSEL : UNSELECT 选择错误时恢复不选择 : DELETE 确认后删除3.6.4 修改未封闭特征修改未封闭特征1) ArcEdit: DrawE Node Dangle : Mape * : Draw : SnapDistance * : EditDistance * : EF NODE : MOVE 在为封闭多边形两断点合并2) ArcEdit: DrawE Node Dangle : Mape * : Draw : SD * (SnapDistance *) : ED * (EditDistance *) : EF ARC :

47、 ADD 在未封闭多边形两个断点间加一弧段3.6.5 修改无修改无Label点多边形点多边形 修改LABEL错误先在ARC下执行LABELERRORS命令,显示出所有LABEL错误.ArcEdit: EF ARC : SetDrawSymbol : SEL LPOLY_=NID OR RPOL_=NID 选择无LABEL点的多边形 (NID为LABELERRORS中所指出的无LABEL点的多边形ID号) : MAPE * 放大显示需修改的区域 : DRAWSEL : EF LABEL 选择编辑LABEL要素 : ADD 3.6.6 修改含有多个修改含有多个Label点的多边形点的多边形1) A

48、rcEdit: EF ARC : SEL LPOLY_=NID OR RPOL_=NID 选择无LABEL点的多边形 (NID为LABELERRORS中所指出的无LABEL点的多边形ID号) : SetDrawSymbol : MAPE * 放大显示需修改的区域 : DRAWSEL IDS 画出LABEL ID号 : EF LABEL 选择编辑LABEL要素 : SEL MANY 选择多余的LABEL点 : DELETE2) ArcEdit: EF LABEL : SEL #=NID 选择多边形ID号为NID中的所有LABEL点 (为COVER文件名,#为.PAT表中的项) : RESEL M

49、ANY 选择多余的LABEL点 : DRAWSEL 画出所选的LABEL点以确认 : DELETE3.6.7 修改假结点修改假结点 ArcEdit: EF ARC : SEL ALL : UNSPLIT 将编码相同的弧段中间的结点删除 : SEL MANY选择要删除中间点的弧段(最少两条) :CAL $ID=NID附给所选弧段相同的值 : UNSPLIT3.6.8 用不同的颜色显示不同值弧段用不同的颜色显示不同值弧段 ArcEdit: EF ARC : SEL $ID=(值) : CAL $SYMBOL = 重复前两步 : DRAW3.6.9 圆滑弧段圆滑弧段 ARCEDIT: EF ARC

50、: SEL 选择要圆滑的弧段 : GRAIN 给出两点以确定圆滑时两中间点的距离 : SPLINE SPLINE (VERTEX DRAW 可显示出所有弧段所有中间点)3.6.10 弧段移动、拷贝弧段移动、拷贝ARCEDIT: EF ARC : SEL选择要操作的弧段 : MOVE移动 : COPY在指定位置拷贝弧段3.6.11 图形要素在不同文件间传输图形要素在不同文件间传输1)从当前文件中传输到其他文件 ARCEDIT: EDITC 设置当前编辑文件 : EF 选择编辑要素为要传输要素的特征 : SEL FOR 选择要传输的要素 : PUT 传输到2)从其他文件传输到当前文件 ARCEDI

51、T: EDITC 设置当前编辑文件 : EF 选择编辑要素为要传输要素的特征 : GET 从文件中传输到当前文件中 此方法不能条件选择部分要传输要素,若要选择需用方法1,只是要将其他文件设置为当前编辑的文件.3.7 数据接边数据接边1 显示数据2 设置捕捉环境3 加匹配链4 橡皮拉伸 接边操作调整位于接边附近要素的位置,使其准确配准,对两个Coverage进行边界匹配时,只调整一个Coverage的坐标,另一个坐标不变,LINK要素可将相应结点匹配。 接边典型步骤包括:3.7.1 显示数据显示数据ArcEdit: EditCover : DrawEnvironment ARCS NODES L

52、NKS : BackCover : BackEnvironment Arcs Nodes : Draw3.7.2 设置捕捉环境设置捕捉环境 ArcEdit: SnapCover (一般为背景Cover) 设定捕捉COVER : SNAPPING 设定捕捉的最近距离 : SnapFeature Nodes Nodes 设定捕捉要素3.7.3 加匹配链加匹配链 ArcEdit: LinkFeature Nodes Nodes 设置结点匹配链 : EditFeature Link指定编辑要素为LINK : AUTOLINK指定参数自动连接 : ADD or DELETE 连接未连的LINK,去掉错误

53、的LINK屏幕提示: Using the 2 key on the mouse 9 quit,起始点在编辑Coverage上,终点在背景Coverage上3.7.4 橡皮拉伸橡皮拉伸 ArcEdit: AdJust 将匹配的LINK自动连接,调整数据使之与背景COVER接合 : SAVE ARC: BUILD重建拓扑关系第第4章章 属性数据操作属性数据操作Tables1 基本命令 2 主要功能ARC1 在数据文件和属性表之间建立关联2 数据文件与特征属性表的连接3 数据文件结构操作 DBMS背 景 -TABLES和INFO4.1 Tables TABLES是INFO的一个子集,没有SAVE命令

54、,每次修改自动保存,没有联机帮助.4.1.1 Tables基本命令基本命令ADD ITEMITEMAselect Expression NSELECT Calculate =Commands 前缀DEFINE Directory 前缀 *Erase External Data_FileItems All | Item | List | DefineLIST start_record end_record item.itemMOVE TO RELATE RESELECT RESELECT SORTITEMITEMUPDATEITEM ITEMSTOP QUIT SYSTEM Command 4.

55、1.2 Tables主要功能主要功能(1/3) 1)定义新数据文件 ARCEDIT: CREATE INFO Item_Template TABLES: ARC: TABLES Enter Command: DEFINES 1 Item Name: Item Width: Item Output width: Item Type: Item: ENTER Command:Q Stop 数据项类型主要有:C-字符型 N-数字小数型 D-日期型 B-二进制整型 I- 数字整型 F-二进制浮点型 2)验证数据项定义 TABLES: ITEMS 显示数据项定义 : ERASE 删除文件4.1.2 Ta

56、bles主要功能主要功能(2/3) 3)添加属性值 ArcEdit: Edit INFO Tables: ADD item.item 默认从键盘输入数据到指定文件中 : ADD item.item FROM ASCII_file 从现有的文本文件中添加属性数据,文本文件中数据以空格或”,”隔开 4)校验属性值TABLES: LIST 显示数据记录 : UPDATE 修改记录 Enter Record Number: EDIT: = 字符型数据加单引号 EDIT: Enter Record Number:4.1.2 Tables主要功能主要功能(3/3) 5)编辑属性值 TABLES: UPDA

57、TE : CALCULATE 编辑数值型数据项 : MOVE 编辑字符型数据项ARCEDIT: UPDATE : CALCULATE 编辑数值型数据项 : MOVEITEM 编辑字符型数据项 基本操作符: EQ = 等于 GT 大于 GE = 大于等于 LT 小于 LE = 小于等于 NE 不等于 CN包含 (只用于字符型) IN 在中LK *4.2.1 数据文件和属性表之间建立关联数据文件和属性表之间建立关联 (1/2)ARC:RELATE INFO_FILE|Relate ADD -在当前关联环境中增添一个新关联,覆盖同名的现存关联,并可用来改变关联定义 DROP-从当前关联环境中删除一个

58、关联 LIST -显示当前关联环境中所有的关联 SAVE -存储当前关联中至关联文件中,需加INFO_File选项 RESTORE 从INFO_FILE文件中恢复一个关联4.2.1 数据文件和属性表之间建立关联数据文件和属性表之间建立关联(2/2) ARC: Relate ADD Relation name: 用来标识关联的名字 Table identifier: 关联所连接的数据文件名(INFO或其它DBMS名) Database name: 关联数据文件所在的数据库(INFO ,ORACLE) INFO Item: Tables 文件中与关联相对应的项名 Relate column: 关联

59、数据文件中与INFO数据项对应的列 Relate Type: 指定匹配记录搜索方式(LINEAR,ORDERED,LINK,TABLE).其它支持DBMS 数据文件用FIRST Relate access: 关联存取权(RO,RW) (在执行Relate add或Relate drop 后,只有执行relate save 命令才能够更新关联文件) 关联环境使用 形式: 关联名1/关联名2/./数据项名4.2.2 数据文件与特征属性表的连接数据文件与特征属性表的连接ARC: JOINITEM LINEAR|ORDERED|LIND 其中为两个关联文件的公共项 为联接文件中的数据项插入到此项后,

60、不能是COVER-ID左侧的数据项, 否则会造成标准项混合.4.2.3 数据文件结构操作数据文件结构操作ARC: ADDITEM decimal_Places Start_Item 添加数据项,此命令用来修改数据项宽度过小的数据项,先添加一个较大的数据数据项, 然后将小数据项值赋给大数据项. : DropItem DROP_ITEM删除一个数据项 : PULLITEMS IN_INFO_FILE 从现有文件中提取一个或多个数据项生成新文件,当附加属性不再有用 时 ,从 特 征 属 性 表 中 提 取 标 准 数 据 项 时 该 命 令 很 有 用 ,这 时 输入输出文件应该相同。第第5章章 数

61、据显示和制图数据显示和制图视图显示的基本步骤绘图文件的保存及编辑在ArcPlot中使用符号体系用符号显示地理特征的命令地图制作5.1 视图显示的基本步骤视图显示的基本步骤(1/2) 利用ARC/INO和系统的Arcplot或Arcview可对城市的各种基础地图信息和专题信息进行显示和处理。 1 设置显示环境:Arcplot: Display ;Terminal ; 2 定义制图环境: MAPEEXTENT定义图形范围; MAPUNIT定义图形单位; PAGEunit 定义图纸单位; Mapscale 定义地图比例尺; MapAngle定义图形旋转角度; Symbolset定义图形符号库。5.1

62、 视图显示的基本步骤视图显示的基本步骤(2/2)3 显示地图要素: 1)若要显示弧段要素: 命令:linesymbols、linecolor、linesize、Arcs、Arcline、Arctext 2)若 要 显 示 多 边 形 要 素 : 命 令 : Shadesymbols、 Shadecolor、Shadepattern、Polygons、 Polygnshades、Polygontext、Labelerrors 3)若 要 显 示 点 状 要 素 , 命 令 : Markersymbols、 Markercolor、Markersize、Markerfont、 Points、Lab

63、elmarkers 4)若要显示注记要素,命令:Annotext 5)若要显示节点要素,命令:Nodes、Nodeerrors 4 图名和标注: 在ARCPLOT中利用如下命令可进行图形标注和修饰: Move、Testsymbol、Textsize、Textcolor、Textfont(850011,850021,850031,850041为汉字)、Text加标注、Lines加线、Draws加线段、Markers加符号、Box加矩形框、Circle加圆。 5 图例制作5.2 绘图文件的保存及编辑绘图文件的保存及编辑 通过ARCPLOT的交互式地图制作器,通过定位和缩放地图图件,可以容易地建立高

64、质量的地图;当在屏幕上设计了一个所期望得到的一个地图时,它可以自动地把它保存下来并可送达绘图机上输出; 在ARCPLOT中,命令MAP和MAP END之间所有的绘图命令都将保存在“图形名”的目录中,而且每个指令都作为一个绘图元素存贮之;这些元素可通过如下的命令进行各种各样的操作。5.3 在在ArcPlot中使用符号体系中使用符号体系1 ArcPlot提供的符号类型2 符号集文件3 设置符号特征4 颜色设置5 生成制图要素的图形元素命令5.3.1 ArcPlot提供的符号类型提供的符号类型SHADE 填充多边形LINE 显示线或生成图廓MARKER 显示点,结点或任一点(X,Y)的位置TEXT

65、显示图上各种符类型的注记或说明文字5.3.2 符号集文件符号集文件(1/2)一个文件可存放999个符号(25个4中不通颜色的符号)SymbolSet 将4中符号类型设置为同一符号集TextSet Color.txtMarkerSet Color.MrkLineSet Color.LINShadeSet Color.Shd以上四条命令等同于SYMBOLSET COLOR可以设置不通符号集,各类型同时只能使用一个符号集建立子自己的符号集,使用TEXTEDITMARKEREDITLINESETSHADEEDIT5.3.2 符号集文件符号集文件(2/2)* ARC/INFO 版所包含的符号集如下 类型

66、 文本 点符号 线符号 面符号缺 省符号集 PLOTTER.TXT PLOTTER.MARK PLOTTER.LIN PLOTTER.SHD 用户符号集 BW.TXT BW.MARK B W.LIN BW.SHD COLOR.TXT COLOR.MRK COLOR.LIN COLOR.SHD CARTO.TXT EDGEBW.MRK CARTO.LIN CARTO.SHD EDGECCOLOR.MRK EDGEBW.LIN MINERAL.MRK EDGECOLOR.LIN MUNICIPAL.MRK OILGAS.LIN OILGAS.MRK USGS.MRK WATER.MRK 5.3.3

67、 设置符号特征设置符号特征 包括符号大小、颜色、角度、比例和其它特征 1)改变当前符号命令 LINESYMBOL (符号号码) MARKERSYMBOL(符号号码) SHADESYMBOL (符号号码) TEXTSYMBOL (符号号码) 2)设置文本特征 大小:Symbolscale、TextScale、TextSize 放置:TextAngle、TextJustification、TextOffset 外观:TextColor、TextFont、Textprecision、TextSpline、TextSlant、 TextFit、 TextFit、 TextQuality、 TextSp

68、acing、TextStyle5.3.4 颜色设置颜色设置 LINECOLOR 颜色 MARKCOLOR 颜色 SHADECOLOR 颜色 TEXTCOLOR 颜色 * 0-黑色 1-白色 2-红色 3-绿色 4-蓝色 5-青色 6-品红 7-黄色5.3.5 生成制图要素的图形元素命令生成制图要素的图形元素命令LINE 画线 BOX 指定图框两个对角画矩形 CIRCLE 指定圆心、半径画圆 PATCH 指定填充范围,用设置的符号填充矩形 SHADE 填充 SPOT 指定圆心、半径用指定的符号填充圆 MARKER 指定图符显示位置 TEXT 指定显示的文本,有空格的文本须用单引号括起来 TEXT

69、FILE 指定文本文件 MOVE 设置文本起始位置,使用TEXT和TEXTFILE时必须先指定位置 具体步骤如下 1)设置符号文件 2)设置符号特征 3)颜色设置 4)用生成图素命令产生图素 5)设置文本文件5.4 用符号显示地理特征的命令用符号显示地理特征的命令1 用当前符号来画COVERAGE2 用当前符号来画COVERAGE特征3 用指定的符号画地理特征4 利用查找表显示属性值5 文本的定位6 生成图例5.4.1 用当前符号来画用当前符号来画COVERAGE属性只可存储在属性表或查找表中FEATUREDRAWING LABELING SHADINGARC ARCS ARCLINES AR

70、CTEXT ARCSPOTPOINT POINTS POINTMARKERS POINTTEXT POINTSPOT POLYGONPOLYGONS LABELS POLYGONSHADES POLYGONLINES POLYGONTEXT POLYGONSPOT LABELTEXT LABELSPOTNODE NODES NODEMARKERS NODETEXTROUTE ROUTES ROUTELINES ROUTETEXTSECTIONSECTIONS SECTIONLINES SECTIONTEXT5.4.2 用当前符号来画用当前符号来画COVERAGE特征特征属性只可存储在属性表或查

71、找表中 特征 MARKERSLINES当前命令LABELSARCS NODESPOLYGONSPOINTSROUTESTICS SECTIONS5.4.3用指定的符号画地理特征用指定的符号画地理特征 ARCPLOT:LINESYMBOL符号号码 :ARCS 等效于ARCLINES符号号码 具体命令如下: 点命令: MARKERS、 LABELMARKERS、 POINTMARKERS、 NODEMARKERS 线命令:LINES、 ARCLINES、POLYGONLINES 、ROUTELINES、SECTIONLINES 面命令:SHADES、POLYGONSHADES指定符号的方法:1)直

72、接用符号号码指定 如:POLYGONSHADESSYMBOL2) 用PAT表中的数据项属性值来指定 如:POLYGONSHADESITEM3)用查找表指定 如:POLYGONSHADESITEMLOOKUP_TABLE 其中ITEM是指与查找表相关联的数据项5.4.4 利用查找表显示属性值利用查找表显示属性值(1/2)1)查找表的符号号码必须存在SYMBOL数据项中 2)用查找表来注记,必须有名为LABEL的数据项 例:LU.PAT与LU.LUT关联 LU.PAT LU.LUT#IDLU-CODELU-CODE SYMBOLLABEL110101 101 25BAYI STREET220125

73、 125 57STORAGE SHEDS下表的任一个命令均用当前文本符号进行注记(1)标记点 POINT IDS显示点及其USER-ID PIONTTEXT 显示PAT表中数据项值或与之相关联的查找表LABEL值 (2)标记弧 ARCS IDS显示弧及其USER-ID ARCTEXT显示AAT表中数据项值或与之相关联的查找表LABEL值5.4.4 利用查找表显示属性值利用查找表显示属性值(2/2)(3)标记多边形 LABELS IDS 标记点及USER-ID LABELTEXT 显示PAT表中数据项值或与之相关联的查找表LABEL值 POLYGONTEXT同上(4)标记控制点 TICS IDS

74、显示控制点及USER-ID TICTEXT显示TIC表中数据项值或与之相关联的查找表LABEL值(5)标记节点 NODES IDS显示控制点及USER-ID NODETEXT显示NAT表中数据项值或与之相关联的查找表LABEL值(6)标记路径 ROUTETEXT 显示RAT表中数据项值或与之相关联的查找表LABEL值(7)标记段 SECTIONTEXT 显示SEC表中数据项值或与之相关联的查找表LABEL值5.4.5 文本的定位文本的定位 1)文本的位置依赖于被注记的地理特征的类型和字符长度 2)缺省的文本位置是LL(左下角),对于点、节点和多边形文本的左下角与标注点重合,对于弧文本的左下角在

75、弧的中点,对控制点文本的左下角在TIC的位置 3)文本位置受文本字体、大小、质量和间隔等特征的影响命令 放置选择项对点 POINTTEXT Horizontal-LL,LC,LR,CL,CC,CR,UL,UC,UR对线 ARCTEXT Horizontal-LL,LC,LR,CL,CC,CR,UL,UC,UR Angled between two point-POINT2 LC,CC or UC Following along the line-LINE LC,CC or UC Blank out line under text-POINT2 BLANK or LINE BLANK对面 LAL

76、ELTEXT Horizontal-LL,LC,LR,CL,CC,CR,UL,UC,UR POLYGONTEXT 计算多边形最合适的位置对控制点 TICTEXT Horizontal-LL,LC,LR,CL,CC,CR,UL,UC,UR对节点 NODETEXT Horizontal-LL,LC,LR,CL,CC,CR,UL,UC,UR 注:ARCTEXT lookup_tablePOINT1|POINT2|LINE offset LL|LC|LR|CL|CC|CR|UL|UC|UR|BLANKNOFLIP5.4.6 生成图例生成图例 图例文件是由文本编辑器生成的文本文件,包括符号码和描述性的文

77、本信息 图例位置 KEYPOSITION 指出图例的左上角位置 KEYANGLE 设置画图例时的角度 KEYSEPARATION 定义图例符号和描述文本之间的距离以及两图例间的距离 KEYBOX 定义图例框的大小、若用NOBOX选项就是定义符号的大小 KEYAREA 指定图例在图页中的位置以及水平方向的布局 画图例: KEYMARKER 画点符号 KEYLINE 画线符号 KEYSHADW 充填符号 当前符号设置 TEXTSYMBOL 设置或修改图例说明注记符号 LINESYMBOL 设置或修改图例框的轮廓线5.5 地图制作地图制作1 建立MAP COMPOSITION2 操作map comp

78、osition 的图素3 把COVERAGE放在页上4 制作底图和插图5 建立和显示图形文件5.5.1 建立建立MAP COMPOSITION格式:MAPDRAW|NODRAW|BOXES 其中END 关闭一个map composition DRAW 打开一个map composition并画图素,这是缺省值 NODRAW 打开一个map composition但不画图素 BOXES 打开一个map composition用方框来画图素 建立过程: ARCPLOT: MAP : 一、二中的有关命令 : MAP END 注 意 :放 置 和 缩 放 COVERAGE的 命 令 不 存 贮 , 如

79、 : MAPPOSITION, MAPEXTENT, MAPEUINTS, MAPSCALE等 删除整个MAP COMPOSITION用KILL5.5.2 操作操作map composition 的图素的图素(1/2) 列出图素 MINFO 列出每一图素的号码和生成这些图素的命令 选出图素 MTOLERENCE 指定选择图素的搜索范围 MWHO 使当前选择的图素闪烁或重画 MSELECT 选择图素 MASELECT 往选择集中加新的图素 MUNSELECT 在选择集中取消部分选择 MNSELECT 选择集转换,即使没有选上的作为当前选择集5.5.2 操作操作map composition 的图

80、素的图素(2/2)编辑图素 MALIGN 对其在一个composition中所选的图素 MCOPY 把所选的图素拷贝到另一个composition中 MDELETE 删除所选的图素,一旦删除不能恢复 MFIT 缩小或放大图素到一指定区域内(不要对COVERAGE作此操作) MGROUP 把所选的几个图素合成一个图素,可给一个名字, 一旦组合就不能再分开 MMASK 按其轮廓线重画所选的图素 MMOVE 把所选图素移到另一处 MORDER 改变画图素的词序 MPOSITION 把所选图素放到图形页上 MROTATE 旋转所选的图素 MSCALE 缩放所选的图素屏幕刷新 MFRESH 通过清屏或重

81、画所有的图素来刷新屏幕 PLOT 运行地图文件5.5.3 把把COVERAGE放在页上放在页上 设置页的大小和位置 PAGESIZE 指定输出地图的大小 PAGEUNITS 指定输出地图页的单位 MAPLIMITS 设置画COVERAGE的区域,缺省为页的大小 MAPPOSITION 指定COVERAGE放在页上的位置,缺省为左下角 指定显示的地理区域 MAPEXTENT 设置比例尺和地理单位 MAPSCALE 设置要显示的COVERAGE比例,缺省为AUTO 在当前的MAPLIMIT中用最大的比例显示 MAPUNITS 指定COVERAGE的单位 旋转COVERAGE MAPANGLE 显示

82、设置参数 MAPINFO 显示当前地图一页的所有转换参数5.5.4 制作底图和插图制作底图和插图 MAPEXTENT, PAGESIZE, MAPLIMITS, MAPPOSITION, MAPSCALE 和 MAPANGLE结合应用 下面介绍另外几条常用命令 MEASURE WHERE 确定插图边框一角的坐标 MEASURE WHERE 确定另一角的坐标 UNITS MAP 单位定义为MAPUNITS的单位 UNITS MAP 单位定义为PAGE的单位 BOXSHOW MAPLIMITS 用MAPLIMITS的边框画方框5.5.5 建立和显示图形文件建立和显示图形文件 1)图形文件用来存贮用

83、MAP COMPOSITION 或用AML生成的图形 2)改变DISPLAY设备号或QIUT将关闭图形文件,关闭以后不能对图形文件作修改 ARCPLOT:DISPLAY 1040 ENTER PLOTFILENAME: 产生一个图形文件 :PLOT将map composition 放进图形文件 或&RUN 或直接键入制图命令 3)在屏幕上显示绘图文件 ARC:DRAW option 或ARCPLOT: PLOT*|x,y 如在PLOT之前指定一个composition,这个画出的图形将会被加到map composition中 4)把绘图文件传到绘图仪上 ARC:PLOT 第第6章章 数据库查询

84、数据库查询概述1 查询单个特征2 空间检索3 属性检索空间查询空间统计1 FREQUENCY2 STATISTICS6.1.1 查询单个特征查询单个特征&空间空间检索检索6.1.1 查询单个特征 ArcPlot中的Identify命令和Map Tools中的Identify工具可以查询Coverage中的一个特征属性,特征选择可以通过点击屏幕或通过给定x,y坐标完成。在使用Identify命令时,注意: 如果不在选择项Item里给出及格具体的数据项,则所有的属性将被列出。当用Map Tools中的Identify工具时,被选主题的所有激活的属性项都将被列出来。 Identify不产生特征选择集

85、,只可以在选择集里选择一个特征。6.1.2 空间检索 空间选择特征时允许查询一个区域的特征。Arc/INFO提供常用的空间选择操作包括:点选、框选、多边形或圆选同时可以用例外一个Coverage叠加选定。6.1.2 属性检索属性检索 通过给定条件选择合适的空间特征。一个常用的查询是将具有某些特点(满足一定条件)的所有特征定位,特征的选择基于的逻辑表达式由以下内容组成:数据项(Item name)、运算符(Operator)、值(Value)、连接符(Connctor)(可选)、小括号(Parentheses)(可选)。可用的运算符如下:EQ 等于GT 大于GE = 大于或者等于LT 小于LE

86、= 小于或者等于NE 不等于CN 包含(只用于字符)NC 不包含(只用于字符)IN 在一组或者某一范围的值LK * 统配符(只用于字符) 6.2 空间查询空间查询 1)ITEMS 列出数据项 Usage:ITEMS or ITEMSINFO 2)LIST 列出数据库记录 Usage:LISTrangeitem.item or LISTINFOrangeitem.item 3)RESELECT 在当前选择中选择一个子集 Usage:RESELECT POLYGON PASSTHRU|WITHINor RESELECT CIRCLE PASSTHRU|WITHIN 4)ASELECT 在当前选择集

87、中增添选择项 5)NSELECT 切换选择集与未选择集(即将未选择集作为当前选择集) 6)UNSELECT 从选择集中取消部分选择项 7)CLEARSELECT 清除选择 8)WRITESELECT 将所选特征写到指定文件中 9)READSELECT 从指定文件中读出信息并作为当前选择集 10)IDENTIFY 查询某个具体特征 Usage:IDENTIFYitem.item 6.3.1 FREQUENCY 统计每一不同码的个数并求和 Usage: FREQUENCY case_item * case_item是在和中都会增加的项,对于中的每个记录在中都含有与它相匹配的记录号,以后可用它建立联

88、系 键入命令后出现: Enter Frequency items Enter 1st items: 键入要统计的项 Enter 2nd items: Enter xxx items:END Enter Summarary items Enter 1st items: 键入求和项,将根据分类后统计各类的和 Enter 2nd items: Enter xxx items:END6.3.2 STATISTICS统计总数、均值、最大值、最小值、均方差 Usage:STATISTICS case_item 其中case_item为指定要统计的项,缺省将全部统计 此命令用ARC、ARCEDIT和ARCP

89、LOT下均可使用键入命令后出现 STATISTICS:SUM 对指定的项求和 :MEAN 对指定的项求均值 :MAX 对指定的项求最大值 :MIN 对指定的项求最小值 :STD 对指定的项求均方差 :END 第第7章章 空间分析空间分析空间数据的缓冲区分析空间数据的叠加分析空间信息提取分析空间数据融合分析7.1 空间数据的缓冲区分析空间数据的缓冲区分析(1/2) 运行于ARC模块。 Usage:BUFFER buffer_itembuffer_table buffer_distancefrzzy-toleranceLINE|POLY|POINT|NODE 在空间操作中一类非常重要的操作是关于确

90、定不同地理要素的空间接近度或邻近性,在ARC/INFO中,利用Buffer命令可以建立各种类型要素的缓冲多边形。 其中buffer_item 将依据该项产生缓冲区 buffer_table 查找表,将根据该表中的项产生缓冲区 buffer_distance 设置的缓冲区距离 查找表在info下用DEFINE建立,它包括两项:一项是与INFO的公用项,另一项必须是DIST,包含了buffer_distance7.1 空间数据的缓冲区分析空间数据的缓冲区分析(2/2) * 当把多个缓冲区进行拓扑叠加时,每一个COVERAGE的INSIDE项其数据项名必须不同,否则视作重复,删除其中一些项,保留一个

91、 * 缓冲区的大小可由三种方式定义 (1) 通过缓冲区距离把所有缓冲区定义为统一的大小 (2) 通过指定一个数据项直接产生不同大小的缓冲区 (3) 通过查找表中的数据项值产生不同大小的缓冲区 * 输出的总是多边形coverage * 输出的COVERAGE的PAT文件中有一个附加项INSIDE,每个记录的INSIDE值是如下之一: 1 表示位于Buffer以外的多边形; 100 表示位于Buffer以内的多边形。7.2 空间数据的叠加分析空间数据的叠加分析空间数据的叠加分析1 UNION2 INTERSECT3 IDENTITY7.2 空间数据的叠加分析空间数据的叠加分析 地图的叠加是通过同一

92、地区两个不同的要素叠加产生的新的地图;新地图的属性包含了叠加前两者的全部信息,具体有三种情况: 点与多边形的叠加:其叠加结果仍为点状要素,其属性包括了多边形的信息; 线与多边形的叠加:其叠加结果仍为线状要素,但多了几个线段,每一线段的属性包含了其所处的多边形的属性信息; 多边形与多边形的叠加:其输出结构为多边形要素,但其多边形变得破碎,其信息量丰富了,每一个多边形的属性包含了叠加前两个多边形的信息; 每次只能进行两个OVERAGE的叠加,但对一共能叠加的个数没有限制 三个叠加命令 UNION 结合两个COVERAGE的所有特征 INTERSECT 把两个COVERAGE的公共重叠区部分的特征进

93、行组合,之外 的被删除 IDENTITY 对输入COVERAGE范围内的两个层的特征叠加,其外删除, COVERAGE的次序使得输出结果发生变化7.2.1 UNION 运行于ARC模块。 Usage:UNION fuzzy_tolerance JOIN|NOJOIN 只对多边形COVERAGE进行叠加; 对重建拓扑关系 使用JOIN两个COVER所有属性出现在PAT中 使 用 NOJOIN只 有 特 征 内 部 号 (cover #)出 现 在PAT中7.2.2 INTERSECT 运行于ARC模块。 Usage:INTERSECT POLY|LINE|POINTfuzzy_tolerance

94、JOIN|NOJOIN 可以是多边形、线或点的 COVERAGE 必须是多边形 COVERAGE 总是与 有相同的特征类型 相交点处的弧被分割 对重建拓扑7.2.3 IDENTITY 运行于ARC模块。 Usage:IDENTITY POLY|LINE|POINTfuzzy_toleranceJOIN|NOJOIN 两个COVERAGE的输入次序将影响多边形属性其它说明同INTERSECT7.3 空间信息提取分析空间信息提取分析空间信息提取分析1 Reselect分析2 Split命令3 Clip命令4 Erase命令7.3.1 Reselect分析分析 运行于ARC模块。格式: RESELE

95、CT in_feature_class selection_fileout_feature_class 根据属性提取特征集,并将所选子集存入中 7.3.2 Split命令命令ARC: SPLIT POLY | LINE | POINT | NET | LINK | RAW fuzzy_tolerance 其中指定以哪个数据项值来指定多边形进行裁剪,键入命令后出现:Enter the 1st Coverage: 第一个裁剪后文件名Enter item value: (值) 以此值确定用哪个多边形来裁Enter the 2st Coverage:End 此命令可将同一根据中值生成不同的Covera

96、ge, (删除指定多边形以外的部分)7.3.3 Clip命令命令CLIP POLY | LINE | POINT | NET | LINK | RAW fuzzy_tolerance 擦除指定Coverage数据层外部的信息。7.3.4 Erase命令命令ERASE POLY | LINE | POINT | NET | LINK | RAW fuzzy_tolerance 擦除指定Coverage数据层内部的信息。7.3.2 Split&Clip&Erase Clip分析Erase分析Split分析7.4 空间数据融合分析空间数据融合分析 空间数据融合分析1 MapJoin2 Append3

97、 DISSOLVE4 ELIMINATE5 DROPLINE7.4.1 MapJoin格式: MAPJOIN feature_class.feature_class | template_cover NONE | FEATURES | TICS | ALL clip_cover 1.MapJoin将两个或者更多的多边形联接成为一个Coverage。 2.只能对多边形和网络Coverage进行拼接; 3.最多可以联接500个Coverage(每个Coverage都具有正确的拓扑关系); 4.联接的Coverage通常是相邻的,但并非非得如此; 5.相邻边界上的数据应该在MapJoin之前已经匹配

98、过; 6.特征识别号可以调整以避免合并Coverage时发生ID号冲突; 7.使用Clip-Coverage选项可从联接的Coverage中取出裁剪区域。 数据用MapJoin联接之后的变化: (1)空间数据:联接空间数据后,拓扑关系自动重建; (2)属性数据:MapJoin更新联接的Coverage的PAT具体是:所有面积和周长已经重新计算过;7.4.2 Append格式: APPEND NOTEST | template_cover | feature_class. feature_class NONE | FEATURES | TICS | ALL 1.APPEND将两个或者多个具有多多

99、种种特特征征类型的Coverage联接成一个Coverage。 2.拥有不同的特征属性的Coverage可以被Append到一起; 3.输出特征属性表是通过合并所有的输入属性表而创建的,但是拓扑结构不会因添加空间数据而创建; 4.Notest可以合并没有拓扑结构的Coverage。即使有拓扑结构,特征表不会被合并,因此也就不需要定义同样的数据项; 5.最多可以联接500个Coverage(每个Coverage都具有正确的拓扑关系); 6.特征识别号可以调整以避免合并Coverage时发生ID号冲突; 7.联接的Coverage通常是相邻的,但并非非得如此; 8.Append可以合并空间数据,但

100、是不能重建拓扑结构。 7.4.3 DISSOLVE运行于ARC模块。 格式: DISSOLVE POLY|LINE|NET 删除某一数据项值相等的相邻多边形之间的弧。 其中根据此数据项清除具有相同属性值的多边形之间的分割线.7.4.4 ELIMINATE 运行于ARC模块。ELIMINATE NOKEEPEDGE | KEEPEDGE POLY | LINE selection_file BORDER | AREA 选择子集并从原cover中删除形成新cover7.4.5 DROPLINE 运行于ArcPlot模块。 格 式 : DROPLINE lookup_table NOTEXT 在图形

101、显示时去掉具有相同属性值的多边形之间的分割线,不能够真正删除掉,属性值由Item确定.第第8章章 Arc/INFO宏语言宏语言AML语言语言Arc/INFO宏语言(AML)介绍1 AML的使用2 AML程序的运行3 AML文件的加密4 使用Watch文件指令、变量和函数1 指令2 变量AML的特殊字符8.1 Arc/INFO宏语言宏语言(AML)介绍介绍 AML是在ARC环境中用于编程和创建应用的语言。AML提供完整的编程能力和一套工具来创建应用的用户界面。AML是一种解释语言,每个命令行,不管是从键盘还是从AML文件输入,都由AML解释器解释,并进行变量替换、逻辑分支和循环,然后由当前ARC

102、程序执行。8.1.1 AML的使用的使用(1/3) AML可从AML文件或直接从命令行使用,有两种AML文件:命令宏和菜单。宏通过把ARC/INFO命令序列把复杂操作组织成易于执行的命令。菜单提供直观易用的界面,用鼠标即可选择所需菜单选项。AML是灵活的语言,可以把操作系统命令、Arc/INFO命令和AML元素结合起来联合执行复杂的操作。AML元素有三种:(1)指令 指令使用AML执行某种操作。可以在ARC的任何一个子系统中(包括TABLES)中直接执行AML的指令。但在INFO是不行的。每个AML指令前面都有“&”符号,以便于AML处理器快速识别AML指令,若不使用“&”符号,指令的即是速度

103、会比较的慢。8.1.1 AML的使用的使用(2/3)指令举例: 1) &Echo Prior_Value_variable指令可用于了解AML程序的执行过程。其中Prior_Value_variable参数是一个用于记录&Echo指令的设置状态(&On或&Off)的变量。 2)&Pause 提示信息&Seconds 指令用于临时中止程序执行,知道键入。&Seconds 用于程序中止执行特定时间(秒)后自动执行。(2)函数 函数进行文本置换。函数名在方括号()内,当AML遇到方括号时,就计算该函数并返回函数值。函数可返回数字、字符串或布尔值。返回值通常赋给变量或用作命令行的参数一部分。例如: A

104、rc:BUILD Respo nse Enter the Coverage to BUILD POLY8.1.1 AML的使用的使用(3/3)(3)变量 变量是存储动态信息的一种方法。AML变量可被赋以许多种数据类型: a)字符型 b)整型 c)实型 d)布尔表达式 &SetVar 用于设置变量 如: &SetVar Cov=landUse 百分号(%)用于计算变量。 AML是Arc/INFO提供的宏语言,是ARC Macro Language的缩写,通过AML程序发出的命令与逐条键入的Arc/INFO命令没有本质的区别。每一个AML程序后缀名为”.AML”AML处理器解释AML程序的每行命令

105、,也解释使用Arc/INFO时键入的每条命令。 优点:使用AML节省键入时间、减少输入错误,保证一致性、自动完成重复操作、提高工作效率。8.1.2 AML程序的运行程序的运行&加密加密8.1.2 AML程序的运行 格式:&Run 参数1,参数2, 参数n 指令用于执行(带参数的)AML程序。8.1.3 AML文件的加密 &EnCode是对AML程序执行加密操作的指令,它只处理具有“.AML”扩展名的文件。结果生成一个扩展名为“.eaf”的不可查看的AML程序文件。在运行AML程序时如果不带扩展名,AML处理器首先寻找“.eaf”文件,其次寻找“.AML”文件执行。 8.1.3 使用使用Watc

106、h文件文件 WATCH文件用于记录Arc/INFO的操作。用户输入的所有内容都将记录在Watch文件中,其中指令内容被括在“| * *|”中。WACTH文件在查找AML程序的错误时很有用。不过每一次只能打开一个Watch文件,如果打开第二个Watch文件,则自动关闭第一个。 用法:&Watch &Append&commands&Coordinates &Watch &Append向已有文件添加内容,否则删除原文件建立新的文件。 &Commands说明Watch文件记录菜单或程序发出的命令 &Coordinates说明Watch文件记录用户输入的坐标; &Off关闭当前Watch文件 &Disp

107、lay将当前Watch文件名显示在屏幕上。 将WATCH文件转换为AML程序 格式:&Conv_Watch_TO_Aml &Coordinates &CWTA &Coordinates8.2 指令、变量和函数指令、变量和函数 AML有三个主要组成部分:指令,以&打头;函数,括在方括号 中;变量,括在百分号%中。8.2.1 指令指令 每一条AML指令都必须以&打头下面的例子说明&Echo 指令的正确使用 正确用法 错误用法Arc: &Echo &OnArc: &Echo OnArc: &Echo &OffArc: &Echo Off获取AML帮助的指令有: &Usage 指令或函数 列出AML指

108、令或函数的用法; &Help主题 列出AML有关内容的帮助信息 &Commands 指令或函数列出AML指令或函数的名称。8.2.2 变量变量(1/4)(1)变量的定义&SetVar指令用于定义变量和为变量赋值,用法:&SetVar :值以下四种用法都是有效的:Arc:&SetVar Cov = Street Arc:&SV Cov = StreetArc:&S Cov = Street Arc:&S Cov Street(2)变量的使用变量一旦定义,就可以用作参数,例如下述两个命令行的效果一样:Arc: Describe street Arc: Desrcibe %cov%注意的是定义变量时

109、不带百分号(&S cov = stree),但在使用变量时,必须用百分号将变量括起来。&s cov = street Arcs %cov%8.2.2 变量变量(2/4)(3)&type命令 &Type指令将字符串打印在屏幕上,在&Type指令中可以用反斜杠(),以便在打印字符串中加入换行符。(4)变量的管理 a.AML提供了管理变量的一套命令: b.定义变量 &SetVar :值 c.删除变量 &DelVar d.确定变量是否存在 Variable 变量 函数 Variable 变量函数返回一个.TRUE.或.FALSE.,说明某个变量是否存在 e.取变量的值 %变量%和Value 变量均返回

110、变量的值,前者更加常用,而后者可以嵌套在其它指令或函数中使用,以取得某个变量名字符串的值。8.2.2 变量变量(3/4)如: Arc:&s cov1 = soil Arc:&s cov2 = street Arc:&s num 1 Arc:&s num 2 Arc:&type Value cov%num% Arc:&Type Value cov%num% (5)局部变量、全局变量和程序变量 局部变量 局部变量只能在定义这一变量的AML程序中使用。 全局变量 全局变量主要用于多个AML程序件的数据通讯,不同程序之间的数据传递是经常和必要的,变量以点号.开始,如.cov等。 程序变量 主要用于Ar

111、c和INFO之间,或ARC/INFO与其它关系数据库间的数据通讯。如:AML一运行,:Program被自动赋值,它用来说明当前运行的进程Arc、ArcEdit或ArcPlot。8.2.2 变量变量(4/4(6)列变量 AML提供一套指令用于显示变量。 A)&ListProgram或&LP仅列出程序变量及其值; &LISTPROGRAM 变量1,.变量n b)&ListGlobal或&LG仅列出全局变量及其值; &LISTGLOBAL &FILE &FORMAT &APPEND 变量1,.变量n c)&ListLocal 或&LL仅列出局部变量或其值; &LISTLOCAL &FILE &FOR

112、MAT &APPEND 变量1,.变量n d)&ListVar或&LV列出所有变量 &LISTVAR &FILE &FORMAT &APPEND variable.variable 注:&ListGlobal、&ListLocal和&ListVar指令可以带&File 选项,它将把当前变量及值写入一个文件。8.3 AML的特殊字符的特殊字符(1/2)1 续行符 使用续行符放在行末,可以使较长的AML语句分成若干行书写,只要不超过1024字节,语句可以不断地续行,AML不立即解释带有续行符的语句行,而是等到语句全部输完才进行解释。如: Arc: Clean cova Arc: covb 等效于:

113、 Arc: Clean cova covb 注释行的续行符不起作用。2 命令分隔符“;” 可以将很多条比较短小的命令行写在一行,以分隔符分开。8.3 AML的特殊字符的特殊字符(2/2)3 捷径! !, (! !) ! !行内重复 (! !)重复行 如:Arc:Mape Lu0!1 2 3 ! 等效于Arc:Mape Lu01 Lu02 Lu03 Arc:Arclines Lu(!01 02 03!) 等效于:Arc:Arclines Lu01 Arc:Arclines Lu02 Arc:Arclines Lu034 注释 注释行后面不能接续行符,每一个注释行都必须以“/*” 打头。第第9章章

114、 Arc/INFO的二次开发的二次开发AML宏语言开发环境ODE开放开发环境1 ODE开放开发环境2 ODE环境的属性和方法3 Arc/Info二次开发中应注意的问题实例介绍9.1 AML宏语言开发环境宏语言开发环境(1/2) AML宏语言,它本身也是一种程序语言,是ARC/INFO提供的宏语言,宏语言发出命令,要求其程序进行相应的操作。AML宏语言有严格的语法定义,使用的时候要特别的注意,因为我们在开发的时候经常要嵌入一些AML语句ARC/INFO提供AML语言开发环境,用户可以非常方便地编制自己的菜单和程序。AML环境有如下特点: 1 语法结构简单,解释执行,不需编译,执行和开发效率高;

115、2 支持模块化的开发方法,可开发较大应用程序; 3 提供可视化菜单、对话框(formedit,menuedit)编辑工具,所见即所得; 4 支持多种风格的菜单、对话框和各种风格的控件; 5 提供多线程的调度和输入管理。除此以外ARC/INFO还提供了与外部RPC程序和C程序的接口(IAC接口和TASK函数)。9.1 AML宏语言开发环境宏语言开发环境(2/2) 在面向应用的二次开发手段上,通常是用ARC/INFO的宏语言AML。而AML有2个不足之处,即: 1 AML是解释型语言,其执行效率受到解释执行方式固有缺陷的限制。 AML的界面风格与时下流行的Windows风格不相一致; 2 AML程

116、序与其他应用程序之间虽可通过IAC等机制相联结,但仍有其不便之处9.2 ODE开放开发环境开放开发环境 ESRI推出了ARC/INFO的开放式开发环境ODE(Open Development Environment)。借助ODE,用户可在自己的编程环境中调用ARC/INFO的所有命令和功能, 用ODE,界面设计时不再受AML的限制。ODE下可支持所有的ARC/INFO命令,包括AML。 ESRI公司已把某些功能做成ACTIVE X控件的形式可直接在VB,Delphi和PowerBuilder等上调用。用户用诸如VB等可视化的工具,生成可视化的界面,用ARC/INFO的控件显示查询GIS图形,完

117、成复杂的GIS分析。分析结果,如图形、表格,可随时嵌入到用户的日常工作文档中。在新的应用中可以添加ARC/INFO没有提供的界面元素,如在NT上的多文档风格界面、工具条、状态条、树形列表。 在 ODE环 境 中 , ARC/INFO所 有 的 命 令 和 函 数 都 包 括 在 :arcplot.ocx,arcedit.ocx, grid.ocx, arc.dll和string.dll中。用ODE开发基于ARC/INFO的应用程序,可获得如下好处: 可使用标准的开发工具; 可建立标准的、功能强大的操作界面;执行效率更高。 9.2.1 ODE开放开发环境开放开发环境 ARC/INFO的ODE开放

118、开发环境提供了三个控件:ARCEDIT、ARCPLOT、ARCGRID。其中: (1)Arcedit 利用高级拓扑关系编辑函数来建立和维护,Coverage和数据库的空间数据属性 (2)Arcplot 在ARC/INFO中为绘图提供绘图工具,包括预览、设计、数据选择、数据显示、特征符号以及标注。 (3)Grid 提供简单的和复杂的栅格数据处理工具。9.2.2 ODE环境的属性和方法环境的属性和方法(1/2) 通过ODE方法,可以利用ActiveX控件进行编辑、画图、分析以及地理数据处理,ARC/INFO的控件提供了WINDOWS的动态连接库(.DLL),定义了控件的类、属性和方法等。ARC/I

119、NFO控件的属性,就象其它可视化编程语言一样的使用,如:属性CanvasColor,它决定画板的颜色在运行时是否为白色,当CanvasColor为真时,画板的颜色为白色。为假时,画板的颜色为黑色. ARC/INFO控件有许多的方法,如其中的Command是使用频率最高的一个方法,它是发送一个ARC/INFO的命令到控件,再将结果返回到一个字符串的集合中。它的用法为: severity=mand(command,object2) 如显示所有该COV的属性数据:List landuse.pat ccAPlot.Command(list landuse.pat,result)9.2.2 ODE环境的

120、属性和方法环境的属性和方法(2/2)当然还有一些其他的方法,如: GetCover:列出所有Coverage GetFile:返回文件、目录、工作区间或INFO数据文件列表 GetProperty:返回SHOW返回的信息 GetVariable:返回变量的值。 (1)安装: 除需要安装ArcEdit, ArcPlot, Grid三个控件外,还要安装ESRIutil automation server (2)初始化定义: result:strings; severity:LongInt; 在OnCreate事件中加入初始化语句: result:=ESRIutil_TLB.costrings.cr

121、eate();9.2.3 Arc/Info二次开发中应注意的问题二次开发中应注意的问题(1/4) 在进行GIS地理信息系统的二次开发过程中,常常会遇到一些问题,如:信息的返回、单任务执行的冲突等等,下面主要介绍了开发时所会遇到的一些关键问题,探讨解决这些问题的方法。(1)(1)AMLAML本身的语法问题本身的语法问题(2)(2)程序执行过程中的屏幕回应程序执行过程中的屏幕回应(3)(3)Arc/InfoArc/Info中的单任务执行的冲突中的单任务执行的冲突 (4)Arc/Info中的次级对话框数据的输入中的次级对话框数据的输入 (5)Arc/Info中的次级对话框数据的输入中的次级对话框数据

122、的输入9.2.3 Arc/Info二次开发中应注意的问题二次开发中应注意的问题(1/4)(1)AML本身的语法问题 在GIS软件的二次开发的过程中,不管用AML语言和ODE开发环境,还是通过编写在ODE编程环境的应用程序来调用AML程序模块,都涉及到AML本身的语法问题,所以必须对AML语言的语法结构有所了解。AML应该属于高级宏语言,也象其它高级编程语言一样,有自己的语法结构和语法规则,所以必须严格按照AML语言的格式。9.2.3 Arc/Info二次开发中应注意的问题二次开发中应注意的问题(2/4)(2)程序执行过程中的屏幕回应 ARC/INFO地理信息系统在处理命令的过程中常常会在窗口返

123、回一些信息或要求你输入更多的数据,而它的ODE开放开发环境中则没有,它不返回任何信息,它只提供了几种返回信息的手段,必须充分利用这些手段,进行可视化程序设计。如在AML语言环境下显示COVERAGE数据landuse.pat的命令为: Arc:List landuse.pat 所有的结果将会显示出来,而换一种方式,采用ODE来编程,假设所使用的控件名称为ccArcPlot,命令可写为: ccArcPlot.Command(list landuse.pat,result); 屏幕上将什么也看不到,因为ARC/INFO的ODE开放开发环境中将所有的输出结果保存到了类型为strings的result

124、中了,可以通过对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/INFO ODE编程中,只能在执行完一个任务后才能开始下一个任务的执行。假如在程序设计中同时发送多个任务给ARC/INFO,将会得到错

125、误信息: Reentrance is not surported in Command method 解决这一冲突的办法,就是在程序正在执行前将其它命令屏蔽,一般可视化编程语言中的控件都有Enabled属性,屏蔽命令时将它的值赋为False即可。当然,任务执行完后还要将它们恢复。(4)Arc/Info中的次级对话框数据的输入 因为ODE编制的应用程序在执行时不返回任何信息,也不能输入任何数据,这给程序设计带来许多的不便,特别是在该命令要求输入数据的时候,却没有任何提示信息,也不能输入任何数据时候。解决这一问题的方法是充分利用ODE开发环境提供的PushString函数,它是将要输入的数据按顺序

126、压入堆栈中,然后在系统需要参数时再从堆栈中提取数据,即在使用有次级对话框的命令时,需要先使用PushString函数将所需要输入的数据按顺序放入堆栈中即可。9.2.3 Arc/Info二次开发中应注意的问题二次开发中应注意的问题(4/4)(5)Arc/Info中的次级对话框数据的输入 ccAPlot.PutString(D:tj01923f); ccAPlot.PutString(D:tj01924f); ccAPlot.PutString(D:tj01925f); ccAPlot.PutString(End); ccAPmand(APPEND d:tt1 LINE NONE,result);

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

128、 Results:strings; severity:LongInt; /=/数据查询模块中表单的建立/-procedure TPlotWin.FormCreate(Sender: TObject);begin Results:=ESRIutil_TLB.costrings.create(); ccDataPath:=D:PlotDemo; ccSelCovName:=ccDataPath+bound;end;1. 1.系统初始化系统初始化系统初始化系统初始化/=/ARCPLOT 命令过程/-procedure TPlotWin.CmdPlot(Cmd:string);var i:intege

129、r;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. 2.自定义自定义自定义自定义AcrPlotAcrPlot函数函数函数函数/=/CmdDrawIt 画图/-procedure TPlotWin.CmdDrawit;begin CmdPlot(clear); MapSetExtentWhenZoom; CmdPlot(Polygonshades +ccSelCovName+

130、 50 ); CmdPlot(Polygonlines +ccSelCovName+ 35);end;3. 3.自定义自定义自定义自定义CmdDrawItCmdDrawIt画图函数画图函数画图函数画图函数procedure TPlotWin.ToolClick(Sender: TObject);begin DisableCmd; case (sender as TToolButton).Tag of 1:begin CmdPlot(mape *); /放大图形 ccCurMape:=APlot.GetProperty(mapextent); CmdDrawIt; end; 2:begin /视

131、图缩小热键命令 ccCurMape:=floattoStr(mmX1 - (mmX2-mmX1)/ 4)+,+ floattoStr(mmY1 - (mmY2-mmY1)/ 4)+,+ floattoStr(mmX2 + (mmX2-mmX1)/ 4)+,+ floattoStr(mmY2 + (mmY2-mmY1)/ 4); CmdPlot(mape +ccCurMape); CmdDrawIt; end; 3:begin /视图移动热键命令 .4. 4.功能按钮功能按钮功能按钮功能按钮procedure TPlotWin.CmdInfoKeyPress(Sender: TObject; v

132、ar Key: Char);var ccLine:integer; ccMsg:string;begin ccLine:=cmdInfo.Lines.count; ccMsg :=cmdInfo.Lines.stringsccLine-1; if Key=chr(13) then begin /去掉字符串前面的空格 ccMsg:=trim(ccMsg); ccMsg:=UpperCase(ccMsg); if length(ccMsg)0 then CmdPlot(ccMsg); end;end;5. 5.命令输入栏命令输入栏命令输入栏命令输入栏procedure TPlotWin.Msg(flag:integer;ccStr:string);begin cmdInfo.Lines.Add(ccStr)end;6. 6.信息输出函数信息输出函数信息输出函数信息输出函数内容结束内容结束, ,谢谢各位谢谢各位! !

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号