Más

¿Agregar capa ráster sin archivo lyr usando ArcPy?

¿Agregar capa ráster sin archivo lyr usando ArcPy?


Me pregunto cómo puedo agregar una capa ráster a un archivo mxd remoto (no al actual) con arcpy. No necesito usar un archivo lyr para eso.

Para la capa vectorial, tengo las siguientes líneas funcionando bien:

mxdPath = "D:  FormationSpecialisee  IGN_IFI  doc1.mxd" mxd = arcpy.mapping.MapDocument (mxdPath) layer = arcpy.mapping.Layer (fcADD) arcpy.mapping.AddLayer (df, layer, "AUTO_ARRANGE")

pero parece no funcionar para Raster Layer.


Puede crear un RasterLayer en memoria usando arcpy.MakeRasterLayer para crear la capa sin un archivo .lyr y luego agregarlo a su DataFrame.

El siguiente código cargará un ráster en una nueva capa ráster, lo agregará al primer marco de datos del mxd especificado y luego guardará el mxd.

mxdPath = r '{ruta a mxd}' rasterPath = r '{ruta al archivo ráster}' rasterLayerName = 'nombre para dar nueva capa ráster' md = arcpy.mapping.MapDocument (mxdPath) df = arcpy.mapping.ListDataFrames (md ) [0] resultado = arcpy.MakeRasterLayer_management (rasterPath, rasterLayerName) layer = result.getOutput (0) arcpy.mapping.AddLayer (df, layer, 'AUTO_ARRANGE') md.save ()

mxdPath = r "D: FormationSpecialisee IGN_IFI doc1.mxd"

o

mxdPath = "D: /FormationSpecialisee/IGN_IFI/doc1.mxd"

o

mxdPath = "D: FormationSpecialisee IGN_IFI doc1.mxd"

Para usar en Python


En una ventana de Python, simplemente escriba:

arcpy.MakeRasterLayer_management (rasterFileName, "tmpLyr")

donde rasterFileName es una cadena que contiene la ruta y el nombre de su ráster.


Deberá tener un archivo .lyr que apunte a un ráster con su simbología predefinida, luego ábralo conarcpy.mapping.Layer (su archivo de capa), agréguelo a su mapa como lo ha hecho, luego use uno de los métodos de actualización de la fuente de datos de capa para cambiar la fuente de datos anterior por la nueva.


Ver el vídeo: Cambio de sistema de coordenadas