python编写arcgis脚本教程_ArcGIS使用Python脚本工具

在Pyhton写的一些代码,用户交互不方便,用户体验比较差,不方便重用。在ArcGIS中可以将用写的Python代码导入到ToolBox中,这样用起来就比较方便了。这里用按要素裁剪栅格的Python来演示如何导入ArcGIS中。代码如下:

import sys

reload(sys)

sys.setdefaultencoding( "utf-8" )

import arcpy

import string

from arcpy.sa import *

try:

raster = arcpy.GetParameterAsText(0) #要裁剪的栅格

clip_feat = arcpy.GetParameterAsText(1) #裁剪要素类

field = arcpy.GetParameterAsText(2) #命名字段

outworkspace = arcpy.GetParameterAsText(3) #命名字段裁剪后输出目录

for row in arcpy.SearchCursor(clip_feat):

mask=row.getValue("Shape")

outPath=outworkspace+"\\"+str(row.getValue(field))

outExtractByMask = ExtractByMask(raster,mask)

outExtractByMask.save(outPath)

except arcpy.ExecuteError:

print arcpy.GetMessages()

在用户工具箱中新建工具箱(在系统工具箱中不能新建),在工具箱右键,添加脚本;

271504337376765.png

271504354419551.png

输入名称、标签、描述等信息。下一步,选择脚本文件。(这里需要注意的是:一定要勾选"存储相对路径名"这个选项)

271504365814468.png

271504380343713.png

设置参数,这是最重要的一步。其中参数即代码中GetParameterAsText(n),并选择合适的数据类型,在参数属性中也可以进行相关设置。如果输出栅格名称按裁剪要素中的某个字段,需要设置"获取息"属性,还要进行过滤一下。

271504400193584.png

设置好一切参数过后,就可以来进行测试了。在本机上测试通!

271504415661857.png

接下来便是怎样移植到其他电脑了的问题了。前面我说说过要存储为相对路径,否则,将报错00576:脚本工具使用的脚本未处于所需位置。创建脚本工具时,有一个选项用于存储相对路径名(而不是绝对路径名)。设置此选项后,脚本的相对位置和保存脚本工具的工具箱必须保持不变。执行工具时移动两者中的任何一个都会出现此错误。

271504428004801.png

但改为相对路径后,在其他电脑上也能正常运行,但弹出了警告窗口。原因是客户机上没有勾选扩展模块相应的功能。这个示例需要勾选空间分析模板,因为使用了按掩膜提取这个工具。这个脚本实现的详情参考:使用Python脚本批量裁切栅格

发布给他人,涉及到个人知识产权的问题,怎样让他人使用工具,又不能看到脚本代码?如果编辑调试完成了,在脚本工具右键可导入脚本。

271504440347745.png

271504470037018.png

设置密码后,即可。

271504483318991.png

但必须注意的是:整个代码中不能有中文字符,否则,不能正常导入脚本,发布出去的脚本工具就有问题。没办法,对中文支持不好。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/575228.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

初步认识java中的方法

java中方法: 方法:是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能。需要这个功能的时候,就可以去调用。这样即实现了代码的复用,也解决了代码冗余的问题。 public class Methods…

python中可以使用变量来引用函数吗_如何在python语言中使用函数变量并调用函数...

在python语言中,除了常规变量之外,还有函数变量。把函数本身赋值给变量,这个变量为函数变量。工具/原料 python pycharm 截图工具 WPS 方法/步骤 1 在已新建的python文件中,定义函数mul_data,传入两个参数param和exp2 …

ACM竞赛常用STL(二)之STL--algorithm

<algorithm>无疑是STL 中最大的一个头文件&#xff0c;它是由一大堆模板函数组成的。下面列举出<algorithm>中的模板函数&#xff1a; adjacent_find / binary_search / copy / copy_backward / count/ count_if / equal / equal_range / fill / fill_n / find /fi…

C语言程序设计现代方法1,2,3章

1&#xff1a;浮点型&#xff08;float&#xff09;运算比int慢&#xff0c;并且可能存在舍入误差 如float存储0.1&#xff0c;以后使用可能会变成0.099999999987 2&#xff1a;宏定义只用大写&#xff0c;这是大多数C程序猿遵循的规范&#xff01; C语言区分大小写&#xff0c…

python全栈要学什么_python全栈要学什么 python全栈学习路线

IT行业&#xff0c;技术要比学历、年龄、从业经验更为重要&#xff0c;技术水平直接决定就业薪资&#xff0c;想要学好python&#xff0c;首先要先了解精通Python语言基础、Python web开发、Python爬虫、Python数据分析这四大方面。 全栈即指的是全栈工程师&#xff0c;指掌握多…

初识java中数组、数组在内存中、越界异常、空指针异常

数组&#xff1a; 当存储多个数据时&#xff0c;此时可能会使用多个变量&#xff0c;这样不断声明变量会很麻烦&#xff0c;而这些变量都有相似的特性&#xff0c;因此我们可以将它们存放到一个容器中&#xff0c;统一处理。 容器&#xff1a;是将多个数据存储到一起&#xf…

异常处理python 空气质量问题_python的异常处理

异常处理什么是异常&#xff1f;首先要清楚&#xff0c;什么是异常&#xff0c;异常就是程序运行时发生错误的信号(在程序出现错误时&#xff0c;则会产生一个异常&#xff0c;若程序没有处理它&#xff0c;则会抛出该异常&#xff0c;程序的运行也随之终止)&#xff0c;在pyth…

Android获取屏幕实际高度跟显示高度,判断Android设备是否拥有虚拟功能键

//获取屏幕尺寸&#xff0c;不包括虚拟功能高度 getWindowManager().getDefaultDisplay().getHeight();获取屏幕原始尺寸高度&#xff0c;包括虚拟功能键高度&#xff0c; private int getDpi(){ int dpi 0;Display display getWindowManager().getDefaultDisplay();Displa…

cad小插件文字刷_文字狗最佳排版神器 小恐龙公文排版助手Office WPS插件

文字狗最佳排版神器文字狗最佳排版神器 小恐龙公文排版助手Office WPS插件1.85最新版 无需注册、无需其他费用、无广告。相信大家所需要提交的各种论文、报告等Word文档都对格式有着非常严格的要求&#xff0c;对标题、目录、正文都有不同的要求。尤其是对于公文&#xff0c;要…

Java中的对象、private关键字、this关键字、构造方法

面向对象 概述&#xff1a;Java一种面向对象的程序设计语言&#xff0c;面向对象思想是一种程序设计思想&#xff0c;在面向对象思想的指引下&#xff0c;使用Java语言去设计、开发计算机程序。 这里的对象泛指现实中一切事物&#xff0c;每种事物都具备自己的属性和行为。 …

2060显卡驱动最新版本_教程:怎么安装更新NVIDIAAMD显卡驱动?

PART-1:装驱动这么简单的事情真的需要写教程吗&#xff1f;我自己都理解不了我为什么要写这样一个教程&#xff0c;但是如你所见&#xff0c;他确实被我写出来了&#xff0c;而且对大部分人都挺有用。首先&#xff0c;使用鲁大师以及驱动精灵这类软件的同学自己喜欢就好&#x…

C语言实现泛型编程

http://www.cnblogs.com/archimedes/p/c-general-function1.html转载于:https://www.cnblogs.com/LittleTiger/p/3980416.html

中电福富外包offer要等多久_记一次外包经历

开题&#xff0c;我是知道外包很坑的&#xff0c;无论从待遇&#xff0c;体验&#xff0c;未来职业发展&#xff0c;那都是非常负面的。最近随家人&#xff08;二孩都需要照顾&#xff09;搬到弱二线城市&#xff0c;想找个开发岗&#xff0c;招聘网上基本都被外包包场了&#…

mysql 两个时间相差大于24小时的数据_MySQL 主从同步延迟的原因及解决办法(仅学习)...

原文链接&#xff1a;https://blog.csdn.net/hao_yunfeng/article/details/82392261Mysql主从基本原理&#xff0c;主要形式以及主从同步延迟原理 (读写分离)导致主库从库数据不一致问题的及解决方案 一、主从数据库的区别 从数据库(Slave)是主数据库的备份&#xff0c;当主数据…

分形之万花筒

万花筒是一种光学玩具&#xff0c;只要往筒眼里一看&#xff0c;就会出现一朵美丽的“花”样。将它稍微转一下&#xff0c;又会出现另一种花的图案。不断地转&#xff0c;图案也在不断变化&#xff0c;所以叫“万花筒”。万花筒的图案是靠玻璃镜子反射而成的。它是由三面相交成…

java中常用API、Scanner类、匿名对象、Random类、ArrayList类、对象数组

java中常用API&#xff1a; API&#xff1a;Application Programming Interface&#xff0c;应用程序编程接口。Java API是JDK中提供给我们使用的类的说明文档。这些类将底层的代码实现封装了起来&#xff0c;我们不需要关心这些类是如何实现的&#xff0c;只需要知道如何使用…

数字图像处理课设图像的锐化_数字图像处理图像锐化处理.ppt

数字图像处理图像锐化处理4.7.2 灰度级到彩色转换 灰度级到彩色转换(例) 在HSI彩色空间的直方图均衡强度均衡处理没有改变图像的色调和饱和度值&#xff0c;但它的确影响了整体图像的彩色感观。 向量分量可以用传统的灰度邻域处理单独地平滑RGB图像的每一平面得到。 用拉普拉斯…

Java中String类、字符串常量池、字符串常用方法

String类&#xff1a; String代表字符串类&#xff0c;java中所有双引号中的内容都称为字符串&#xff0c;如&#xff1a;“hello”。字符串是不可改变的&#xff0c;因此字符串是可以共享使用的&#xff0c;相当于char字符数组&#xff0c;但是底层原理是byte字节数组。 创建…

mysql同步数据到另一张表_mysql:Otter跨机房数据同步(单向)

重要说明&#xff1a;需要同步的表必须要有主键 主键 主键otter是一款基于Java且免费、开源基于数据库增量日志解析&#xff0c;准实时同步到本机房或异地机房的mysql/oracle数据库的解决方案。Otter目前支持了什么1. 单向同步&#xff0c; mysql/oracle互相同步2. 双向同步&am…

04day1

无穷的数列 找规律 【问题描述】 有一个无穷序列如下&#xff1a; 110100100010000100000… 请你找出这个无穷序列中指定位置上的数字。 【输入】 第一行一个正整数 N&#xff0c;表示询问次数&#xff1b;接下来的 N 行每行一个正整数 Ai&#xff0c;Ai 表示在序列中的位置。 …