AML概要笔记

AML概要笔记

2015-01-26 作者: giser 浏览: 3624 次

摘要: 在ArcGIS的Desktop中使用了Python之后,再谈AML已经有些过时了。但是不管怎样,AML在GIS的发展过程中,应该是具有重要的作用,而且AML本身也有其精妙之处,在一些应用之中,依然有其大展身手之处。 一、 AML介绍 AML是Arc Macr...

在ArcGIS的Desktop中使用了Python之后,再谈AML已经有些过时了。但是不管怎样,AML在GIS的发展过程中,应该是具有重要的作用,而且AML本身也有其精妙之处,在一些应用之中,依然有其大展身手之处。

一、 AML介绍

  • AML是Arc Macro Language(ArcInfo宏语言)缩写,适用于任何ArcInfo环境(Unix或Windows等)。
  • ArcInfo AML提供AML命令与AML菜单。通过前者将单一功能的ArcInfo命令组织成解决复杂的地理问题的程序。后者将AML命令集成到简单易用的用户图形界面。
  • AML是一种逐行解释的编程语言。这意味着,不管您在ArcInfo命令提示符下还是通过AML程序文件来执行AML命令,它们都是一行一行地边解释边执行。
  • AML简单易学,非常适合于编写进行地学处理的应用程序。

二、 AML功能

  • 具有批处理功能,节省运行时间,可以将经常使用的ArcInfo命令组合成一个AML文件。通过运行AML文件实现ArcInfo命令批处理。
  • 实现经常运行、高度重复的GIS任务的自动化,并且具备较高的运行效率。没人愿意在命令提示符下键1000次build cover poly。
  • 创建专用程序,用于解决专门应用。如在互联网上可以找到一些免费的水文方面的AML代码,如watershed.aml等。
  • 建立交互式菜单,提示并验证用户输入。进行流程控制,减少键入错误等。
  • 维持重复任务的一致性。保证多次重复的任务在每一次运行时都得到正确的执行。
  • 将工作流程与方法保存到文档,可用于下一次的重复利用。

三、 AML综览

  • 一个AML程序是一组事先定义好的命令,用于完成某一个专门目的。
  • AML程序是纯粹的ASCII文本文件,包括了让ArcInfo执行的指令。

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

  • ArcInfo命令
  • 注释
  • 指示符(Directive):以&打头的命令
  • 函数
  • 变量

有两种方法可用于创建AML程序。

  • 方法一,用任何一个文本编辑器如记事本、写字板等。
  • 方法二,使用专门的AML命令自动记录执行的ArcInfo命令,并将这些命令保存进一个AML文件。

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

&watch; my_record.txt
…
&watch; &off;

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

&cwta; my_record.txt my_aml.aml
  • AML程序经常是以.aml为扩展名的文本文件。AML可以保存成其它扩展名,但此时在运行该AML时,必须指定该AML的扩展名。如:&run; myaml.txt
  • 使用&retun;指示符结束一个AML程序。
  • 运行一个AML程序 Arc: &run; steromate.aml 或Arc: &r; steromate.aml 或Arc: &r; steromate
  • AML程序可在任何模块里实现与其它模块的交互。 比如:Arc: workspace roads Arc: &workspace; roads

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

四、 帮助

  • 使用&usage;指示符,得到AML的简单提示
  • Arc: &usage; &terminal; Usage:&termal; {&cursor;|&table;|&mouse;|&keypad;}
  • &commands;指示符

Arc:&commands;,列出所有的AML指示符与函数 Arc: &commands; &c;,列出所有以c打头的指示符 Arc: &commands; c,列出所有以c打头的函数。

  • 通过ArcDoc查找AML指示符或函数的详细帮助
  • 最好的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命令,用于指示AML处理器如何执行一个任务、设置一个变量或改变序列执行的次序。
  • 指示符语句以&打头
  • AML指示符可在任何模块里执行(Arc, ArcEdit, Tables等)
  • 每个指示符关键词以&分隔
  • 例子 &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;(子例程)

关注“开源集思”公众号
获取免费资源

随机推荐


Copyright © from 2014. 开源地理空间基金会中文分会 吉ICP备05002032号

Powered by TorCMS

OSGeo 中国中心 邮件列表

问题讨论 : 要订阅或者退订列表,请点击 订阅

发言 : 请写信给: osgeo-china@lists.osgeo.org