J'ai un jeu de données d'entités surfaciques et un attribut d'une table différente que je joins (un à un) dans QGIS afin de symboliser les attributs comme une carte choroplèth. Cependant, tous les champs de polygone n'ont pas de champ correspondant dans le tableau des attributs numériques, il existe donc des valeurs nulles lors de la production de la symbologie graduée.
D'après mes recherches, le conseil le plus courant dans cette situation consiste à inclure une copie de l'ensemble de données polygonal (ou un autre arrière-plan) qui définit une symbologie par défaut. Cela fonctionne parce que les valeurs nulles ne sont pas classées dans la symbologie graduée, donc on peut voir "en dessous". J'ai joint une image d'exactement cela. Les entités gris foncé n'existent pas dans la table de jointure ( mb_percentile_isochrones_all
), mais existent dans la table des polygones de limite ( mb2013_wgtn
). J'ai donc besoin de deux instances de la mb2013_wgtn
table afin d'afficher les fonctionnalités "pas de données".
Cependant, cela ne me semble pas élégant. Il serait beaucoup plus intuitif de définir un symbole de valeur nulle. Peut-être que cela pourrait être parfaitement transparent pour être cohérent avec ce qui existe actuellement, ou peut-être que ce serait une sorte de gris coupé - tout ce que l'utilisateur souhaite. Le fait est qu'à l'heure actuelle, il faut deux couches différentes dans le contenu pour gérer la symbologie des valeurs nulles. Cela signifie que pour modifier la symbologie de toutes vos entités en même temps (par exemple, si vous souhaitez augmenter la largeur de toutes les bordures), cela doit être géré deux fois: une fois dans les propriétés de l'entité avec la symbologie graduée, et une fois pour le calque "d'arrière-plan" qui gère le symbole nul.
Est-il possible de définir un symbole de valeur "nul" sans utiliser une "copie" de la même couche utilisée pour la symbologie graduée, dans QGIS (2.6.1)?
la source
null
entité dans la même couche. 3. Les fonctionnalités inégalées sontnull
dans leur valeur de jointure (comme indiqué dans la table d'attributs QGIS après la jointure).Réponses:
Comme @ MichaelMiles-Stimson l'a déjà mentionné, il ne semble pas y avoir de moyen de symboliser les fonctionnalités NULL . Cependant, il existe une alternative par laquelle vous créez un filtre pour forcer QGIS à traiter les valeurs NULL comme un entier tel que 0. J'ai inclus un exemple où j'ai créé 3 polygones simples chacun avec une certaine valeur:
Voici la Symbologie Graduée que j'ai utilisée avec la commande suivante:
J'espère que cela t'aides!
la source
NULL
valeurs pourrait être très utile. Ce n'est pas une bonne solution de contournement, mais vous pouvez toujours soumettre une demande de fonctionnalité et espérons qu'elle deviendra disponible dans la prochaine version :)Je sais qu'il a été répondu, mais juste pour donner une autre option:
Vous pouvez simplement laisser le champ sans filtre ni valeur (je sais que cela fonctionne pour CATEGORIZED ou RULE BASED):
http://docs.qgis.org/2.0/uk/docs/training_manual/vector_classification/classification.html
J'utilise QGIS 2.10 et cela fonctionne.
la source
Semblable à ce que d'autres utilisateurs ont dit, la meilleure option est d'utiliser des symboles basés sur des règles. Pour éviter de créer manuellement les règles:
(Testé dans QGIS 3.6.0)
la source