【280】◀▶ ArcPy 常用工具说明
目录:
一、相关技巧
技巧1:将工具从工具箱拖拽到 Python 窗体中自动会生成相应的函数,于是可以快速定位函数名称!

技巧2:将通过工具箱实现的操作结果拖拽到 Python 窗体,可以自动生成处理的代码,于是可以快速了解相关参数含义!

二、工具说明
| 01 | CalculateStatistics | 计算栅格数据集或镶嵌数据集的统计数据。 | |
| 02 | MakeXYEventLayer | 根据源表中定义的X和Y坐标创建新的点要素图层。 | |
| 03 | Idw | 使用反距离加权法 (IDW) 将点插值成栅格表面。 | |
| 04 | RasterCalculator | 使用 Python 语法构建和执行单个地图代数表达式。 | |
| 05 | Clip_analysis | 提取与裁剪要素相重叠的输入要素。 | |
| 06 | ExtractByMask | 提取所定义掩膜区域内的栅格像元。 | |
| 07 | CalculateAreas_stats | 计算面要素类中每个要素的面积值。 | |
| 08 | AddField | 向表或要素类表、要素图层等添加新字段。 | |
| 09 | CalculateField | 为要素类、要素图层或栅格计算字段的值。 | |
| 10 | AlterField | 重命名字段和字段别名,或更改字段属性。 | |
| 11 | ApplySymbologyFromLayer | 此工具用于将来自图层的符号系统应用到输入图层。 | |
| 12 | CreateFeatureclass | 创建空要素类。 | |
--------------- |
| 序号 | 函数名称 |
功能说明 |
语法 & 举例 | ||
| 01 | Calculate Statistics (Data Management) |
====<<<< Description >>>>==== 计算栅格数据集或镶嵌数据集的统计数据。需要对栅格和镶嵌数据集进行统计方可执行诸如应用对比度拉伸或分类数据等任务。 ====<<<< Syntax >>>>==== CalculateStatistics_management (in_raster_dataset, {x_skip_factor}, {y_skip_factor}, {ignore_values}, {skip_existing}, {area_of_interest}) ====<<<< Parameter >>>>==== ◈ in_raster_dataset:输入栅格数据集或镶嵌数据集。 |
# 获取内部的栅格数据 |
||
| 02 |
====<<<< Description >>>>==== 根据源表中定义的 X 和 Y 坐标创建新的点要素图层。如果源表包含 Z 坐标(高程值),则可以在创建事件图层时指定该字段。由此工具创建的图层是临时图层。相当于 File -> Add Data -> Add XY Data ====<<<< Syntax >>>>==== MakeXYEventLayer_management (table, in_x_field, in_y_field, out_layer, {spatial_reference}, {in_z_field}) ====<<<< Parameter >>>>==== ◈ table:定义要创建的点要素位置的表(包含 X 和 Y 坐标)。 |
# 获取内部的数据 |
|||
| 03 | IDW (Spatial Analyst) |
====<<<< Description >>>>==== 使用反距离加权法 (IDW) 将点插值成栅格表面。 ====<<<< Syntax >>>>==== Idw (in_point_features, z_field, {cell_size}, {power}, {search_radius}, {in_barrier_polyline_features}) ====<<<< Parameter >>>>==== ◈ in_point_features:包含要插值到表面栅格中的 z 值的输入点要素。 ---------------------------------------------------------------------------------- ====<<<< Return Value >>>>==== ◈ out_raster:输出插值后的表面栅格。(不写扩展名的话会生成带有文件夹形式的栅格数据,如果写 *.tif,则直接生成 tif 文件,参考:Raster 类) |
# 获取内部的数据 |
||
| 04 | Raster Calculator (Spatial Analyst) |
====<<<< Description >>>>==== 在类似计算器的界面中,使用 Python 语法构建和执行单个地图代数表达式。 注意:引用函数的名称为:arcpy.gp.RasterCalculator_sa ====<<<< Syntax >>>>==== RasterCalculator (expression, output_raster) ====<<<< Parameter >>>>==== ◈ expression:“地图代数”表达式。(表达式通过单引号连接,因为双引号需要显示在SQL语句中,例如变量名称) |
lyrs = arcpy.mapping.ListLayers(mxd) # 注意写表达式的时候不能有字符串函数什么的,而且变量名需要用双引号 |
||
| 05 | Clip (Spatial Analyst) |
====<<<< Description >>>>==== 提取与裁剪要素相重叠的输入要素。(切割矢量) ====<<<< Syntax >>>>==== Clip_analysis (in_features, clip_features, out_feature_class, {cluster_tolerance}) ====<<<< Parameter >>>>==== ◈ in_features:要裁剪的要素。(图层也可以) |
arcpy.env.workspace=r"D:\Working\2017" |
||
| 06 | Extract by Mask (Spatial Analyst) |
====<<<< Description >>>>==== 提取所定义掩膜区域内的栅格像元。(切割栅格) 注意:引用函数的名称为:arcpy.sa.RasterCalculator_sa ====<<<< Syntax >>>>==== ExtractByMask (in_raster, in_mask_data) ====<<<< Parameter >>>>==== ◈ in_raster:提取像元的输入栅格。(图层也可以) ---------------------------------------------------------------------------------- ====<<<< Return Value >>>>==== ◈ out_raster:输出插值后的表面栅格。(不写扩展名的话会生成带有文件夹形式的栅格数据,如果写 *.tif,则直接生成 tif 文件,参考:Raster 类) |
# mon 用来命名文件 |
||
| 07 | CalculateAreas_stats |
====<<<< Description >>>>==== 计算面要素类中每个要素的面积值。 ====<<<< Syntax >>>>==== CalculateAreas_stats((Input_Feature_Class, Output_Feature_Class) ====<<<< Parameter >>>>==== ◈ Input_Feature_Class:输入面要素类。 |
>>> import arcpy |
||
| 08 | AddField_management |
====<<<< Description >>>>==== 向表或要素类表、要素图层、栅格目录和/或带属性表的栅格添加新字段。 ====<<<< Syntax >>>>==== AddField_management (in_table, field_name, field_type, {field_precision}, {field_scale}, {field_length}, {field_alias}, {field_is_nullable}, {field_is_required}, {field_domain}) ====<<<< Parameter >>>>==== ◈ in_table:要添加指定字段的输入表。(shapefile、栅格目录等) |
# 添加文本字段 |
||
| 09 | CalculateField_management |
====<<<< Description >>>>==== 为要素类、要素图层或栅格计算字段的值。 ====<<<< Syntax >>>>==== CalculateField_management (in_table, field, expression, {expression_type}, {code_block}) ====<<<< Parameter >>>>==== ◈ in_table:包含将通过新的计算进行更新的字段的表。 ---------------------------------------------------------------------------------- 参考:【311】Python 构建 ArcMap 标注表达式 注意:两者的表达式形式略有不同,推荐的方法是先通过 ArcMap 实现,然后将代码添加到 ArcPy 中。 参考:计算字段示例(官方帮助) |
代码块说明:在 code_block 对应参数的部分编写函数,用三引号,在 expression 对应参数进行调用 # 默认用中括号作为参数 |
||
| 10 | AlterField_management |
====<<<< Description>>>>==== 重命名字段和字段别名,或更改字段属性。 ====<<<< Syntax >>>>==== AlterField_management (in_table, field, {new_field_name}, {new_field_alias}, {field_type}, {field_length}, {field_is_nullable}, {clear_field_alias}) ====<<<< Parameters >>>>==== ◈ in_table:包含待更改字段的输入表或要素类。 ---------------------------------------------------------------------------------- 参考:Parameters not valid in batch Alter field Arcpy 参考:Change field names with Python 说明:在 ArcGIS 10.4.1 版本测试的时候一直提示 Invalid input,目前没解决。(2018-4-25) |
|||
| 11 | ApplySymbology FromLayer_management |
====<<<< Description >>>>==== 此工具用于将来自图层的符号系统应用到输入图层。此工具可应用于要素、栅格、网络分析以及 ArcMap 内容列表中的 TIN 地理统计层文件或图层。 ====<<<< Syntax >>>>==== ApplySymbologyFromLayer_management (in_layer, in_symbology_layer) ====<<<< Parameter >>>>==== ◈ in_layer:将应用符号系统的图层。 |
# 获取图层 |
||
| 12 | CreateFeatureclass _management |
====<<<< Description >>>>==== 在 ArcSDE 地理数据库、文件地理数据库或个人地理数据库中创建空要素类;在文件夹中此工具将创建 shapefile。 ====<<<< Syntax >>>>==== CreateFeatureclass_management (out_path, out_name, {geometry_type}, {template}, {has_m}, {has_z}, {spatial_reference}, {config_keyword}, {spatial_grid_1}, {spatial_grid_2}, {spatial_grid_3}) ====<<<< Parameter >>>>==== ◈ out_path:将在其中创建输出要素类的 ArcSDE 地理数据库、文件地理数据库、个人地理数据库或文件夹。此工作空间必须已经存在。 |
>>> import arcpy |
||
---- |
------------------- |
-------------------------------------------------- |
【280】◀▶ ArcPy 常用工具说明的更多相关文章
- js常用工具类.
一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...
- Linux 常用工具小结:(5) lftp工具使用
Linux 常用工具小结:(1) lftp工具使用. 这里会按照一些比较常用的功能列出,并举一个具体的例子逐一解释功能. 通常使用ftp过程是登陆ftp,浏览ftp内容,下载ftp文件,或者上传ftp ...
- spring中常用工具类介绍
http://www.cnblogs.com/langtianya/p/3875103.html 文件资源操作 Spring 定义了一个 org.springframework.core.io ...
- IOS开发--常用工具类收集整理(Objective-C)(持续更新)
前言:整理和收集了IOS项目开发常用的工具类,最后也给出了源码下载链接. 这些可复用的工具,一定会给你实际项目开发工作锦上添花,会给你带来大大的工作效率. 重复造轮子的事情,除却自我多练习编码之外,就 ...
- Apache Commons 常用工具类整理
其实一直都在使用常用工具类,只是从没去整理过,今天空了把一些常用的整理一下吧 怎么使用的一看就明白,另外还有注释,最后的使用pom引入的jar包 public class ApacheCommonsT ...
- Android 常用工具类之SPUtil,可以修改默认sp文件的路径
参考: 1. 利用Java反射机制改变SharedPreferences存储路径 Singleton1900 2. Android快速开发系列 10个常用工具类 Hongyang import ...
- 封装一个简单好用的打印Log的工具类And快速开发系列 10个常用工具类
快速开发系列 10个常用工具类 http://blog.csdn.net/lmj623565791/article/details/38965311 ------------------------- ...
- Java程序员常用工具集
我发现很多人没办法高效地解决问题的关键原因是不熟悉工具,不熟悉工具也还罢了,甚至还不知道怎么去找工具,这个问题就大条了.我想列下我能想到的一个Java程序员会用到的常用工具. 一.编码工具 1.IDE ...
- 第二章 Qt常用工具的介绍
第二章 Qt常用工具的介绍 (1)No.1 qmake 相信编写过Makefile的开发人员,随着工程中源码的级数递增和以类型.功能.模块组织源码的子目录的增多,都不愿意重复机械地手工编写这个工程管理 ...
随机推荐
- 限流之令牌桶算法——RateLimiter官方文档
原文链接 作者:Dimitris Andreou 译者:魏嘉鹏 校对:方腾飞 RateLimiter 从概念上来讲,速率限制器会在可配置的速率下分配许可证.如果必要的话,每个acquire() 会阻 ...
- Django应用部署
前言 Apachewsgi 环境搭建 安装Apache 安装mod_wsgi 添加djangowsgi文件 配置etcapache2httpdconf wsgipy配置 跑起来吧 uWSGI 环境搭建 ...
- Mac安装并破解StarUML
1.下载与安装这里不做赘述,直接去官网下载即可 http://staruml.io/ 2.关键的事情来了,破解 一.打开安装包的目录 cd /Applications/StarUML.app/Cont ...
- Django之模板(Template)
Django模板系统 官方文档 每一个Web框架都需要一种很便利的方法用于动态生成HTML页面. 最常见的做法是使用模板. 模板包含所需HTML页面的静态部分,以及一些特殊的模版语法,用于将动态内容插 ...
- cocos2d-x3.16 default模式项目 Android Studio C++文件编译失败问题
gradle sync正常,但是在编译的时候几乎自己写的Classes里全部c++文件的最后一行都在报错,原来是3.16 模板cpp-template-default内的Android.mk文件内这一 ...
- 关于file.writelines换行符的添加
和file.readlines/readline不同,file.writelines(l)如果l元素没有换行符,writelines是不会自动加入换行符的,需要我们自己添加,就像这样. import ...
- 接口测试基础——第5篇xlrd模块
读取Excel表格中的内容,不多说,直接上代码: # coding: utf-8 import xlrd # excel路径 excel_path = r'C:\Users\weiming\Deskt ...
- SP104 HIGH - Highways
vjudge luogu 题意 就是要你求无向图的生成树个数.\(n\le 12\),保证答案不爆\(long long\). sol 矩阵树定理直接上. 如果怕掉精可以写整数意义下的高斯消元,需要辗 ...
- 【LIUNX】目录或文件权限,权限授予
三个三个一组看: 1. 第一段表示文件所有者对此文件的操作权限 2. 第二段表示文件所有者所在组对些文件的操作权限 3. 第三段表示除上述两种外的任何用户/组对此文件的操作权限 r读取:4 w写入:2 ...
- 真正明白c语言二级指针
指针是C语言的灵魂,我想对于一级指针大家应该都很熟悉,也经常用到:比如说对于字符串的处理,函数参数的“值,结果传递”等,对于二级指针或者多级指针,我想理解起来也是比较容易的,比如二级指针就是指向指针的 ...