Suite

L'objet 'Résultat' n'a pas d'attribut 'GetMessage', exemple ArcGIS

L'objet 'Résultat' n'a pas d'attribut 'GetMessage', exemple ArcGIS


J'utilise l'exemple ArcGIS suivant pour calculer la surface et le volume d'un raster. J'ai ajouté le script à ma boîte à outils :

« ****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** *************************** Nom : Exemple de volume de surface Description : Ce script montre comment utiliser l'outil Volume de surface. ***** ******************************************************** *********************"# Import system modules import arcpy from arcpy import env import exceptions, sys, traceback try: # Obtenir une licence pour l'extension ArcGIS 3D Analyst arcpy.CheckOutExtension("3D") # Définir les paramètres d'environnement env.workspace = "C:/output" # Définir les variables locales inSurface = "extract1" #Execute SurfaceVolume result = arcpy.SurfaceVolume_3d(inSurface, "", "BELOW", " 2", "1", "5") print result.GetMessage(0) except arcpy.ExecuteError : print arcpy.GetMessages() except : # Obtenir l'objet traceback tb = sys.exc_info()[2] tbinfo = traceback. format_tb(tb)[0] # Concaténer les informations d'erreur dans la chaîne de message pymsg = 'ERREURS PYTHON :
Informations de traçabilité :
{0}
Informations d'erreur :
{1}' .format(tbinfo, str(sys.exc_info ()[1])) msgs = 'ERREURS ArcPy :
 {0}
'.fo rmat(arcpy.GetMessages(2)) # Renvoie les messages d'erreur python pour l'outil de script ou la fenêtre Python arcpy.AddError(pymsg) arcpy.AddError(msgs)

Le script ne fonctionne pas du tout. L'erreur que je n'arrive pas à éviter est

L'objet 'Résultat' n'a pas d'attribut 'GetMessage'.

SurfaceVolume_3dfonctionne lorsque la sortie est un fichier et que le résultat n'est pas imprimé.

Je ne comprends tout simplement pas pourquoi cela ne fonctionne pas dans le script Python. Je n'ai pas trouvé d'informations utiles sur ce comportement.


Pour un objet de résultats, la ponctuation est légèrement différente de celle de la méthode GetMessage.

imprimer result.getMessage(0)