Message posté par : zutix
----------------------------------------
Bonjour,
L’une de mes cartes est mise à jour assez fréquemment. L’objectif serait d’automatiser au
maximum sa mise à jour.
Les données de mise à jour proviennent d’un fichier de type texte .csv. La couche
destinataire est nommée CSV.
La couche qui va utiliser ces données s’appelle NB.
Elle fait l’objet d’une jointure avec la couche CSV. Ainsi elle récupère un champ _nb qui
est utilisé comme colonne de catégorisation (style catégorisé de la couche NB).
Le champ _nb contient un nombre >=0 pour chaque entité.
Ce nombre peut varier d’une mise à jour à l’autre : en plus, en moins ou demeurer
constant.
Par exemple, pour l’entité 1,
mise à jour 0 : _nb=1
mise à jour 1 : _nb=5
mise à jour 3 : _nb=4
mise à jour 4 : _nb=4
En conséquence, la quantité de catégories peut varier d’une mise à jour à l’autre.
Par exemple,
mise à jour 0 : catégories (colonne valeur) = 0 1 5 25
mise à jour 1 : catégories (colonne valeur) = 0 1 2 3 5 23
mise à jour 3 : catégories (colonne valeur) = 0 1 2 4 7 10 21 27
mise à jour 4 : catégories (colonne valeur) = 0 1 2 4 8 9 26
Une fois la jointure effectuée, le style reste sur les catégories de la mise à jour
précédente.
A la main il faut aller dans le style de la couche NB. Puis sur le formulaire du style
catégorisé, il faut cliquer successivement sur les boutons : Effacer tout puis Classer et
enfin effacer la ligne de catégorie qui n’a pas de valeur.
A moins qu'il y ait un moyen pour que ce soit automatique ?
Sinon comment fait-on l’équivalent en python 2 ? Ou est-ce impossible ?
PyQGIS developer cookbook n’est pas suffisant face à mon ignorance.
renderer=nb.rendererV2()
Formulaire propriétés > style Python
Style : Catégorisé print renderer.type
affiche bien cetgorizedSymbol
renderer.setType(
quelque chose ) ne semble pas fonctionner.
Comment fait-on
pour changer le style ?
Colonne : _nb
renderer.setClassAttribute("_nb")
remplace bien la
colonne par celle que l’on met, ici le champ _nb
Symbole : celui par défaut Quelle instruction écrire ?
Palettes de couleurs : Oranges renderer.setSourceColorRamp( ? )
ne reconnaît pas Oranges
Quelle est la
bonne instruction ?
Le reste du formulaire de style : par défaut. Quelles sont les instructions python
2 ?
bouton OK
nb.setRendererV2(renderer) agit
mais avec le seul
champ colonne initialisé cela efface le style Catégorisé.
Merci d’avance de votre aide et bonne journée.
Cordialement
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=351404#p351404
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net