Viac

Pridávate rastrovú vrstvu bez lyr súboru pomocou ArcPy?

Pridávate rastrovú vrstvu bez lyr súboru pomocou ArcPy?


Zaujímalo by ma, ako môžem pridať rastrovú vrstvu do vzdialeného (nie aktuálneho) súboru mxd pomocou arcpy. Na to nemusím použiť lyr súbor.

Pre vektorovú vrstvu mám nasledujúce riadky v poriadku:

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

ale zdá sa, že to pre Raster Layer nefunguje.


RasterLayer v pamäti môžete vytvoriť pomocou arcpy.MakeRasterLayer, čím vytvoríte vrstvu bez súboru .lyr a potom ju pridáte do svojho DataFrame.

Nasledujúci kód načíta raster do novej rastrovej vrstvy, pridá ho do prvého údajového rámca zadaného mxd a potom mxd uloží.

mxdPath = r '{path to mxd}' rasterPath = r '{path to raster file}' rasterLayerName = 'name to give new raster layer' md = arcpy.mapping.MapDocument (mxdPath) df = arcpy.mapping.ListDataFrames (md ) [0] result = 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"

alebo

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

alebo

mxdPath = "D: FormationSpecialisee IGN_IFI doc1.mxd"

Na použitie v Pythone


V okne pythonu stačí napísať:

arcpy.MakeRasterLayer_management (rasterFileName, "tmpLyr")

kde rasterFileName je reťazec obsahujúci cestu a názov vášho rastra.


Budete musieť mať súbor .lyr ukazujúci na raster s vašou preddefinovanou symbolikou, potom ho otvoriť pomocouarcpy.mapping.Layer (váš prehrávač), pridajte ho na svoju mapu, ako máte, a potom pomocou jednej z metód aktualizácie zdroja údajov vrstvy vymeňte starý zdroj údajov za nový.


Pozri si video: Cvičení 4 - Kartogram a Kartodiagram