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 06 July 2017 17:26

Groflo
Participant actif
Date d'inscription: 3 Jun 2013
Messages: 84

QGIS: Récupérer des styles à partir d'un projet ?

Bonjour,

Dans le cadre d'une de mes missions, on vient de me fournir la BD TOPO d'un territoire. La taille du territoire fait que j'ai 5 BD TOPO différentes pour tout couvrir, ce qui me pose 2 problèmes (différents, donc je vais faire deux messages différents).
Celui qui concerne ce fil vient du fait que pour chaque BD TOPO, l'IGN fourni un projet qgis en .qgs.
Lorsque je l'ouvre, j'ai toutes les couches ordonnées en groupes et une sémiologie adaptée en conséquence. Ce serait parfait si je devais me contenter de ce seul projet, mais comme j'en ai 5, je dois ouvrir manuellement 5 fois les différentes couches qui m'intéressent.

Mais du coup, je perds les styles pré enregistrés par l'IGN, car aucun fichier srd ou qml n'est fourni.

D'où ma question : est-il possible à partir des fichiers des projet qgs d'exporter tous les styles, sans se taper à les sauvegarder manuellement (double clic, style, sauvegarder…) vu le grand nombre de couches dans la BD TOPO ? Ça m'arrangerait pas mal. Ou bien si quelqu'un a déjà mis en partage ses fichiers de style de BD TOPO (mais après quelques recherches google, ça ne semble pas être le cas).

Merci par avance !

Hors ligne

 

#2 Thu 06 July 2017 17:41

YoLecomte
Participant assidu
Lieu: Epinal
Date d'inscription: 7 Jul 2015
Messages: 266

Re: QGIS: Récupérer des styles à partir d'un projet ?

Est ce que générer les .qml avec un peu de python serait acceptable?
Si oui, voila le code (à lancer dans la console python du projet):

Code:

for layer in QgsMapLayerRegistry.instance().mapLayers().values():
        layer.saveNamedStyle(layer.source()[:-4] + '.qml')

Ensuite des copier/coller des .qml vers les autres shapes et le tour est joué!

Hors ligne

 

#3 Thu 06 July 2017 18:01

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3945

Re: QGIS: Récupérer des styles à partir d'un projet ?

Bonjour,
Dans un autre registre (peut-être plus fun mais lourd en fichiers?), embarquer les couches des autres projets dans un unique projet http://docs.qgis.org/2.18/en/docs/user_ … g-projects (désolé la version 2.18, en anglais, décrit plus la fonction que la 2.14)

Hors ligne

 

#4 Thu 06 July 2017 18:12

YoLecomte
Participant assidu
Lieu: Epinal
Date d'inscription: 7 Jul 2015
Messages: 266

Re: QGIS: Récupérer des styles à partir d'un projet ?

Si c'est que pour de la visualisation effectivement c'est une bonne solution.
Mais si on a besoin de modifier des styles ou filtrer ou quoique ce soit d'autre, on accède pas au propriétés des couches embarquées il me semble?
En tout cas en version 2.14 les couches sont chargées mais leur nom est en italique et elles sont pour ainsi dire bloquées...

Hors ligne

 

#5 Thu 06 July 2017 18:13

Groflo
Participant actif
Date d'inscription: 3 Jun 2013
Messages: 84

Re: QGIS: Récupérer des styles à partir d'un projet ?

Merci à tous les deux ! J'ai pris la solution de YoLecomte, car en plus je fais beaucoup de python et de PyQgis en ce moment, mais même sans ça, puisque un simple copié collé dans la console python fonctionne, ça me semble la meilleure des solutions.
Cependant, merci pour la solution de Santanna, puisque j'ai ainsi découvert la possibilité d'embarquer des couches des autres projets dans un unique projet, ce qui va également m'être très très pratique !
[edit : bien que visiblement, je ne puisse pour chacun des 5 projets n'embarquer que très peu de couches et groupes par rapport à toutes celles qui existent pourtant (l'essentiel est grisé), sans que je ne sache pourquoi, mais c'est un autre sujet…]

Dernière modification par Groflo (Thu 06 July 2017 18:19)

Hors ligne

 

#6 Fri 07 July 2017 10:59

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3945

Re: QGIS: Récupérer des styles à partir d'un projet ?

Bonjour,
Effectivement l'intérêt principal est d'empêcher des modifications de styles par des tiers donc oui, si tu veux pouvoir modifier le style dans ton projet, ça peut devenir le foutoir avec les copies de couches que ça requiert.

[edit : bien que visiblement, je ne puisse pour chacun des 5 projets n'embarquer que très peu de couches et groupes par rapport à toutes celles qui existent pourtant (l'essentiel est grisé), sans que je ne sache pourquoi, mais c'est un autre sujet…]


Ce serait intéressant de savoir ce qui coince pour les autres couches: pas activées dans le projet d'origine, avec des contraintes d'échelle de visibilité, source/type de données particulier...? Quand t'auras un moment, ça pourrait être intéressant de cerner un peu le pourquoi de la chose et le remonter aux développeurs...

Hors ligne

 

#7 Wed 20 December 2017 11:01

saisai
Juste Inscrit !
Lieu: Pau-Cádiz
Date d'inscription: 9 Apr 2007
Messages: 9

Re: QGIS: Récupérer des styles à partir d'un projet ?

.

Dernière modification par saisai (Wed 20 December 2017 11:35)

Hors ligne

 

#8 Wed 20 December 2017 11:53

saisai
Juste Inscrit !
Lieu: Pau-Cádiz
Date d'inscription: 9 Apr 2007
Messages: 9

Re: QGIS: Récupérer des styles à partir d'un projet ?

Bonjour,

Récent utilisateur de QGIS.

Je me demande alors la différence entre un fichier style (.qlm) et un fichier de Définition de couche (.qlr)?

Après quelques tests, voici mes doutes :

1/ On ne peut pas ouvrir directement un QLM dans Qgis. Il se charge sur n'importe quelle couche par ses propriétés>Style> charger style.
(C'est un fichier de style "déconnecté" d'une couche, il fait appel à des champs donné et des valeurs (attributs) donnés)

En ce sens, le fichier QLM s'apparente aux fichiers .style dans ArcGIS.


2/ Le fichier QLR est un fichier de définition lié à une couche (filtres, symbologie, étiquettes, etc...).
Le chemin vers la couche source est inscrit en dur dans le fichier QLR.
On charge la couche via le menu couche > Ajouter depuis le fichier de définition de couche (.qlr).

Or, ce fichier est lié à la couche source, on ne peut pas appliquer l'ensemble de définition (filtres, symbo, etc...) sur une autre couche ayant la même structure?
Que peut-on faire de ce fichier? Quel est son intérêt?

En gros, peut-on travailler sous Qgis avec l'équivalent des .lyr sous ArcGis, c'est-à-dire un fichier de définition? Comment associer le .qlr à une nouvelle couche?


Merci à tous ceux qui pourront m'éclaircir sur ce point
+++

Hors ligne

 

Pied de page des forums

Powered by FluxBB