Suite

Erreur arcpy pantoselected

Erreur arcpy pantoselected


J'essaie d'obtenir une entrée utilisateur pour obtenir un nom de parcelle et faire défiler la carte jusqu'à cette sélection. Qu'est-ce que je fais mal dans le code ci-dessous?

import arcpy #Msg box pour obtenir le nom de la parcelle parcel_Name = str(arcpy.GetParameterAsText(0)) arcpy.AddMessage ("Chargement de la parcelle " + parcel_Name) essayez: mxd = arcpy.mapping.MapDocument('CURRENT') df = arcpy.mapping .ListDataFrames(mxd, "Layers") [0] ssparcel = arcpy.mapping.ListLayers(mapDoc, "ssparcel", df)[0] whereClause = "Name ='%s'" % parcel_Name arcpy.SelectLayerByAttribute_management(ssparcel, " NEW_SELECTION", whereClause) df.extent = df.panToExtent(ssparcel.getSelectedExtent()) #df.scale *= 1.5 arcpy.RefreshActiveView() sauf : arcpy.AddWarning ("Error")…

J'ai supprimé le "try" et j'ai obtenu l'erreur suivante :

Exécution : Script "0002" Heure de début : Jeu 05 juin 11:32:14 2014 Script en cours d'exécution… IndentationError : retrait inattendu (abcd.py, ligne 9) Échec de l'exécution (Script). Échec à Thu Jun 05 11:32:14 2014 (Temps écoulé : 0,00 secondes)


Ce qui suit a fonctionné pour moi dans la fenêtre Python :

mxd = arcpy.mapping.MapDocument("current") df = arcpy.mapping.ListDataFrames(mxd)[0] lyr = arcpy.mapping.ListLayers(mxd, "Prog*", df)[0] arcpy.SelectLayerByAttribute_management(lyr , "NEW_SELECTION", "OBJECTID=1") df.panToExtent(lyr.getSelectedExtent()) arcpy.RefreshActiveView()

Ou, les deux dernières lignes peuvent être combinées comme (comme vous l'avez fait) :

df.extent = df.panToExtent(lyr.getSelectedExtent())

ÉDITER: La différence que je vois avec le vôtre est la variablemapDoc.

Comment passer un paramètre de chaîne obtenu de l'utilisateur comme "OBJECTID="&userinput ?