Perguntas mais frequentes

Por que o Python ocasionalmente para de responder ao solicitar um método no objeto de despacho do geoprocessamento?

Last Published: January 6, 2021

Resposta

Nota: Este artigo se refere às versões do ArcGIS 9.x e 10.0. Versões posteriores do ArcGIS podem conter diferentes funcionalidades, como também, diferentes nomes e locais para menus, comandos e ferramentas de geoprocessamento.

Em muitos casos, esse problema é causado por um conflito de licença. O Python assume que o usuário tem uma licença ArcInfo e ocasionalmente para de responder se este não for o caso. Isso pode ocorrer mesmo quando o usuário está usando apenas as ferramentas disponíveis para sua licença específica.

Para contornar esse problema, sempre verifique se o Python sabe qual licença está sendo usada. Faça isso usando o método 'SetProduct' no objeto de despacho. O snippet de código abaixo fornece um exemplo.

Código: import win32com.client gp = win32com.client.Dispatch("esriGeoprocessing.GPDispatch.1") gp.SetProduct("ArcView")

Para verificar quais licenças estão disponíveis, use o método 'CheckProduct' no objeto de envio. O snippet de código abaixo fornece um exemplo.

Código: 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 do Artigo:000006981

Obtenha ajuda de especialistas do ArcGIS

Entre em contato com suporte técnico

Baixe o Esri Support App

Ir para opções de download

Descubra mais sobre este tema