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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Thu 17 January 2019 17:30

anne13
Participant actif
Lieu: Villeurbanne
Date d'inscription: 12 May 2009
Messages: 71

Python : changement de stockage, perte des représentations

Bonjour à tous,
je change de stockage de mes données (d'Oracle vers Postgre) et j'ai réalisé des scripts pour modifier les mxd pour refaire les chemins avec la fonction lyr.findAndReplaceWorkspacePath.

J'en profite également pour modifier le nom de quelques couches qui n'étaient pas très explicites, changer de schéma certaines couches, ou même intégrer quelques shapes dans ma base postgre.
Le script pour pointer vers la nouvelle couche avec le nom modifié/le nouveau schéma/le nouveau stockage fonctionne bien avec lyr.replaceDataSource, par exemple :
for lyr in arcpy.mapping.ListLayers(mxd):
    if lyr.datasetName == r"FDP_VIL.PerimetreBureauxVote":
        lyr.replaceDataSource(r"C:\Users\abo\AppData\Roaming\ESRI\Desktop10.6\ArcCatalog\postgre-dsi_maj.sde", "SDE_WORKSPACE", "sig.fdp_vil.ElectionsBureaux2017")
Mon problème : quand je rouvre mon mxd, j'ai perdu les symbologies pour lesquelles étaient attribuées des représentations (dans la symbologie apparait Représentation : Inconnu) :-(
Des représentations sont bien présentes dans ma base Postgre puisque manuellement j'arrive remettre les symbologies en représentations. Cela ne concerne que quelques couches, mais j'aimerai ne pas avoir à rouvrir les innombrables mxd de toute la collectivité pour refaire apparaitre les représentations!

Après quelques recherches, il semblerait que le nom de la représentation soit en cause car il comporte le nouveau chemin (par exemple sig.fdp_vil.ElectionsBureaux2017_Rep), mais je n'arrive pas à trouver dans les aides python les fonctions qui permettent d'attribuer une nouvelle représentation à une couche.

Est ce que quelqu'un a déjà automatisé ce type d'opération ou connait les fonctions à utiliser?

Merci pour votre aide !

PS : pas experte en python, mais je me soigne smile


Anne B, Ville de Villeurbanne

Hors ligne

 

Pied de page des forums

Powered by FluxBB