AML简介

  • 格式:doc
  • 大小:33.00 KB
  • 文档页数:3

AML简介

一、 介绍

1、 AML是Arc Macro Language(ArcInfo宏语言)缩写,适用于任何ArcInfo环境(Unix或Windows等)。

2、 ArcInfo AML提供AML命令与AML菜单。通过前者将单一功能的ArcInfo命令组织成解决复杂的地理问题的程序。后者将AML命令集成到简单易用的用户图形界面。

3、 AML是一种逐行解释的编程语言。这意味着,不管您在ArcInfo命令提示符下还是通过AML程序文件来执行AML命令,它们都是一行一行地边解释边执行。

4、 AML简单易学,适合于编写进行地学处理的应用程序。

二、 功能

1、 节省时间,可以将经常使用的ArcInfo命令组合成一个AML文件。通过运行AML文件实现ArcInfo命令批处理。

2、 实现经常运行、高度重复的GIS任务的自动化,并且具备较高的运行效率。没人愿意在命令提示符下键1000次build cover poly。

3、 创建专用程序,用于解决专门应用。如在互联网上可以找到一些免费的水文方面的AML代码,如watershed.aml等。

4、 建立交互式菜单,提示并验证用户输入。进行流程控制,减少键入错误等。

5、 维持重复任务的一致性。保证多次重复的任务在每一次运行时都得到正确的执行。

6、 将工作流程与方法保存到文档,可用于下一次的重复利用。

三、 综览

1、 一个AML程序是一组事先定义好的命令,用于完成某一个专门目的。

2、 AML程序是纯粹的ASCII文本文件,包括了让ArcInfo执行的指令。

3、 一个AML文件可能包括以下几个方面:

ArcInfo命令

注释

指示符(Directive):以&打头的命令

函数

变量

4、 有两种方法可用于创建AML程序。方法一,用任何一个文本编辑器如记事本、写字板等。

5、 方法二,使用专门的AML命令自动记录执行的ArcInfo命令,并将这些命令保存进一个AML文件。

1) &watch命令:在ArcInfo环境里将您的动作记录到监视文件

如:&watch my_record.txt

&watch &off

2) &cwta命令:该命令将监视文件转换成AML文件

如:&cwta my_record.txt my_aml.aml

6、 AML程序经常是以.aml为扩展名的文本文件。AML可以保存成其它扩展名,但此时在运行该AML时,必须指定该AML的扩展名。

如:&run myaml.txt

7、 注释行以/*打头,仅对一行有效。 8、 使用&retun指示符结束一个AML程序。

9、 运行一个AML程序

Arc: &run steromate.aml

或Arc: &r steromate.aml

或Arc: &r steromate

10、 AML程序可在任何模块里实现与其它模块的交互。

比如:Arc: workspace roads

Arc: &workspace roads

第一行是正常的ArcInfo命令,位于Arc模块;第二行是AML命令,在命令提示符下被AML解释器解释,可用于任何模块。比如在ArcEdit模块内,执行第一行是无效的,但可以正常运行第二行。

11、 在AML程序里可以调用另外AML例程。

四、 帮助

1、 使用&usage指示符,得到AML的简单提示

Arc: &usage &terminal

Usage:&termal {&cursor|&table|&mouse|&keypad}

2、 &commands指示符

Arc:&commands,列出所有的AML指示符与函数

Arc: &commands &c,列出所有以c打头的指示符

Arc: &commands c,列出所有以c打头的函数

3、 通过ArcDoc查找AML指示符或函数的详细帮助

4、 最好的AML参考书是,

ESRI, 1997. Arc Macro Language for Unix and NT: developing Arc/Info Menus and Macros with AML. (ISBN 1-879102-18-8)

五、 语言要素及语言

注释语句

AML指示符

AML变量

AML变量类型

AML函数

条件流程控制语句

循环控制语句

菜单

表单

五、 语言要素及语言

注释语句

1、 注释语句用于描述AML命令的功能

2、 注释语句不被AML解释器解释

3、 每行注释语句以/*打头

4、 例子

/* 本AML生成一个coverage,然后在计算机屏幕显示该coverage

AML指示符

1、 指示符是指那些AML命令,用于指示AML处理器如何执行一个任务、设置一个变量或改变序列执行的次序。 2、 指示符语句以&打头

3、 AML指示符可在任何模块里执行(Arc, ArcEdit, Tables等)

4、 每个指示符关键词以&分隔

5、 例子

&echo <&off|&on|&brief>

(是否在屏幕上回显AML命令)

&workspace

(改变当前工作空间,类似于Arc下的workspace命令)

&run

(运行一个AML)

&return

(AML文件结束语句,解释器返回上层调用处的末端)

&show

(列出指来参数的当前值)

&commands

(列出所有的AML指示符与函数)

&usage

(列出AML指示符或函数的使用语法)

&stop

(挂起一个AML文件,执行权返回上层调用)

&type

(在屏幕上打印信息)

&system(&sys)

(发送一个操作系统命令)

&args

(接收输入参数)

&pause

(暂停AML的执行,直至用户输入&return)

&atool

(Atool路径)

&workspace

(改变当前工作空间)

&describe

(创建一组相关于数据集结构的数量)

&call

(调用其它AML子例程)

&routine

(子例程)