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
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
(子例程)