25

I have a polygon feature dataset, and an attribute from a different table that I join (one-to-one) within QGIS in order to symbolise the attributes as a choropleth map. However, not all polygon fields have a matching field in the table of numerical attributes, so there are some null values when producing the graduated symbology.

From my research, the most common piece of advice in this situation is to include a copy of the polygon dataset (or some other background) that defines a default symbology. This works because the null values are not classified in the graduated symbology, so one can see "underneath" them. I have attached an image of exactly this. The dark grey features do not exist in the join table (mb_percentile_isochrones_all), but do exist in the boundary polygons table (mb2013_wgtn). So I need two instances of the mb2013_wgtn table in order to show the "no data" features.

enter image description here

However, this does not seem elegant to me. Much more intuitive would be to define a null value symbol. Perhaps this could be perfectly transparent to be consistent with what currently exists, or perhaps it would be some kind of muted grey—whatever the user wants. The point is, at present one needs two different layers in the contents in order to handle the symbology of null values. This means that to change the symbology of all your features at the same time (say, if you want to increase the width of all borders), this has to be handled twice: once in the properties for the feature with the graduated symbology, and once for the "background" layer that handles the null symbol.

Is it possible to define a "null" value symbol without using a "copy" of the same layer used for the graduated symbology, in QGIS (2.6.1)?

underdark
  • 84,148
  • 21
  • 231
  • 413
alphabetasoup
  • 8,718
  • 4
  • 38
  • 78
  • What's wrong with having the same layer twice with different symbology? Perhaps use attribute filtering so that no polygon appears in both layers if you're getting confusion in identify or geoprocessing. Are the unmatched features 'null' in their join value or do they have a value that doesn't appear in the table? – Michael Stimson Jan 07 '15 at 03:10
  • 1
  • Problem: if I want to control the common properties of features with a value and with a null (e.g. border colour), it has be be performed twice. This makes it much easier to forget to change one of them, or to make a slight mistake (e.g. wrong shade of grey for the outline). 2. No problems regarding confusion for geoprocessing, just the symbology: I want to symbolise the null feature in the same layer. 3. Unmatched features are null in their join value (as seen in the QGIS attribute table post-join).
  • – alphabetasoup Jan 07 '15 at 03:14
  • It also makes it more difficult when building a legend to include a "no data" sample, as this symbol would come from a different layer. – alphabetasoup Jan 07 '15 at 03:23
  • 2
    You're right. There is nowhere to select 'show NULL features like this' in the graduated symbol dialog, rows with NULL values are simply not shown. – Michael Stimson Jan 07 '15 at 03:23