arcpy 简介

摘抄了 arcgis 官网的一些信息,总结了一下 arcgis 中工具和函数的区别

Posted by D on April 10, 2019

arcpy

分类

工具

工具是地理处理工具的简称。从python的观点来看,工具是一系列的python函数。但是从ArcGIS的角度来看,工具和函数是不同的两个概念,工具专指地理处理工具,函数不进行地理数据处理,一般起到辅助支持的作用。其具体的区别有:

  • 工具的记录方式与函数不同。每个工具在帮助系统中都有自己的工具参考页面。函数会记录在 ArcPy 文档中。
  • 工具会返回 Result 1对象;而函数不会。
  • 工具会生成各类消息,可通过多种不同的函数(例如,GetMessages())进行访问。而函数不会生成消息。

工具的组织

工具的组织主要有两种方式,其一是使用函数名调用,其二是使用模块调用。(难怪arcpy的根目录这么乱

import arcpy

in_features = "c:/temp/rivers.shp"

# Tools can be accessed as functions on the arcpy module
arcpy.GetCount_management(in_features)

# Or from modules matching the toolbox name
arcpy.management.GetCount(in_features)

工具与环境的关系

可将地理处理环境设置视为影响工具执行结果的附加参数。这些参数与正常的工具参数不同,因为它们是通过工具单独进行设置的,并且供工具在运行时查询和使用。

arcpy.env.workspace = "c:/data/Portland.gdb"
arcpy.Buffer_analysis("streets", "streetBuf", "500 METERS")

函数

和正常的函数一样

和正常的类一样

模块

和正常的模块一样

模块列表

基本词汇

术语 定义
Python Python 是由 Guido van Rossum 在上世纪八十年代末构想并于 1991 年推出的一种开源编程语言。Python 得到了不断壮大的多元化用户群体的支持,具备简洁易读、语法清晰、支持动态定型等特点,并且具有大量标准库和第三方库。
ArcPy ArcPy(通常称为 ArcPy 站点包)为用户提供了使用 Python 语言操作所有地理处理工具(包括扩展模块)的接口,并提供了多种有用的函数和类,以用于处理和查询 GIS 数据。使用 Python 和 ArcPy,可以开发出大量的用于处理地理数据的实用程序。
ArcPy 模块 模块为通常包含函数和类的 Python 文件。ArcPy 由一系列模块支持,包括数据访问模块 (arcpy.da)、制图模块(arcpy.mp)、ArcGIS Spatial Analyst 扩展模块 模块 (arcpy.sa) 以及 ArcGIS Network Analyst 扩展模块 模块(arcpy.na)。
ArcPy 类 类的作用类似于建筑设计蓝图。蓝图为如何创建事物提供了一个框架。类可用于创建对象,即通常所说的实例。ArcPy 类,如 SpatialReference 和 Extent 类,通常用作地理处理工具参数设置的快捷方式,否则的话,这些参数会使用更加复杂的字符串。
ArcPy 函数 函数是用于执行某项特定任务并能够纳入更大的程序的已定义功能。在 ArcPy 中,所有地理处理工具均以函数形式提供,但并非所有函数都是地理处理工具。除工具之外,ArcPy 还提供多种函数来更好地支持 Python 地理处理工作流。函数(通常称为方法)可用于列出某些数据集、检索数据集的属性、在将表添加到地理数据库之前验证表名称,或执行其他许多有用的脚本任务。
独立 Python 脚本 独立 Python 脚本是一种 .py 文件,可通过两种方式执行:通过操作系统提示符,或 Python 集成开发环境 (IDE)。
Python 脚本工具 Python 脚本工具是已添加到地理处理工具箱的 Python 脚本。添加为脚本工具后,便可以像使用其他地理处理工具一样使用此脚本工具 - 可以从工具对话框打开和执行、可以在 Python 窗口和 ModelBuilder 中使用,也可以从其他脚本和脚本工具中调用。
Python 窗口 通过 Python 窗口,用户可以快捷地在 ArcGIS 内部使用 Python,从而以交互方式运行地理处理工具和功能以及充分利用其他 Python 模块和库。此窗口还为您学习 Python 提供了一个途径。Python 窗口可用于执行单行 Python 代码,并会将由此生成的消息输出到窗口。借助此窗口,您可以对语法进行试验和处理短代码,并可以在大型脚本范围之外对您的想法进行检验。
Python 工具箱 Python 工具箱是完全使用 Python 语言创建的地理处理工具箱。Python 工具箱及其所包含工具的外观、操作和运行方式与任何以其他方式创建的工具箱和工具类似。Python 工具箱是一个具有 .pyt 扩展名的 Python 文件,用于定义工具箱以及一个或多个工具。
  1. Result对象:Result 对象的优点是可以保留工具执行的相关信息,包括消息、参数和输出。即使在运行了多个其他工具后仍可保留这些结果。