Suite

Enregistrer par lots en tant que couche vers un chemin relatif dans ArcPy

Enregistrer par lots en tant que couche vers un chemin relatif dans ArcPy


J'aimerais utiliser un code similaire à celui ci-dessous, mais qui utilise des chemins relatifs. Étant donné que mon entrée est un lot de fichiers tif (pas de calques), je ne sais pas si je dois utiliser d'autres fonctions comme arcpy.SaveToLayerFile_management ou os.path.

importer arcpy mxd = arcpy.mapping.MapDocument("CURRENT") pour lyr dans arcpy.mapping.ListLayers(mxd): lyr.saveACopy(lyr.name + ".lyr")

Ajoutez tous vos Tiffs à la carte en les faisant glisser depuis ArcCatalog. puis utilisez ce code dans les fenêtres python :

importer arcpy depuis arcpy importer env mxd = arcpy.mapping.MapDocument("CURRENT") env.workspace = "d:/Layers" pour lyr dans arcpy.mapping.ListLayers(mxd): print lyr.name try: arcpy.SaveToLayerFile_management( lyr, lyr.name + ".lyr", "RELATIVE") sauf : print arcpy.GetMessages()

Ce code crée de nouvelles couches avec un chemin relatif, à partir de vos tiffs, et les place dans le répertoire D:Layers. Modifiez ce répertoire en conséquence.


Cela devrait fonctionner :

importer arcpy, os, sys InFolder = sys.argv[1] OutFolder = sys.argv[2] arcpy.env.workspace = InFolder pour ThisRas dans arcpy.ListRasters() : arcpy.MakeRasterLayer_management (ThisRas, "Layer"); arcpy.SaveToLayerFile_management("Layer",OutFolder + "" + ThisRas + ".lyr",True,"CURRENT"); arcpy.Delete_management("Couche")

Il crée une couche raster puis l'enregistre en tant que fichier de couche. Vous pouvez ajuster le nom de la couche… mais la symbologie sera par défaut. La raison de l'enregistrement à partir de la carte est que la symbologie est définie, ces couches ne seront pas différentes de l'ajout des fichiers tiff à ArcMap. Vous pouvez utiliser un outil tel que Appliquer la symbologie à partir d'une couche pour copier une symbologie de couches existante dans les nouvelles couches.


Voir la vidéo: Learn Swedish in 30 Minutes - ALL the Basics You Need