Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Tue 01 April 2014 15:13

Loutre
Participant actif
Lieu: Montpellier
Date d'inscription: 12 Jan 2008
Messages: 146

ArcGIS 10.2 - Créer un raccourci d'enregistrement MXD (10.0)

Bonjour,

J'utilise actuellement la version 10.2 d'ArcMap au travail. Je travail sur des projets qui peuvent être utilisés par des collègues, qui eux, utilisent la version 10.0. Hélas, quand ils ouvrent mes projets "enregistrés" depuis ma version 10.2, il y a un message d'erreur de compatibilité et ils n'ont pas la possibilité d'ouvrir le document.

De ce fait, je suis obligé "d'enregistrer une copie sous" en sélectionnant (ArcMap document 10.0) pour qu'ils puissent utiliser mes projets.

Est-il possible de créer un raccourci dans ArcGis (un bouton par exemple) pour faire directement l'enregistrement du projet sous la version 10.0 au lieu de passer à chaque fois par le menu, Fichier, Enregistrer une copie sous, etc... ?

Bien cordialement,

<edit modération>
C'est sous une version 10.0 que les mxd enregistrés en version 10.2 ne s’ouvrent pas.
<edit modération>

Hors ligne

 

#2 Tue 01 April 2014 15:24

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: ArcGIS 10.2 - Créer un raccourci d'enregistrement MXD (10.0)

Salut,

Est ce que ceci ne répondrait pas à ta question?
---> http://resources.arcgis.com/fr/help/mai … 000z000000
A+
Joël

Hors ligne

 

#3 Tue 01 April 2014 17:29

Loutre
Participant actif
Lieu: Montpellier
Date d'inscription: 12 Jan 2008
Messages: 146

Re: ArcGIS 10.2 - Créer un raccourci d'enregistrement MXD (10.0)

Salut et merci de ta réponse,

Oui, j'avais déjà essayé cette option mais avec cette méthode, je peux seulement aller jusqu'à "Enregistrer la copie sous" alors que je voudrais sélectionner directement "ArcMap Document V10".

Hors ligne

 

#4 Tue 01 April 2014 18:26

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: ArcGIS 10.2 - Créer un raccourci d'enregistrement MXD (10.0)

Alors une autre solution serait de développer quelque chose en python.
Une astuce vue dans --> http://resources.arcgis.com/fr/help/mai … 0253000000

De plus, la commande Enregistrer une copie permet également d'enregistrer un document pour pouvoir l'ouvrir dans une version antérieure d'ArcGIS.


Tout à la fin smile
A+
Joël

Dernière modification par Spacejo (Tue 01 April 2014 18:43)

Hors ligne

 

#5 Tue 01 April 2014 19:58

Franck B
Membre
Lieu: PACA
Date d'inscription: 6 Sep 2005
Messages: 1382
Site web

Re: ArcGIS 10.2 - Créer un raccourci d'enregistrement MXD (10.0)

Bonjour,

Loutre a écrit:

J'utilise actuellement la version 10.2 d'ArcMap au travail. Je travail sur des projets qui peuvent être utilisés par des collègues, qui eux, utilisent la version 10.1. Hélas, quand ils ouvrent mes projets "enregistrés" depuis ma version 10.2, il y a un message d'erreur de compatibilité et ils n'ont pas la possibilité d'ouvrir le document.


C'est un retour intéressant car cela ne correspond pas à la documentation : Aide ArcGIS (10.2 et 10.2.1) - Enregistrement d'une carte.

La documentation dit :

... Notez que les documents ArcMap d'ArcGIS 10.1, 10.2 et 10.2.1. sont directement compatibles entre eux ...


D'après ton expérience, cela ne se vérifie pas ?

J'ai fait quelques tests sur des MXD très simple créé en 10.2.1 et je les ai ouverts sans problème en 10.1.
Tes MXD sont compliqués ou sont composés de quelque-chose de particulier ?
A+

Franck

Hors ligne

 

#6 Wed 02 April 2014 09:09

nitram
Participant assidu
Lieu: Brest
Date d'inscription: 19 May 2009
Messages: 989
Site web

Re: ArcGIS 10.2 - Créer un raccourci d'enregistrement MXD (10.0)

Bonjour,
Pour ce qui est du code python, voir des idées ici => http://www.forumsig.org/showthread.php/ … %C3%A9faut

Martin

Hors ligne

 

#7 Wed 02 April 2014 13:19

Loutre
Participant actif
Lieu: Montpellier
Date d'inscription: 12 Jan 2008
Messages: 146

Re: ArcGIS 10.2 - Créer un raccourci d'enregistrement MXD (10.0)

Bonjour,

En fait, je viens de vérifier et mes collègues ont la version 10.0. J'avais indiqué la version 10.1. Je me suis donc trompé.
Sinon, nos MXD, ne sont pas compliqués non, il s'agit essentiellement de projets de mise en page de cartes, rien de particulier.

Hors ligne

 

#8 Fri 04 April 2014 08:55

Loutre
Participant actif
Lieu: Montpellier
Date d'inscription: 12 Jan 2008
Messages: 146

Re: ArcGIS 10.2 - Créer un raccourci d'enregistrement MXD (10.0)

Bonjour,

J'ai commencé a regarder vos liens.
Quelqu'un peut-il m'aider a configurer le code python suivant :

Code:

#Imports
import arcpy, sys, os, string 

#Definitions
mxd = arcpy.mapping.MapDocument("CURRENT")
#file_path = os.path.
filePath = os.path.dirname(mxd.filePath) + "\\"
#getting the file name
fullfile = mxd.filepath
file_temp = os.path.basename(fullfile)
file_temp = file_temp.rstrip(os.path.splitext(file_temp)[1])

#Put together the full file references
file_name = filePath + file_temp + ".mxd"
file_name_temp = filePath + file_temp + "_Copy.mxd"

#Save a copy
mxd.saveACopy(file_name_temp, '10.0')
#Closing the file doesn't work!
#Need to close the file to rename the copy and then open it again
os.rename(file_name_temp, file_name)
os.startfile(file_name)

J'ai suivi les instructions sur les liens, mais je ne sais pas exactement quelles lignes il faut modifier pour que le script s’exécute correctement.

Bien cordialement

Hors ligne

 

#9 Fri 04 April 2014 10:41

grdfred
Participant actif
Lieu: nantes
Date d'inscription: 17 Jul 2007
Messages: 55

Re: ArcGIS 10.2 - Créer un raccourci d'enregistrement MXD (10.0)

Bonjour,

Il semble que ce script n'a pas besoin d'être configuré, il enregistre le mxd courant en version 10.0 en reprenant le nom du document en y ajoutant _Copy Je peux te documenter un peu plus le script si besoin.

Travaillant sur la version 10.0 je ne peux pas le tester.  L'as-tu tester et que se passe-t-il ?

@+

Frédéric

Hors ligne

 

#10 Fri 04 April 2014 11:11

Loutre
Participant actif
Lieu: Montpellier
Date d'inscription: 12 Jan 2008
Messages: 146

Re: ArcGIS 10.2 - Créer un raccourci d'enregistrement MXD (10.0)

Salut,

Oui, j'ai testé le script mais j'ai le message d'erreur suivant lors de l'exécution :

Code:

Exécution du script ConvertsMXDs...
SyntaxError: EOL while scanning string literal (script_save_in_v10.py, line 7)
Échec de l’exécution de (ConvertsMXDs).
Échec à Fri Apr 04 11:09:40 2014 (temps écoulé : 0,74 secondes)

Hors ligne

 

#11 Fri 04 April 2014 11:25

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: ArcGIS 10.2 - Créer un raccourci d'enregistrement MXD (10.0)

En regardant ton message d'erreur:
As tu bien copier le script?
A la fin de la Ligne 7 ---> file_name = filePath + file_temp + ".mxd
Il ne manquerait pas un --> "
A+
Joël

Dernière modification par Spacejo (Fri 04 April 2014 11:26)

Hors ligne

 

#12 Fri 04 April 2014 11:56

Loutre
Participant actif
Lieu: Montpellier
Date d'inscription: 12 Jan 2008
Messages: 146

Re: ArcGIS 10.2 - Créer un raccourci d'enregistrement MXD (10.0)

Non pas d'oublie de "

Par contre j'ai un autre message d'erreur maintenant :

Code:

Heure de début : Fri Apr 04 11:54:52 2014
Exécution du script ConvertsMXDs...

Traceback (most recent call last):
  File "C:\Users\hugo\Desktop\Scripts Python\script_save_in_v10.py", line 9, in <module>
    fullfile = mxd.filepath
AttributeError: 'MapDocument' object has no attribute 'filepath'

Échec de l’exécution de (ConvertsMXDs).
Échec à Fri Apr 04 11:54:53 2014 (temps écoulé : 0,37 secondes)

J'ai suivi à la lettre ce tutoriel : http://support.esri.com/es/knowledgebas … tail/38783

Hors ligne

 

#13 Fri 04 April 2014 12:07

grdfred
Participant actif
Lieu: nantes
Date d'inscription: 17 Jul 2007
Messages: 55

Re: ArcGIS 10.2 - Créer un raccourci d'enregistrement MXD (10.0)

Bonjour il faut modifier  la ligne :
fullfile = mxd.filepath

par :
fullfile = mxd.filePath

¨Python est sensible à la casse des mots !!

Hors ligne

 

#14 Fri 04 April 2014 12:45

grdfred
Participant actif
Lieu: nantes
Date d'inscription: 17 Jul 2007
Messages: 55

Re: ArcGIS 10.2 - Créer un raccourci d'enregistrement MXD (10.0)

Voici le script amendé et corrigé :
         

Code:

# -*- coding: cp1252 -*-
#Import module
import arcpy, sys, os, string 

# Autorisation d'ecraser des fichiers déjà existants
arcpy.env.overwriteOutput = True

#Parametre :
# ducoment mxd courant
mxd = arcpy.mapping.MapDocument("CURRENT")

#Chemin et nom du mxd courant
fullfile = mxd.filePath
arcpy.AddMessage ("Nom du mxd courant : " + fullfile)

#Chemin et nom du mxd courant sans extension
file_temp = os.path.splitext(fullfile)[0]
arcpy.AddMessage (file_temp)

#Nouveau nom
file_name_temp = file_temp + "_Copy_v10.mxd"

#arcpy.AddMessage ("MXD a sauvegarder :" + file_name)
arcpy.AddMessage ("MXD sauvegarde en V10.0 :"  + file_name_temp)
# Test existence de la sauvegarde
if os.path.exists(file_name_temp):
    arcpy.AddMessage("Fichier mxd existe")
    try :
        # essaye de le supprimer
        os.remove(file_name_temp)
    except :
        arcpy.AddError ("Fichier non sauvegarde : impossible de le supprimer")
        sys.exit()               

#SAuvegarde sous nouveau en version 10.0
mxd.saveACopy(file_name_temp, '10.0')
arcpy.AddMessage ("Fichier sauvegarde")

J'ai francisé les explications, et rajouté un test sur l'existence du fichier en sortie, tu pourras sauvegarder ton mxd en écrasnt l'ancien fichier.
Enfin j'ai rajouté plein de messages qui permettent de suivre ce que fait le script notamment en cas de problème !

Bonne journée

Frédéric

Hors ligne

 

#15 Fri 04 April 2014 13:35

Loutre
Participant actif
Lieu: Montpellier
Date d'inscription: 12 Jan 2008
Messages: 146

Re: ArcGIS 10.2 - Créer un raccourci d'enregistrement MXD (10.0)

Salut et merci de ton aide.

Effectivement le script s'exécute correctement maintenant. Par contre, avant d'exécuter le script, dans "Input MXDs" je sélectionne mon projet.mxd de base, (type de données = document ArcMap), puis dans "Output Location" je sélectionne mon répertoire de sortie de fichier (type de données = Espace de travail) et enfin dans Output Version la version que je souhaite, donc la 10.0 renseignée au préalable dans la chaîne de l'attribut.

Le problème est que malgré la bonne exécution du script, je n'ai aucun fichier qui apparaît dans mon dossier de sortie. J'ai mal réalisé un paramétrage je pense ?

Hors ligne

 

#16 Fri 04 April 2014 14:12

grdfred
Participant actif
Lieu: nantes
Date d'inscription: 17 Jul 2007
Messages: 55

Re: ArcGIS 10.2 - Créer un raccourci d'enregistrement MXD (10.0)

Le script que j'ai posté est un script autonome : il n' y a pas de paramètres. Pour l’exécuter (sous 10.0) il suffit de l'associer à un outil.

Si tu souhaites pouvoir le paramétrer il faut le modifier et ajouter les paramètres dans le script et l'importer à une toolbox où tu précises les paramètres d'entrée et de sortie.

par exemple en reprenant tes variables

Code:

Input_MXDs = arcpy.GetParameter(0) pour le premier parametre le mxd
Output_Location = arcpy.GetParameterAsText(1) pour le 2eme parametre le chemin de sortie
Output_Version = arcpy.GetParameterAsText(2) pour le 3eme parametre la version

Il faut aussi remodifier le script :

Code:

# -*- coding: cp1252 -*-
#Import module
import arcpy, sys, os, string 

# Autorisation d'ecraser des fichiers déjà existants
arcpy.env.overwriteOutput = True

Input_MXDs = arcpy.GetParameterAsText(0)
Output_Location = arcpy.GetParameterAsText(1) 
Output_Version = arcpy.GetParameterAsText(2) 

#Parametre :
# ducoment mxd courant
mxd = arcpy.mapping.MapDocument(Input_MXDs)

#Chemin et nom du mxd courant
fullfile = mxd.filePath
arcpy.AddMessage ("Chemin du mxd a traiter : " + fullfile)

fullfile2=os.path.basename(fullfile)
file_temp2= os.path.splitext(fullfile2)[0]
arcpy.AddMessage ("Nom du mxd a traiter : " + file_temp2)

#Chemin et nom du mxd courant sans extension
#file_temp = os.path.splitext(fullfile)[0]
#arcpy.AddMessage (file_temp)

#Nouveau nom
file_name_temp = Output_Location+"//"+file_temp2 + "_Copy_v10.mxd"

#arcpy.AddMessage ("MXD a sauvegarder :" + file_name)
arcpy.AddMessage ("MXD sauvegarde en V10.0 :"  + file_name_temp)
# Test existence de la sauvegarde
if os.path.exists(file_name_temp):
    arcpy.AddMessage("Fichier mxd existe")
    try :
        # essaye de le supprimer
        os.remove(file_name_temp)
    except :
        arcpy.AddError ("Fichier non sauvegarde : impossible de le supprimer")
        sys.exit()               

#SAuvegarde sous nouveau en version 10.0
mxd.saveACopy(file_name_temp, Output_Version)
arcpy.AddMessage ("Fichier sauvegarde")

Bonne journée

Hors ligne

 

#17 Fri 04 April 2014 15:46

Loutre
Participant actif
Lieu: Montpellier
Date d'inscription: 12 Jan 2008
Messages: 146

Re: ArcGIS 10.2 - Créer un raccourci d'enregistrement MXD (10.0)

Ok, merci beaucoup, je vais essayer tout ça et je vous tiens au courant,

Bonne journée,

Hors ligne

 

#18 Thu 24 April 2014 09:19

Loutre
Participant actif
Lieu: Montpellier
Date d'inscription: 12 Jan 2008
Messages: 146

Re: ArcGIS 10.2 - Créer un raccourci d'enregistrement MXD (10.0)

Bonjour à tous,

Je reviens vers vous, car j'ai besoin de vos lumières smile

Le script que vous m'avez proposé dans votre dernier message marche parfaitement. Je l'exécute régulièrement via la "Arctoolbox". J'ai en effet créer une boîte à outils personnalisée.

Cependant, j'ai récemment réalisé le tutoriel suivant (http://resources.arcgis.com/fr/help/mai … 022000000/), en créant un projet de complément, puis une barre d'outils et enfin un bouton python.
En effet, mon but est d'avoir un petit bouton disponible dans mon environnement ArcMap afin que je puisse en un seul "clic" enregistrer mon projet en cours dans la bonne version (10.0).

J'ai donc suivi le tutoriel à la lettre et j'ai modifié mon script dans le dossier "Install" comme ceci :

Code:

# -*- coding: cp1252 -*-

### Importation des modules
import arcpy, pythonaddins, sys, os, string

class ButtonClass1(object):
    """Implementation for Projet_Python_1_addin.button (Button)"""
    def __init__(self):
        self.enabled = True
        self.checked = False
    def onClick(self):
        pass


# Autorisation d'ecraser des fichiers déjà existants
arcpy.env.overwriteOutput = True

#Input_MXDs = arcpy.GetParameter(0) pour le premier parametre le mxd
Input_MXDs = arcpy.GetParameterAsText(0)
#Output_Location = arcpy.GetParameterAsText(1) pour le 2eme parametre le chemin de sortie
Output_Location = arcpy.GetParameterAsText(1)
#Output_Version = arcpy.GetParameterAsText(2) pour le 3eme parametre la version
Output_Version = arcpy.GetParameterAsText(2)

#Parametre :
# ducoment mxd courant
mxd = arcpy.mapping.MapDocument(Input_MXDs)

#Chemin et nom du mxd courant
fullfile = mxd.filePath
arcpy.AddMessage ("Chemin du mxd a traiter : " + fullfile)

fullfile2=os.path.basename(fullfile)
file_temp2= os.path.splitext(fullfile2)[0]
arcpy.AddMessage ("Nom du mxd a traiter : " + file_temp2)

#Chemin et nom du mxd courant sans extension
#file_temp = os.path.splitext(fullfile)[0]
#arcpy.AddMessage (file_temp)

#Nouveau nom
file_name_temp = Output_Location+"//"+file_temp2 + "_v10.mxd"

#arcpy.AddMessage ("MXD a sauvegarder :" + file_name)
arcpy.AddMessage ("MXD sauvegarde en v10.0 :"  + file_name_temp)
# Test existence de la sauvegarde
if os.path.exists(file_name_temp):
    arcpy.AddMessage("Fichier mxd existe")
    try :
        # essaye de le supprimer
        os.remove(file_name_temp)
    except :
        arcpy.AddError ("Fichier non sauvegarde : impossible de le supprimer")
        sys.exit()

#SAuvegarde sous nouveau en version 10.0
mxd.saveACopy(file_name_temp, Output_Version)
arcpy.AddMessage ("Fichier sauvegarde")

C'est le même qu'auparavant. Cependant, lorsque j'ouvre ArcMap mon nouvel outil avec ma nouvelle icône s'affiche correctement, mais malheureusement lorsque je clique sur l'outil, il n'y a aucun signe d'exécution. En gros, rien ne se passe.

J'ai certainement omis de faire quelque chose, ou du moins mal fait quelque chose. Je suis actuellement en phase d'apprentissage du Python, donc c’est assez difficile d'identifier les problèmes.

Si quelqu'un a une idée....

Merci,

Cdlt

Dernière modification par Loutre (Thu 24 April 2014 09:20)

Hors ligne

 

#19 Thu 24 April 2014 12:06

Loutre
Participant actif
Lieu: Montpellier
Date d'inscription: 12 Jan 2008
Messages: 146

Re: ArcGIS 10.2 - Créer un raccourci d'enregistrement MXD (10.0)

Je viens de me rendre compte que je me suis trompé dans le code. C'est celui-ci qui est utilisé et non celui dans mon précédent message.

Code:

# -*- coding: cp1252 -*-

# Importation des modules
import arcpy, pythonaddins, sys, os, string

class ButtonClass1(object):
    """Implementation for Projet_Python_1_addin.button (Button)"""
    def __init__(self):
        self.enabled = True
        self.checked = False
    def onClick(self):
        pass


#Autorisation d'ecraser des fichiers déjà existants
arcpy.env.overwriteOutput = True

#Parametre :
# ducoment mxd courant
mxd = arcpy.mapping.MapDocument("CURRENT")

#Chemin et nom du mxd courant
fullfile = mxd.filePath
arcpy.AddMessage ("Nom du mxd courant : " + fullfile)

#Chemin et nom du mxd courant sans extension
file_temp = os.path.splitext(fullfile)[0]
arcpy.AddMessage (file_temp)

#Nouveau nom
file_name_temp = file_temp + "_Copy_v10.mxd"

#arcpy.AddMessage ("MXD a sauvegarder :" + file_name)
arcpy.AddMessage ("MXD sauvegarde en V10.0 :"  + file_name_temp)
# Test existence de la sauvegarde
if os.path.exists(file_name_temp):
    arcpy.AddMessage("Fichier mxd existe")
    try :
        # essaye de le supprimer
        os.remove(file_name_temp)
    except :
        arcpy.AddError ("Fichier non sauvegarde : impossible de le supprimer")
        sys.exit()

#SAuvegarde sous nouveau en version 10.0
mxd.saveACopy(file_name_temp, '10.0')
arcpy.AddMessage ("Fichier sauvegarde")

Hors ligne

 

#20 Thu 24 April 2014 12:17

Franck B
Membre
Lieu: PACA
Date d'inscription: 6 Sep 2005
Messages: 1382
Site web

Re: ArcGIS 10.2 - Créer un raccourci d'enregistrement MXD (10.0)

Bonjour,

Code:

    def onClick(self):
        pass

Cela code signifie que le click sur le bouton ne fait rien...

Ce code fonctionnera sans doute mieux...

Code:

# -*- coding: cp1252 -*-

# Importation des modules
import arcpy, pythonaddins, sys, os, string

class ButtonClass1(object):
    """Implementation for Projet_Python_1_addin.button (Button)"""
    def __init__(self):
        self.enabled = True
        self.checked = False
    def onClick(self):
        #Autorisation d'ecraser des fichiers déjà existants
        arcpy.env.overwriteOutput = True

        #Parametre :
        # ducoment mxd courant
        mxd = arcpy.mapping.MapDocument("CURRENT")

        #Chemin et nom du mxd courant
        fullfile = mxd.filePath
        arcpy.AddMessage ("Nom du mxd courant : " + fullfile)

        #Chemin et nom du mxd courant sans extension
        file_temp = os.path.splitext(fullfile)[0]
        arcpy.AddMessage (file_temp)

        #Nouveau nom
        file_name_temp = file_temp + "_Copy_v10.mxd"

        #arcpy.AddMessage ("MXD a sauvegarder :" + file_name)
        arcpy.AddMessage ("MXD sauvegarde en V10.0 :"  + file_name_temp)
        # Test existence de la sauvegarde
        if os.path.exists(file_name_temp):
            arcpy.AddMessage("Fichier mxd existe")
            try :
                # essaye de le supprimer
                os.remove(file_name_temp)
            except :
                arcpy.AddError ("Fichier non sauvegarde : impossible de le supprimer")
                sys.exit()

        #SAuvegarde sous nouveau en version 10.0
        mxd.saveACopy(file_name_temp, '10.0')
        arcpy.AddMessage ("Fichier sauvegarde")

A+

Franck

Hors ligne

 

#21 Thu 24 April 2014 12:35

Loutre
Participant actif
Lieu: Montpellier
Date d'inscription: 12 Jan 2008
Messages: 146

Re: ArcGIS 10.2 - Créer un raccourci d'enregistrement MXD (10.0)

Salut,

Effectivement, ça marche beaucoup mieux. Merci beaucoup
Tant que j'y suis, autre petite question. Est-il possible d'enregistrer le fichier ouvert avec ma version 10.2 directement en 10.0 sans créer un fichier supplémentaire, mais en écrasant la version actuelle ?

Car dans mon code cette ligne :

Code:

#Nouveau nom
        file_name_temp = file_temp + "_Copy_v10.mxd"

ajoute un nouveau fichier.

Merci

Hors ligne

 

#22 Thu 24 April 2014 14:28

nitram
Participant assidu
Lieu: Brest
Date d'inscription: 19 May 2009
Messages: 989
Site web

Re: ArcGIS 10.2 - Créer un raccourci d'enregistrement MXD (10.0)

Bonjour,

Loutre a écrit:

mais en écrasant la version actuelle ?


Je crains que ce ne soit pas possible, en effet pour choisir la version du document enregistré il faut obligatoirement passer par la commande "enregistrer une copie ..." :

Code:

mxd.saveACopy(file_name_temp, '10.0')

-> Il n'est pas possible d'écraser le fichier courant car ce .mxd est vérouillé (ouvert dans arcmap).

Dernière modification par nitram (Thu 24 April 2014 16:09)

Hors ligne

 

#23 Thu 24 April 2014 14:58

Loutre
Participant actif
Lieu: Montpellier
Date d'inscription: 12 Jan 2008
Messages: 146

Re: ArcGIS 10.2 - Créer un raccourci d'enregistrement MXD (10.0)

Ok, merci de ta réponse wink

Bonne journée

Hors ligne

 

#24 Thu 22 May 2014 09:09

Loutre
Participant actif
Lieu: Montpellier
Date d'inscription: 12 Jan 2008
Messages: 146

Re: ArcGIS 10.2 - Créer un raccourci d'enregistrement MXD (10.0)

Salut.

je viens de me rendre compte de quelque chose :

Code:

# -*- coding: cp1252 -*-
#Import module
import arcpy, sys, os, string 

# Autorisation d'ecraser des fichiers déjà existants
arcpy.env.overwriteOutput = True

Input_MXDs = arcpy.GetParameterAsText(0)
Output_Location = arcpy.GetParameterAsText(1) 
Output_Version = arcpy.GetParameterAsText(2) 

#Parametre :
# ducoment mxd courant
mxd = arcpy.mapping.MapDocument(Input_MXDs)

#Chemin et nom du mxd courant
fullfile = mxd.filePath
arcpy.AddMessage ("Chemin du mxd a traiter : " + fullfile)

fullfile2=os.path.basename(fullfile)
file_temp2= os.path.splitext(fullfile2)[0]
arcpy.AddMessage ("Nom du mxd a traiter : " + file_temp2)

#Chemin et nom du mxd courant sans extension
#file_temp = os.path.splitext(fullfile)[0]
#arcpy.AddMessage (file_temp)

#Nouveau nom
file_name_temp = Output_Location+"//"+file_temp2 + "_Copy_v10.mxd"

#arcpy.AddMessage ("MXD a sauvegarder :" + file_name)
arcpy.AddMessage ("MXD sauvegarde en V10.0 :"  + file_name_temp)
# Test existence de la sauvegarde
if os.path.exists(file_name_temp):
    arcpy.AddMessage("Fichier mxd existe")
    try :
        # essaye de le supprimer
        os.remove(file_name_temp)
    except :
        arcpy.AddError ("Fichier non sauvegarde : impossible de le supprimer")
        sys.exit()               

#SAuvegarde sous nouveau en version 10.0
mxd.saveACopy(file_name_temp, Output_Version)
arcpy.AddMessage ("Fichier sauvegarde")

Le script fonctionne parfaitement pour un seul fichier, mais dès que je met plusieurs fichiers dans la liste j'ai un message d'erreur :

Code:

Traceback (most recent call last):
  File "C:\Users\hugo\Desktop\test.py", line 26, in <module>
    mxd = arcpy.mapping.MapDocument(Input_MXDs)
  File "c:\program files (x86)\arcgis\desktop10.2\arcpy\arcpy\arcobjects\mixins.py", line 609, in __init__
    assert (os.path.isfile(mxd) or (mxd.lower() == "current")), gp.getIDMessage(89004, "Invalid MXD filename")
AssertionError: Nom de fichier MXD non valide.

Une idée ?

Hors ligne

 

Pied de page des forums

Powered by FluxBB