作为毕业论文的结果,我正在尝试使用Python脚本为ArcGIS创建一个新的工具箱。问题是我被我的代码卡住了,因为Arcpy中的现有功能都没有我需要做的事情。所以我的问题是,是否可以在Arcpy中创建一个新功能,或者这仅限于ESRI开发人员?
解决此问题的另一种方法是在Spatial Analyst的工具成本距离中实施一些更改。所以我的另一个问题是,我是否可以访问ArcGIS中的本机工具的编码?如果我有,我可以改变它来实现我的目标吗?或者这也受到限制?
谢谢,
加布里埃尔
答案 0 :(得分:1)
您可以create your own functions使用Python和Python arcpy站点包。 ESRI的所有工具都是专有的,因此大多数都限制访问。您可以检查是否可以编辑ArcToolbox中的工具。例如,您可以看到“成本距离”工具受到限制:
通过右键单击脚本工具可以编辑带障碍的样条曲线工具。
答案 1 :(得分:1)
您可以按照以下帮助为ArcPy创建自己的python工具箱:http://resources.arcgis.com/en/help/main/10.2/index.html#//001500000022000000
还要检查现有工具的环境变量,它可能有一些您正在寻找的选项。
答案 2 :(得分:0)
我知道这已经晚了一年,但我想为那些正在寻找python toolbox帮助的人发布的内容添加一些想法。
出于教育目的,首先在模型构建器中创建模型。这是以新方式使用ESRI专有工具的一种方法。决定你想做什么,看看ESRI在GitHub上的存在。那里的开发人员有很多可以在ArcMap中使用的开源工具。这是一个这样的存储库:GeospatialPython
附注,为存储库做出贡献是一个很棒的简历构建器。
创建工作模型构建器后,在ArcCatalog中右键单击它并选择“导出为Python脚本”。在您喜欢的IDE中打开脚本并开始清理它!
现在你有了一个python脚本,它已经准备好成为一个python工具箱。使用gDexter42的链接并开始工作。
我的团队对python工具箱有一些有趣的用途,我目前正在创建我的第一个。
ESRI鼓励创造力和开源使用(查看esri传单)。我不会限制我的想法,因为ESRI的工具是专有的。
所有这些功能都是在ArcMap中作为模型开始的。不是每个人都需要创建自己的模块 - 对于大多数任务来说完全过度 - 但是很高兴知道Python功能的上限很高。我不是一个经验丰富的开发人员,但我能够在大约25个工时的工作中从零开始到功能性python工具箱。知道他们的东西的人可以在早上做到。