Suite

Sélection manuelle de la plage pour la couche vectorielle de style gradué dans QGIS?


Je travaille avec QGIS 2.12.1-Lyon dans Ubuntu 14.04 LTS. J'aime beaucoup les fonctionnalités de ce programme sympa mais il me manque cruellement une chose. Assez régulièrement, je travaille avec les différences. Pour l'affichage, j'utilise un style polaire gradué avec du blanc pour le zéro et du rouge/bleu pour les plages dans la direction +/-. Cela fonctionne assez bien avec les données raster, où je peux définir manuellement les valeurs min/max. Malheureusement, comme vous pouvez le voir sur la capture d'écran, la définition de cette plage n'est pas possible pour les données vectorielles (ou je ne l'ai tout simplement pas trouvée ?). Cela a pour conséquence que si les données ne sont pas également réparties autour de 0, les couleurs ne peuvent pas être interprétées aussi facilement. Existe-t-il un autre moyen de définir manuellement la plage de couleurs des calques vectoriels ? (Je ne veux pas éditer manuellement chaque classe car je charge de telles données assez souvent et cela pourrait devenir très ennuyeux).


Enfin j'ai trouvé une solution. Comme il n'est pas possible d'ajuster manuellement les limites de la gamme de couleurs, il est au moins possible de définir les gammes de chaque classe manuellement. Au lieu de le faire encore et encore pour chaque profil, il est alors possible de l'enregistrer et de simplement charger le style dans d'autres projets. Au sein d'un même projet, il est même possible de copier et coller les styles d'autres profils.


Cela semble impossible à faire automatiquement dansDiplôméstyle, mais voici une solution de contournement en définissant la couleur avec une expression :

Sélectionner unSymbole uniquestyle. Aller àRemplissage simpleen dessous deRemplir, et ouvrez l'éditeur d'expression deRemplirCouleur. Saisissez ceci :

ramp_color('RdBu', scale_linear(DH, 

'RdBu' est le nom du dégradé (du rouge au bleu dans ce cas), et sont les limites.

Si vous voulez que zéro soit au milieu du dégradé, définissez simplement les limites supérieure et inférieure pour qu'elles soient identiques (-x… +x). Pour le faire automatiquement :

ramp_color('RdBu', scale_linear(DH, min(minimum(DH),-maximum(DH)), max(maximum(DH),-minimum(DH)), 0, 1 ) )

(Mettre une expression dansColonnedeDiplôméle style n'est pas bon pour centrer le zéro : quoi qu'il ressorte de cette expression, le classificateur ne sait pas où se trouve le zéro.)


J'avais besoin d'appliquer le même style aux données avec des noms de colonnes différents. Ce qui m'a vraiment aidé, c'est qu'il est possible de "copier le style", puis de le coller dans le bloc-notes et de copier-coller tout ce que vous voulez d'un fichier à un autre.


Bien que ce ne soit pas une solution étonnante, j'ai fini par créer une fonction vectorielle avec des valeurs max et min que je voudrais utiliser. Lorsque vous classez Diplômé, cela semble bien fonctionner. Equal Interval ou Pretty Breaks fonctionnent mieux que Natural Breaks car la distribution des données n'est pas excellente.


Voici une autre solution de contournement que je viens de commencer à utiliser. Encore un peu de travail manuel, mais je préfère cette façon.

J'ai un fichier vectoriel de zones urbaines pour un pays avec un indice de risque d'incendie de 0 à 1, que je colorie avec un style gradué, 10 classes. La plage min/max automatique fonctionne bien pour visualiser les données sur l'ensemble du pays, mais je dois zoomer sur des régions individuelles et montrer la variabilité locale de l'indice. Mais la variabilité est bien moindre qu'à l'échelle nationale, disons [0,2-0,4], et il n'y a aucun moyen que je puisse restreindre la plage de style min/max.

Je pourrais donc définir manuellement chaque plage de 10 classes, puis enregistrer le style et le réutiliser. Mais définir les 10 classes manuellement est la partie la plus ennuyeuse que je trouve, et certains pourraient en avoir encore plus. La solution de contournement (dans mon cas, variable : "FireIndex", pour passer de [0-1] à [0.2-0.4]) :

  • Cliquez sur E à côté du menu déroulant Colonne
  • Remplacez la variable par la valeur min/max souhaitée :

    CAS
    QUAND "FireIndex"<0,2 ALORS 0,2 QUAND "FireIndex">0,4 ALORS 0,4
    ELSE "FireIndex"
    FINIR

  • Cliquez sur OK

  • Faites un style gradué basé sur une variable recalculée : choisissez la barre de couleurs, le mode devrait probablement être "à intervalles égaux", nombre de classes, et cliquez sur "Classifier"

  • Nous avons maintenant les bonnes 10 gammes de couleurs, de 0,2 à 0,4
  • Retournez au menu déroulant Colonne et choisissez à nouveau votre variable d'origine, "FireIndex"
  • S'il y a des valeurs hors limites dans la zone visualisée, elles ne seront pas visibles, alors étendez la plage des classes supérieure et inférieure au min/max des valeurs d'origine.
  • Enregistrer le style
  • Cliquez sur ok, ne cliquez plus sur "Classifier", cela recalculerait les gammes de couleurs de 0 à 1


Voir la vidéo: Création dune couche vectorielle (Octobre 2021).