Mer

Batch lagre som lag til relativ bane i ArcPy

Batch lagre som lag til relativ bane i ArcPy


Jeg vil gjerne bruke en lignende kode som nedenfor, men en som bruker relative stier. Siden innspillet mitt er en mengde tif -filer (ikke lag), vet jeg ikke om jeg trenger å bruke andre funksjoner som arcpy.SaveToLayerFile_management eller os.path.

import arcpy mxd = arcpy.mapping.MapDocument ("CURRENT") for lyr i arcpy.mapping.ListLayers (mxd): lyr.saveACopy (lyr.name + ".lyr")

Legg til alle dine Tiffs til kart ved å dra dem fra ArcCatalog. bruk deretter denne koden i python -vinduer:

importer arcpy fra arcpy import env mxd = arcpy.mapping.MapDocument ("CURRENT") env.workspace = "d:/Layers" for lyr i arcpy.mapping.ListLayers (mxd): print lyr.name try: arcpy.SaveToLayerFile_management ( lyr, lyr.name + ".lyr", "RELATIVE") unntatt: skriv ut arcpy.GetMessages ()

Denne koden oppretter nye lag med relativ bane, fra tiffs, og legger dem i D: Layers -katalogen. Endre denne katalogen tilsvarende.


Dette bør fungere:

import arcpy, os, sys InFolder = sys.argv [1] OutFolder = sys.argv [2] arcpy.env.workspace = InFolder for ThisRas i arcpy.ListRasters (): arcpy.MakeRasterLayer_management (ThisRas, "Layer"); arcpy.SaveToLayerFile_management ("Layer", OutFolder + "" + ThisRas + ".lyr", True, "CURRENT"); arcpy.Delete_management ("lag")

Det oppretter et rasterlag og lagrer det deretter som en lagfil. Du kan justere navnet på laget ... men symbolikken vil være standard. Grunnen til å lagre fra kartdokumentet er at symbologien er satt, disse lagene vil ikke være annerledes enn å legge tiff -filene til ArcMap. Du kan bruke et verktøy som Apply Symbology from Layer for å kopiere en eksisterende lag -symbologi til de nye lagene.


Se videoen: ArcGIS Pro: переход с ArcMap., Esri CIS