Estoy tratando de automatizar varias tareas en ArcGIS Desktop (usando ArcMap en general) con Python, y sigo necesitando una forma de agregar un archivo de forma al mapa actual. (Y luego hazle cosas, pero esa es otra historia).
Lo mejor que puedo hacer hasta ahora es agregar un archivo de capa al mapa actual, usando 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 sin procesar siempre serán archivos de forma, por lo que necesito poder abrirlos. (Equivalente: convierta un archivo de forma en un archivo de capa sin abrirlo, pero preferiría no hacerlo).
Crear capa de características (gestión de datos) http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00170000006p000000.htm
Acabo de probarlo en la ventana de Python de ArcMap y se agrega directamente a mi mapa (no tuve que obtener mi marco de datos y llamar a AddLayer).
arcpy.MakeFeatureLayer_management('r:/temp/a.shp','test')
fuente
arcpy.SaveToLayerFile_management('test', 'r:/temp/evilmonkey.lyr', 'ABSOLUTE')
Si no desea guardar la capa y lo que desea es que se ha ido,arcpy.Delete_management('test')
.