问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

python 可以调用arcgis工具吗

发布网友 发布时间:2022-04-24 09:24

我来回答

2个回答

热心网友 时间:2022-04-18 20:19

arcgis可以用Python脚本

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

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()

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

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

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

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

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

但改为相对路径后,在其他电脑上也能正常运行,但弹出了警告窗口。原因是客户机上没有勾选扩展模块相应的功能。这个示例需要勾选空间分析模板,因为使用了按掩膜提取这个工具。这个脚本实现的详情参考:使用Python脚本批量裁切栅格
发布给他人,涉及到个人知识产权的问题,怎样让他人使用工具,又不能看到脚本代码?如果编辑调试完成了,在脚本工具右键可导入脚本。

设置密码后,即可。

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

热心网友 时间:2022-04-18 21:37

你是想学PYTHON编程还是只是想只得到这个PYTHON文件。可以给你提供一条简洁的途径用modelbuilder来实现,将多个SHP文件拖入进去,再把MERGE工具拖进去,双击modelbuilder中的merge工具框设置,再双击output dataset框设置输出。然后将这些shp文件用倒数第二个按钮添加链接的功能将他们一个个与merge工具框链接起来。最后点击model-export-to srcipt-python 就会输出一个python文件,可以用记事本打开查看里面的代码。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
父母爱情:最不像演员的演员,出场狼狈却没想到是个“王者”吗?_百度知 ... 上海交大研究生电气工程及其自动化专业住宿条件如何 上海交大的电气工程怎么样 上海交通大学电气工程系历史沿革 上海交大电院直博几年 抖音的取消收藏功能怎么不见了 成考本科专业有哪些专业可以选 专升本成人高考有些什么专业可以选择 2024专升本成考有什么专业可以选 2024美术生高考文化课300分能上什么大学 arcgis中打开python后,如何编程? arcgis字段计算器编写Python程序 arcgis怎么用python 怎么用python开发arcgis Arcgis 下python编程 一般网上卖的手机充电套装是多少瓦的 intel芯片组的板子要装些什么驱动 欢乐斗地主小程序和app版的欢乐豆一样吗? 微信游戏斗地主 如何给别人充欢乐豆 微星官网的主板驱动,要全部安装吗? 主板驱动程序到底需不需要装? 可以登电脑上的欢乐斗地主吗 刚去微星官网下主板驱动,但是看不懂,不知道都是干嘛的,有大神帮我看... 在安装显卡驱动是总是提示要先安装inter@ driver,为什么? 英特尔芯片组软件安装实用程序是什么,要不要安装? 在微信上玩欢乐斗地主必须要下载这个软件吗? Intel Rapid Storage Technology这个驱动一般需要安装吗 微信欢乐斗地主怎么升级最新版本 电脑是否必须安装INTEL芯片组驱动程序 什么是Intel芯片组驱动程序,刚重装的系统需要安装这个吗? 关于arcgis的python脚本编程, shape文件出png图片问题 python 怎么在arcgis里用 arcgis中Python条件语句使用求教 如何用python在arcgis中编写程序,求两点的最短路径 arcgis9.3怎么使用python ARCGIS中使用python。arcpy函数那么多,怎样找到要使用的函数?_百度... 在arcgis中如何保存python程序 怎样用arcgis中的python进行批量投影 有没有吧友有《面向arcgis的python脚本编程》的PDF 怎么用python制作ArcGIS断裂点插件 向精通ArcGIS——python脚本开发的同学请教 快手的建帅手机发起“集赞”幸运活动是免费还是不免费 电脑主机有哪些 快手集赞过点就不给了吗? 电脑主机有哪些部件组成,各有什么用处 谁有快手集赞的赞啊? 旧手机损坏通讯录怎样快速导入新手机- 问一问 写事作文(200字) 写事的作文,200字左右 众说纷纭说金钱,急!!!