2.1 ArcPy概述
地学数据处理工作往往带有一定的重复性,数据量大也非常耗时,采用ArcGIS进行操作需要很大的工作量。如果使用编程的方法让这些工作自动执行,将大大提高数据处理的效率。ArcPy提供了很好的编程环境,可以帮助用户实现很多地学数据处理的功能,并根据用户的需要自动执行。
一个地学数据处理工具往往有一个输入数据集,通过处理后,会产生新的地学数据,产生的数据又可以作为其他地学数据处理工具的输入数据集。利用ArcGIS提供的地学数据处理框架可以构造一个很复杂的数据处理流程。
使用ArcPy可以通过编程使这些处理流程自动执行。第1章介绍了使用IDLE(Integrated Development Environment ArcGIS默认提供的开发环境)开发环境编写Python程序的方法,本章重点介绍在ArcGIS环境中调用Python的方法。当然Python有很多开发环境,用户可以根据习惯自己选择。
2.1.1 什么是ArcPy
ArcPy是一个以arcgisscripting模块为基础并继承了arcgisscripting功能构建而成的站点包,为Python执行地学数据分析、数据转换、数据管理和地图自动化等GIS功能提供实用高效的方式。
Python的所有优点在ArcPy中均能得到体现。例如,ArcPy具有代码自动完成功能(输入关键字和点即可获得该关键字所支持的属性和方法的弹出列表,从中选择一个属性或方法并按Tab键即可将其插入)。
2.1.2 为什么使用ArcPy
Python是一种通用的编程语言,是一种支持动态输入的解释型语言,适用于交互式操作及为一次性程序快速制作原型,同时其具有编写大型应用程序的强大功能。用ArcPy编写的ArcGIS应用程序的优势在于,可以使用由来自多个不同领域的GIS专业人员和程序员组成的众多Python小群体开发的附加模块。
从大的方面讲,使用ArcPy能够实现很多任务,主要包括以下几个方面。
使重复性的工作通过ArcPy编程实现自动化;
让用户自定义地学数据处理工具;
将地学处理工具添加到Web应用中;
让用户自定义桌面应用;
扩展ArcGIS的功能。
从小的方面讲,ArcPy在ArcGIS桌面程序中能够实现众多ArcGIS桌面操作能够实现的功能,如:
访问ArcGIS所有的地学数据处理工具;
实现ArcGIS各种数据转换和数据管理的功能;
实现ArcGIS中各种数据分析的功能;
实现ArcGIS的自动化制图。
总的来说,使用Python和ArcPy,可以帮助用户开发出大量用于处理地学数据的实用程序,同时结合Python大量开源的库,可以帮助用户更加深入地进行地学数据分析。