#1 Fri 25 April 2014 10:35
- Loutre
- Participant actif
- Lieu: Montpellier
- Date d'inscription: 12 Jan 2008
- Messages: 146
Script Chemin relatif
Bonjour,
Est-ce que quelqu'un connait l'existence d'un script Python permettant d'enregistrer des fichiers .mxd en masse (un ou plusieurs) en chemin relatif ?
Je vais changer l'arborescence de mes dossiers, et pour ne pas perdre les sources de données de mes projets, je pense qu'il est nécessaire que je fasse cette petite manipulation en amont, histoire de ne pas réparer les sources de données sur chaque projet ArcMap de mes dossiers (une centaine).
Merci
Dernière modification par Loutre (Fri 25 April 2014 10:35)
Hors ligne
#2 Fri 25 April 2014 11:39
Re: Script Chemin relatif
Bonjour,
Code:
mxd.relativePaths = True
Code:
import arcpy, os #workspace to search for MXDs Workspace = r"c:\Temp\MXDs" arcpy.env.workspace = Workspace #list map documents in folder mxdList = arcpy.ListFiles("*.mxd") #set relative path setting for each MXD in list. for file in mxdList: #set map document to change filePath = os.path.join(Workspace, file) mxd = arcpy.mapping.MapDocument(filePath) #set relative paths property mxd.relativePaths = True #save map doucment change mxd.save()
=>http://support.esri.com/en/knowledgebas … tail/40656
Martin
Hors ligne
#3 Fri 25 April 2014 11:47
- Loutre
- Participant actif
- Lieu: Montpellier
- Date d'inscription: 12 Jan 2008
- Messages: 146
Re: Script Chemin relatif
Salut,
Oui, j'ai vu il y a quelques instants ce script dans l'aide ESRI et j'étais en train de regarder. Seulement, j'aimerai paramétrer une ToolBox afin de créer un outil sur la base de ce script.
Merci de votre aide
Hors ligne
#4 Fri 25 April 2014 12:00
Re: Script Chemin relatif
Ajout d'un outil de script => http://resources.arcgis.com/fr/help/mai … 01r000000/
Vous pouvez ajouter des paramètres à renseigner lors de l’exécution de l'outil (boîte de dialogue)
Définition des paramètres des outils de script => http://resources.arcgis.com/fr/help/mai … 00n000000/
Par exemple, choisir le dossier à traiter : Workspace = arcpy.GetParameterAsText(0) à renseigner dans votre outil de script comme paramètre de type répertoire.
Code:
import arcpy, os #workspace to search for MXDs Workspace = arcpy.GetParameterAsText(0) arcpy.env.workspace = Workspace #list map documents in folder mxdList = arcpy.ListFiles("*.mxd") #set relative path setting for each MXD in list. for file in mxdList: #set map document to change filePath = os.path.join(Workspace, file) mxd = arcpy.mapping.MapDocument(filePath) #set relative paths property mxd.relativePaths = True #save map doucment change mxd.save()
Hors ligne
#5 Fri 25 April 2014 12:30
- Loutre
- Participant actif
- Lieu: Montpellier
- Date d'inscription: 12 Jan 2008
- Messages: 146
Re: Script Chemin relatif
Oui j'avais trouvé ce lien et créer une boite à outil permettant l'exécution du script. En revanche je ne trouve pas le type "répertoire" dans la liste des types de paramètres.
Mon script fonctionne seulement pour le moment si je renseigne au préalable le chemin du répertoire contenant les mxd : Workspace = r"c:\Temp\MXDs"
Dans ma boîte à outil, le type de document en paramètre est "Document ArcMap" avec "valeurs multiples" pour pouvoir traiter plusieurs fichiers en une seule fois.
Hors ligne