Estoy tratando de automatizar varias tareas en ArcGIS Desktop (utilizando ArcMap en general) con Python, y sigo necesitando una manera de añadir un shapefile al mapa actual. (Y luego hacer cosas a él, pero eso es otra historia).
Lo mejor que puedo hacer hasta ahora es añadir un capa al mapa actual, utilizando lo siguiente ("addLayer" es un objeto de archivo de capa):
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
Sin embargo, mis datos brutos siempre van a ser shapefiles, por lo que necesito poder abrirlos. (Equivalentemente: convertir un shapefile en un archivo de capas sin abrirlo, pero preferiría no hacerlo).