Ich versuche, verschiedene Aufgaben in ArcGIS Desktop (im Allgemeinen mit ArcMap) mit Python zu automatisieren, und ich benötige immer wieder eine Möglichkeit, der aktuellen Karte ein Shapefile hinzuzufügen. (Und dann mach was draus, aber das ist eine andere Geschichte).
Das Beste, was ich bisher tun kann, ist, der aktuellen Karte eine Layer- Datei hinzuzufügen , indem Sie Folgendes verwenden ("addLayer" ist ein Layer-Dateiobjekt):
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
Da meine Rohdaten jedoch immer Shapefiles sind, muss ich sie öffnen können. (Äquivalent: Konvertieren Sie ein Shapefile in eine Layer-Datei, ohne es zu öffnen, aber ich würde es vorziehen, dies nicht zu tun.)