ArcPy 是 Python 站点包,用于以有用且实用的方式使用 Python 执行地理数据分析、数据转换、数据管理以及制图自动化。 使用以 ArcPy 编写的 ArcGIS 应用程序和脚本的优势在于,可以访问并使用由来自多种不同领域的 GIS 专业人员和程序员开发的大量 Python 模块。
# Import arcpy
import arcpy
# Set the workspace environment and run Clip
arcpy.env.workspace = 'C:/Data/Tongass'
arcpy.analysis.Clip('standb4', 'clipcov', 'standby_clip', 1.25)
在导入 ArcPy 之后,可以运行随 ArcGIS 安装的标准工具箱中的所有地理处理工具。
当然,Python 还具有很多其他核心模块和第三方模块。 如果还想使用 os 和 sys 模块,可以使用相似的导入方式:
# Import arcpy, os and sys
import arcpy
import os
import sys
其他版本的导入操作使用 from-import-* 的形式。 模块的内容将被直接导入到命名空间中,这表示您随后可以直接使用所有这些内容,而无需为其添加前缀。 使用此方法存在一些风险。 同名的其他对象、变量、模块等将被覆盖,在使用大型模块时,命名空间可能会变得异常拥挤。
但是,在某些情况下,from-import-* 可以简化代码,例如,在使用 ArcGIS Spatial Analyst extension sa 模块的情况下。 sa 模块的优势之一在于,可以在一行中嵌套多个类和函数以生成输出栅格对象。
许可:
在以下示例中,需要运行 ArcGIS Spatial Analyst extension。
import arcpy
from arcpy.sa import *
out_raster = FocalStatistics("inRaster", NbrCircle(5, "CELL"), "SUM")
ArcPy 模块
模块是通常包含函数和类的 Python 文件。 ArcPy 由一系列模块提供支持,其中包括以下模块:
- 图表模块 (arcpy.charts)
- 数据访问模块 (arcpy.da)
- 地理编码模块 (arcpy.geocoding)
- 影像分析模块 (arcpy.ia)
- 制图模块 (arcpy.mp)
- 元数据模块 (arcpy.metadata)
- Network Analyst 模块 (arcpy.nax 和 arcpy.na)
- 共享模块 (arcpy.sharing)
- Spatial Analyst 模块 (arcpy.sa)
- Workflow Manager (Classic) 模块 (arcpy.wmx)