ArcGIS Python脚本使用

前文中我们介绍了在IDE中如何使用arcpy工具来建立脚本,建立脚本的目的是为了简化工作量并进行批处理,如何在ARCGIS环境中调用我们编写的脚本呢?

示例如下,分为几个方面:1、参数脚本的生成 2、ArcGIS环境添加Python脚本

1、脚本生成

# coding=utf-8importsysreload(sys)sys.setdefaultencoding(‘utf-8’)importarcpypath = arcpy.GetParameter(0)arcpy.env.workspace = pathfcs = arcpy.ListFeatureClasses()fcCount=len(fcs)forfcinfcs:    arcpy.SetProgressorLabel(“要素”+fc+“…”)try:        arcpy.RepairGeometry_management(fc)        arcpy.AddMessage(fc +” had repair geometry “)except:        arcpy.AddError(fc+“修复失败”)

上述脚本实现的功能很简单,遍历FileGDB下面的所有要素类,然后进行修复几何操作

2、ArcGIS 环境添加使用脚本

(1)添加脚本。在catalog窗口新建工具箱,并点击添加脚本,如下图

5140474-d66cd77cdb367828

(2)设置参数名称和类型

5140474-68dd058fd46ec445

在这个参数中我们还可以进行进一步的过滤设置,为其制定工作空间的类型,文件、数据库、SDE

5140474-2285fbf6a31fd57b

最后选择第二项进行文件夹数据库过滤

(3)ArcGIS环境中调用脚本,添加完成之后就如同一个ToolBox正常使用这个工具

5140474-32bc1f1f8b508ab2

在执行过程中就会有相应的信息在结果窗口中显示,

arcpy.AddMessage(fc +” had repair geometry “) 这个语句用来对处理结果进行信息显示

5140474-8d59316870b8df48

arcpy.SetProgressorLabel(“要素”+fc+“…”) 这一语句用来进行处理进度条的显示,但是有中文乱码问题,在使用过程中推荐使用英文状态,如果有高手知道为什么请留言

后续:中文乱码问题可以使用

# -*- coding: cp936 -*-  字符集来解决

转载自:https://blog.csdn.net/weixin_33795093/article/details/88265299

You may also like...