常见问题

常见问题解答:为什么在地理处理调度对象上调用方法时,Python 偶尔会停止响应?

Last Published: January 6, 2021

答案

注: 本文适用于 ArcGIS 9.x 和 10.0 版本。 更高版本的 ArcGIS 可能包含不同的功能,对于菜单、命令和地理处理工具,可能具有不同的名称和位置。

在许多情况下,此问题由许可冲突引起。 Python 假设用户拥有 ArcInfo 许可,否则,Python 偶尔会停止响应。 即使用户仅使用适用于其特定许可的工具,也会发生这种情况。

要解决此问题,必须确认 Python 已知所使用的许可。 可以通过使用调度对象上的“SetProduct”方法来执行此操作。 以下代码片段提供了一个示例。

代码: import win32com.client gp = win32com.client.Dispatch("esriGeoprocessing.GPDispatch.1") gp.SetProduct("ArcView")

要确认可用许可,请使用调度对象上的“CheckProduct”方法。 以下代码片段提供了一个示例。

代码: import win32com.client gp = win32com.client.Dispatch("esriGeoprocessing.GPDispatch.1") print "ArcView license is " + gp.CheckProduct("ArcView") print "ArcEditor license is " + gp.CheckProduct("ArcEditor") print "ArcInfo license is " + gp.CheckProduct("ArcInfo")

文章 ID:000006981

从 ArcGIS 专家处获得帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项

发现关于本主题的更多内容