Comment puis-je ajouter un shapefile dans ArcGIS via un script python?
Je suis en train d'automatiser des tâches diverses dans ArcGIS Desktop (à l'aide d'ArcMap en général) avec Python, et je continue d'avoir besoin d'un moyen pour ajouter un fichier de forme de la carte en cours. (Et puis faire des trucs, mais c'est une autre histoire).
Le mieux que je puisse faire pour l'instant est à ajouter une couche fichier de la carte en cours, à l'aide de la suite ("addLayer" est un calque de l'objet fichier):
def AddLayerFromLayerFile(addLayer):
import arcpy
mxd = arcpy.mapping.MapDocument("CURRENT")
df = arcpy.mapping.ListDataFrames(mxd, "Layers")[0]
arcpy.mapping.AddLayer(df, addLayer, "AUTO_ARRANGE")
arcpy.RefreshActiveView()
arcpy.RefreshTOC()
del mxd, df, addLayer
Cependant, mes données brutes est toujours va être la forme de fichiers, donc j'ai besoin d'être en mesure de les ouvrir. (Equivantly: convertir un fichier de forme dans un fichier de couche wiothout de l'ouvrir, mais je préfère ne pas le faire).
Le code ajoute un fichier de couche. Je veux ajouter un fichier de forme.
OriginalL'auteur Tom W | 2010-10-25
Vous devez vous connecter pour publier un commentaire.
Variable "forme" est le chemin d'accès du fichier de forme pour être ajouté.
OriginalL'auteur Tom W
Récemment, j'ai eu du mal avec une tâche similaire, et a d'abord utilisé la méthode d'identification de la carte, l'identification de la trame de données, création d'un calque et d'ajouter la couche à la carte. Curieusement, tout cela peut être accompli en utilisant les suivantes, à condition qu'il est appelé à partir de la carte actuelle.
Faire Fonction De La Couche De nécessite deux entrées, les caractéristiques d'entrée et la couche de sortie. Les entités en entrée peut être n'importe quel type de classe d'entités ou de la couche. Cela inclut les fichiers de formes. La couche de sortie est le nom de la couche dans la table des matières.
Aussi, Faire Fonction de Couche peut accepter une clause where pour créer une définition de requête au moment de la création. C'est typiquement la façon dont je le mettre en œuvre, lorsqu'il est nécessaire de créer un grand nombre de couches avec différentes requêtes de définition rapidement.
Enfin, dans l'extrait ci-dessus, bien qu'il n'est pas nécessaire, j'ai montré comment remplir une variable avec le résultat de la sortie de l'outil de sorte que la couche peuvent être manipulées dans la table des matières à l'aide d'arcpy.la cartographie si cela est nécessaire plus tard dans le script. Chaque outil renvoie un objet de résultat. Le résultat de sortie de l'objet peut être consulté à l'aide de la méthode getOutput, mais il peut également être consulté en utilisant l'index de la conséquence de la propriété qui vous intéresse, dans ce cas, la sortie située à l'indice 0.
OriginalL'auteur knu2xs