Annonce
Pour sa 21ème année, l’association GeoRezo a toujours besoin de vous !
10€ = 1 mois de frais bancaires ; 15€ = 12 mois de nom de domaine ; 30€ = 1 semaine de location des serveurs …
#1 Fri 31 July 2015 10:25
- Etienne72
- Participant occasionnel
- Lieu: Morlaix
- Date d'inscription: 26 Jun 2009
- Messages: 20
ArcGIS 10.2 - Générer automatiquement .lyr
Bonjour,
je souhaiterai savoir si quelqu'un possède un outil permettant de générer automatiquement un .lyr par mxd et si possible que le .lyr porte le même nom que le mxd. Actuellement, je fais un groupe de couches de tous les shapes appelés dans le mxd et j'exporte le .lyr.
Actuellement, je possède pas loin de 800 mxd.... ;-(
Je possède la version ArcGIS 10.2
Merci pour vos réponses.
Hors ligne
#2 Mon 03 August 2015 09:09
- lebon henri
- Participant actif
- Lieu: Vendée
- Date d'inscription: 14 Jan 2008
- Messages: 99
Re: ArcGIS 10.2 - Générer automatiquement .lyr
Salut, tu peux utiliser ce script.
Code:
import os, arcpy dossier_mxds = r"chemin du dossier avec les mxd" dossier_output = r"chemin où tu veux mettre tes résultats" for root, dirs, files in os.walk(dossier_mxds): for mxdName in files: mxdPath = os.path.join(root, mxdName) if mxdName.lower().endswith(".mxd"): mxdModel = arcpy.mapping.MapDocument(r" chemin mxd model") ##créer un mxd avec un groupe de couche vide nommé "groupLayerVide" dfmodel = arcpy.mapping.ListDataFrames(mxdModel)[0] groupLayer_vide = arcpy.mapping.ListLayers(mxdModel, "groupLayerVide", dfmodel)[0] mxdPath = os.path.join(dossier_mxds, mxdName) mxd = arcpy.mapping.MapDocument(mxdPath) for df in arcpy.mapping.ListDataFrames(mxd): ##attention, les couches ne seront pas regroupées par dataframe dans cette façon de faire for lyr in arcpy.mapping.ListLayers(mxd, "", df): if lyr.name == lyr.longName: ##cette condition ne garde que les groupe de couche à la racine de la table of contents arcpy.mapping.AddLayerToGroup(dfmodel, groupLayer_vide, lyr, "BOTTOM") nomMXD, ext = mxdName.split(".") groupLayer_vide.name = nomMXD nomLyr = nomMXD + ".lyr" cheminOutput = os.path.join(dossier_output, nomLyr) groupLayer_vide.saveACopy(cheminOutput)
Hors ligne
#3 Tue 04 August 2015 09:19
- Etienne72
- Participant occasionnel
- Lieu: Morlaix
- Date d'inscription: 26 Jun 2009
- Messages: 20
Re: ArcGIS 10.2 - Générer automatiquement .lyr
Merci, je teste ça
Hors ligne
#4 Tue 04 August 2015 09:48
- altigis
- Participant assidu
- Date d'inscription: 20 Jun 2013
- Messages: 308
Re: ArcGIS 10.2 - Générer automatiquement .lyr
je suis preneur du suivis, cela m'intéresse fortement
Hors ligne
#5 Wed 05 August 2015 09:00
- Etienne72
- Participant occasionnel
- Lieu: Morlaix
- Date d'inscription: 26 Jun 2009
- Messages: 20
Re: ArcGIS 10.2 - Générer automatiquement .lyr
Ça marche impeccable, merci beaucoup
Hors ligne