kelann_ 2024-11-02 18:08 采纳率: 0%
浏览 4

在 ArcGIS Pro 中运行自定义 Python Tool,为什么运行进程窗口显示 Message 数量为1但却不显示具体内容?

img

在 ArcGIS Pro 中运行自定义 Python Tool,为什么运行进程窗口显示 Message 数量为1但却不显示具体内容?

代码执行部分:


def execute(self, parameters, messages):
        """The source code of the tool."""
        inFeatures = parameters[0].valueAsText
        outFeatureClass = parameters[1].valueAsText

        agisurl = inFeatures
        payload = {'where':'DailyAcres > 5','f':'pjson','outFields':'IncidentName,DailyAcres'}
        r = requests.get(inFeatures, params=payload)
        arcpy.AddMessage(r.text)

        return

需要显示的是 arcpy.AddMessage(r.text) 的内容。

  • 写回答

1条回答 默认 最新

  • 香格里辣 2024-11-02 18:09
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    在ArcGIS Pro中运行自定义Python Tool时,如果运行进程窗口显示Messages数量为1但却不显示具体内容,可能是由于以下几个原因造成的:

    1. 权限问题:确保你的ArcGIS Pro有足够的权限来显示消息。有时,可能需要管理员权限或特定的设置才能显示消息。
    2. 代码错误:检查你的代码执行部分是否有任何错误。例如,检查是否正确地导入了所需的库(如requestsarcpy),并确保你的execute函数被正确地调用。
    3. 消息过滤:ArcGIS Pro可能默认过滤了一些消息或只显示错误信息。尝试查看是否有任何设置或选项可以更改以显示所有消息。
    4. 输出重定向:在某些情况下,输出可能被重定向到其他地方而不是直接在ArcGIS Pro的界面中显示。确保没有其他代码或设置影响消息的显示。
    5. 响应内容问题:如果r.text(即响应的内容)为空或不符合预期,那么arcpy.AddMessage(r.text)自然不会显示任何内容。确保请求的URL和参数正确,并且服务器响应包含预期的消息或数据。
    6. ArcGIS版本问题:确保你使用的ArcGIS Pro版本与你的代码和工具兼容。有时,新版本的ArcGIS可能会更改某些功能的工作方式。

    针对你提供的代码执行部分,检查以下几点:

    • 确保你已正确导入了requestsarcpy库。
    • 确保inFeatures变量(即URL)是正确的,并且服务器响应包含你想要显示的消息。
    • 考虑添加一些错误处理代码来捕获任何可能的异常,并在捕获异常时添加消息,这样即使出现错误,你也能在Messages中看到相关信息。

    如果以上建议都不奏效,建议查看ArcGIS的官方文档或寻求ArcGIS社区的帮助,以获取更具体的解决方案。

    评论

报告相同问题?

问题事件

  • 创建了问题 11月2日