【问题标题】:(ArcGIS) Create new function for Arcpy(ArcGIS) 为 Arcpy 创建新函数
【发布时间】:2014-03-29 01:10:33
【问题描述】:

作为毕业论文的结果,我正在尝试使用 Python 脚本为 ArcGIS 创建一个新工具箱。问题是我被我的代码卡住了,因为 Arcpy 中的现有函数都没有做我需要做的事情。所以我的问题是,是否可以在 Arcpy 中创建一个新函数,或者这仅限于 ESRI 开发人员?

解决此问题的另一种方法是对工具成本距离与 Spatial Analyst 进行一些更改。所以我的另一个问题是,我是否可以访问 ArcGIS 的本地工具的编码?如果我有,我可以改变它来实现我的目标吗?还是这个也有限制?

谢谢,

加布里埃尔

【问题讨论】:

    标签: python toolbox arcpy


    【解决方案1】:

    您可以使用 Python 和 Python arcpy 站点包create your own functions。 ESRI 的所有工具都是专有的,因此,大多数工具的访问权限都受到限制。您可以检查是否可以编辑 ArcToolbox 中的工具。例如,您可以看到成本距离工具受到限制:

    虽然可以通过右键单击脚本工具来编辑带障碍的样条线工具。

    【讨论】:

    • 这对亚伦很有帮助!谢谢!
    【解决方案2】:

    您可以按照以下帮助为 ArcPy 创建自己的 Python 工具箱:http://resources.arcgis.com/en/help/main/10.2/index.html#//001500000022000000

    还要检查您现有工具的环境变量,它可能有一些您正在寻找的选项。

    【讨论】:

      【解决方案3】:

      我知道这已经晚了一年,但我想为像我这样正在搜索 python 工具箱帮助的人发布的内容添加一些想法。

      出于教育目的,首先在模型生成器中创建模型。这是以新方式使用 ESRI 专有工具的一种方式。决定你想做什么,看看 ESRI 在 GitHub 上的存在。那里的开发人员有很多可以在 ArcMap 中使用的开源工具。这是一个这样的存储库:GeospatialPython

      旁注,为存储库做出贡献是一个伟大的简历构建者。

      创建工作模型构建器后,在 ArcCatalog 中右键单击它并选择“导出为 Python 脚本”。在您喜欢的 IDE 中打开脚本并开始清理它!

      现在你已经有了一个 python 脚本,它已经准备好成为一个 python 工具箱了。使用 gDexter42 的链接并着手处理。

      我的团队对 python 工具箱有一些有趣的用途,我目前正在创建我的第一个工具箱。

      1. 我们使用运行脚本来调试我们的软件。 (硬编码参数)
      2. 我们对反复使用的函数使用继承(类 BaseToolboxMixin(object):)Stack Exchange Article on Mixins
      3. 最重要的是,我们围绕该工具创建了自己的 python 模块。
      4. 我们创建的 .pyt 文件只是导入我们创建的模块 arcpy,从我们在“toolbox_loader.py”文件中创建的列表中执行模块,并且有一个调用 init 的类首先创建模块的文件。 > 20 行代码。
      5. 随着我们的团队为模块/python 工具箱创建更多工具,我们会将它们添加到列表中。它们将与所有 ESRI 工具一起出现在我们的工具箱中。 “无缝集成”在今年的开发者峰会上被广泛讨论。

      ESRI 鼓励创造力和开源使用(查看 esri 传单)。我不会限制我的想法,因为 ESRI 的工具是专有的。

      所有这些功能都是从 ArcMap 中的模型开始的。不是每个人都需要创建自己的模块——对于大多数任务来说完全是多余的——但很高兴知道 Python 功能的上限很高。我不是一个经验丰富的开发人员,但我能够在大约 25 个工时的工作中从一无所有变成一个功能强大的 Python 工具箱。知道自己的东西的人可以在早上完成。

      【讨论】:

        猜你喜欢
        • 2021-07-04
        • 2016-06-26
        • 2022-10-21
        • 2012-12-31
        • 2020-11-14
        • 1970-01-01
        • 1970-01-01
        • 2018-12-19
        • 2015-02-23
        相关资源
        最近更新 更多