0101-ArcPy:将脚本工具的处理结果作为参数输出
2018-02-12 11:49
288 查看
最近在使用ArcPy进行空间分析处理的时候,遇到需要将最终的处理结果以输出参数的形式返回,目的是为了能够把每个分析功能作为封装好的小工具,然后根据业务需要用ModelBuilder来组合使用。工具执行的结果输出譬如下面这张图所示:
上图中的【裁缓】工具是用ArcPy脚本写好并作为脚本工具添加到ArcMap中,执行完这个工具之后会输出一个要素类作为执行的结果。要实现这个结果,只需要在添加脚本工具时,设置一个参数作为结果输出,如下图所示:
根据上图所示,在【参数】选项卡中输入一个参数,之后在参数属性那里配置方向为【Output】。至于代码层面,只需要通过arcpy.GetParameterAsText()函数,获取到输出要素类的存储路径,之后在执行完成之后保存到该路径即可。完整的代码如下:
最终执行的结果如下图所示:
PS:转发请注明出处!
上图中的【裁缓】工具是用ArcPy脚本写好并作为脚本工具添加到ArcMap中,执行完这个工具之后会输出一个要素类作为执行的结果。要实现这个结果,只需要在添加脚本工具时,设置一个参数作为结果输出,如下图所示:
根据上图所示,在【参数】选项卡中输入一个参数,之后在参数属性那里配置方向为【Output】。至于代码层面,只需要通过arcpy.GetParameterAsText()函数,获取到输出要素类的存储路径,之后在执行完成之后保存到该路径即可。完整的代码如下:
#coding=utf-8 import arcpy # 设置输入要素 inputFeatures = arcpy.GetParameterAsText(0) # 设置裁剪要素 clipFeatures = arcpy.GetParameterAsText(1) # 设置输出要素 outFeatures = arcpy.GetParameterAsText(2) # Use scratchGDB environment to write intermediate data tempData = arcpy.CreateScratchName(workspace=arcpy.env.scratchGDB) try: clipOutFeatureClass = arcpy.Clip_analysis(inputFeatures, clipFeatures, tempData, 1.5) arcpy.Buffer_analysis(clipOutFeatureClass, outFeatures, "10 Kilometers", "FULL", "ROUND", "NONE") except Exception as err: arcpy.AddError(err) print err
最终执行的结果如下图所示:
PS:转发请注明出处!
相关文章推荐
- 0101-ArcPy:使用内存作为工作空间,提升地理处理工具性能
- xargs工具将一个命令的输出作为另一个命令的参数 分类: ubuntu 测试 2014-01-22 15:13 509人阅读 评论(0) 收藏
- xargs工具将一个命令的输出作为另一个命令的参数
- LINUX下用SHELL脚本执行带输入输出参数的ORACLE存储过程并得到结果
- LR系列--LR脚本中动态获取数据库的值作为参数进行处理
- Log4j输出方法参数不同所显示的结果不同参考
- Swift在同一条语句中传递方法结果到方法参数情况的处理
- 关于提取输出结果的一个批处理
- 将Linux命令的结果作为下一个命令的参数
- shell 脚本之获取命令输出字符串以及函数参数传递
- 用脚本生成授权语句,输入参数包括用户名、IP、数据库名、要求的权限列表,输出为授权sql
- C++实现字符串数组作为函数的参数的反序输出
- 4.构造方法与重载:定义一个网络用户类,要处理的信息有用户 ID、用户密码、 email 地址。在建立类的实例时把以上三个信息都作为构造函数的参数输入, 其中用户 ID 和用户密码时必须缺省时 ema
- 使用getopts处理Shell脚本参数 (转)
- shell脚本选项参数处理学习getopts|getopt
- c# 防止sql注入对拼接sql脚本的各个参数处理
- linux中的for、while循环输出中赋值变量及shell中循环获取脚本参数
- MYSQL:使用\G参数改变输出结果集的显示方式
- 按值、按引用和作为输出变量传递数组参数
- shell脚本处理JSON数据工具jq