Objectives: | In this topic we describe how attribute data are associated with vector features and can be used to symbolise data. | |
Keywords: | Attribute, database, fields, data, vector, symbology |
If every line on a map was the same colour, width, thickness, and had the same label, it would be very hard to make out what was going on. The map would also give us very little information. Take a look at figure_map_attributes for example.
In this topic we will look at how attribute data can help us to make interesting and informative maps. In the previous topic on vector data, we briefly explained that attribute data are used to describe vector features. Take a look at the house pictures in figure_house.
The geometry of these house features is a polygon (based on the floor plan of the house), the attributes we have recorded are roof colour, whether there is a balcony, and the year the house was built. Note that attributes don’t have to be visible things –– they can describe things we know about the feature such as the year it was built. In a GIS Application, we can represent this feature type in a houses polygon layer, and the attributes in an attribute table (see figure_house_gis).
The fact that features have attributes as well geometry in a GIS Application opens up many possibilities. For example we can use the attribute values to tell the GIS what colours and style to use when drawing features (see figure_style_by_attribute). The process of setting colours and drawing styles is often referred to as setting feature symbology.
Attribute data can also be useful when creating map labels. Most GIS Applications will have a facility to select an attribute that should be used to label each feature.
If you have ever searched a map for a place name or a specific feature, you will know how time consuming it can be. Having attribute data can make searching for a specific feature quick and easy. In figure_search_by_attribute you can see an example of an attribute search in a GIS.
Finally, attribute data can be very useful in carrying out spatial analysis. Spatial analysis combines the spatial information stored in the geometry of features with their attribute information. This allows us to study features and how they relate to each other. There are many types of spatial analysis that can be carried out, for example, you could use GIS to find out how many red roofed houses occur in a particular area. If you have tree features, you could use GIS to try to find out which species might be affected if a piece of land is developed. We can use the attributes stored for water samples along a river course to understand where pollution is entering into the stream. The possibilities are endless! In a later topic we will be exploring spatial analysis in more detail.
Before we move on to attribute data in more detail, let’s take a quick recap.
Features are real world things such as roads, property boundaries, electrical substation sites and so on. A feature has a geometry (which determines if it is a point, polyline or polygon) and attributes (which describe the feature). This is shown in figure_features_at_glance.
Attributes for a vector feature are stored in a table. A table is like a spreadsheet. Each column in the table is called a field. Each row in the table is a record. Table table_house_attributes shows a simple example of how an attribute table looks in a GIS. The records in the attribute table in a GIS each correspond to one feature. Usually the information in the attribute table is stored in some kind of database. The GIS application links the attribute records with the feature geometry so that you can find records in the table by selecting features on the map, and find features on the map by selecting features in the table.
Attribute Table | Field 1 : YearBuilt | Field 2: RoofColour | Field 3: Balcony |
---|---|---|---|
Record 1 | 1998 | Red | Yes |
Record 2 | 2000 | Black | No |
Record 3 | 2001 | Silver | Yes |
Table House Attributes: An attribute table has fields (columns) and records (in rows).
Each field in the attribute table contains contains a specific type of data –– text, numeric or date. Deciding what attributes to use for a feature requires some thought and planning. In our house example earlier on in this topic, we chose roof colour, presence of a balcony and month of construction as attributes of interest. We could just as easily have chosen other aspects of a house such as:
With so many options, how do we make a good choice as to what attributes are needed for a feature? It usually boils down to what you plan to do with the data. If you want to produce a colour coded map showing houses by age, it will make sense to have a ‘Year Built’ attribute for your feature. If you know for sure you will never use this type of map, it is better to not store the information. Collecting and storing unneeded information is a bad idea because of the cost and time required to research and capture the information. Very often we obtain vector data from companies, friends or the government. In these cases it is usually not possible to request specific attributes and we have to make do with what we get.
If a feature is symbolised without using any attribute table data, it can only be drawn in a simple way. For example with point features you can set the colour and marker (circle, square, star etc.) but that is all. You cannot tell the GIS to draw the features based on one of its properties in the attribute table. In order to do that, you need to use either a graduated, continuous or unique value symbol. These are described in detail in the sections that follow.
A GIS application will normally allow you to set the symbology of a layer using a dialog box such as the one shown in in figure_single_symbol. In this dialog box you can choose colours and symbol styles. Depending on the geometry type of a layer, different options may be shown. For example with point layers you can choose a marker style. With line and polygon layers there is no marker style option, but instead you can select a line style and colour such as dashed orange for gravel roads, solid orange for minor roads, and so on (as shown in figure_single_symbol_poly). With polygon layers you also have the option of setting a fill style and color.
Sometimes vector features represent things with a changing numerical value. Contour lines are a good example of this. Each contour usually has an attribute value called ‘height’ that contains information about what height that contour represents. In earlier in this topic we showed contours all drawn with the same colour. Adding colour to the contours can help us to interpret the meanings of contours. For example we can draw low lying areas with one colour, mid-altitude areas with another and high-altitude areas with a third.
Setting colours based on discrete groups of attribute values is called Graduated Symbology in QGIS. The process is shown in Illustrations figure_graduated_symbol and figure_graduated_symbol_map. Graduated symbols are most useful when you want to show clear differences between features with attribute values in different value ranges. The GIS Application will analyse the attribute data (e.g. height) and, based on the number of classes you request, create groupings for you. This process is illustrated in table_graduated.
Attribute Value | Class and Colour |
---|---|
1 | Class 1 |
2 | Class 1 |
3 | Class 1 |
4 | Class 2 |
5 | Class 2 |
6 | Class 2 |
7 | Class 3 |
8 | Class 3 |
9 | Class 3 |
Table Graduated: Graduated colour breaks up the attribute value ranges into the number of classes you select. Each class is represented by a different colour.
In the previous section on Graduated Colour symbols we saw that we can draw features in discrete groups or classes. Sometimes it is useful to draw features in a colour range from one colour to another. The GIS Application will use a numerical attribute value from a feature (e.g. contour heights or pollution levels in a stream) to decide which colour to use. Table table_continuous shows how the attribute value is used to define a continuous range of colours.
Attribute Value | Colour (no classes or grouping) |
---|---|
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 |
Table Continuous: Continuous colour symbology uses a start colour (e.g. light orange shown here) and an end colour (e.g. dark brown shown here) and creates a series of shades between those colours.
Using the same contours example we used in the previous section, let’s see how a map with continuous colour symbology is defined and looks. The process starts by setting the layers properties to continuous colour using a dialog like the one shown in figure_continuous_symbol.
After defining the minimum and maximum colours in the colour range, the colour features are drawn in will depend on where the attribute lies in the range between minimum and maximum. For example if you have contour features with values starting at 1000 m and ending at 1400 m, the value range is 1000 to 1400. If the colour set for the minimum value is set to orange and the colour for the maximum value is black, contours with a value of close to 1400 m will be drawn close to black. On the other hand contours with a value near to 1000 m will be drawn close to orange (see figure_continuous_symbol_map).
Sometimes the attributes of features are not numeric, but instead strings are used. ‘String’ is a computer term meaning a group of letters, numbers and other writing symbols. Strings attributes are often used to classify things by name. We can tell the GIS Application to give each unique string or number its own colour and symbol. Road features may have different classes (e.g. ‘street’, ‘secondary road’, ‘main road’ etc.), each drawn in the map view of the GIS with different colours or symbols. This is illustrated in table_unique.
Attribute Value | Colour class and symbol |
---|---|
Arterial route | |
Main road | |
Secondary road | |
Street |
Table Unique: Unique attribute values for a feature type (e.g. roads) can each have their own symbol.
Within the GIS Application we can open/choose to use Unique Value symbology for a layer. The GIS will scan through all the different string values in the attribute field and build a list of unique strings or numbers. Each unique value can then be assigned a colour and style. This is shown in figure_unique_symbol.
When the GIS draws the layer, it will look at the attributes of each feature before drawing it to the screen. Based on the value in the chosen field in the attribute table, the road line will be drawn with suitable colour and line style (and fill style if its a polygon feature). This is shown in figure_unique_symbol_map.
Deciding which attributes and symbology to use requires some planning. Before you start collecting any GeoSpatial data, you should ensure you know what attributes are needed and how it will be symbolised. It is very difficult to go back and re-collect data if you plan poorly the first time around. Remember also that the goal of collecting attribute data is to allow you to analyse and interpret spatial information. How you do this depends on the questions you are trying to answer. Symbology is a visual language that allows people to see and understand your attribute data based on the colours and symbols you use. Because of this you should put a lot of thought into how you symbolise your maps in order to make them easy to understand.
Let’s wrap up what we covered in this worksheet:
Here are some ideas for you to try with your learners:
Real world feature | Geometry Type | Symbology Type |
---|---|---|
The school flagpole | Point | Single Symbol |
The soccer field | Polygon | Single Symbol |
The footpaths in and around the school | Polyline | Have your learners count the number of learners using each footpath in the hour before school and then use graduated symbols to show the popularity of each footpath |
Places where taps are located | Point | Single symbol |
Classrooms | Polygon | Unique value based on the grade of the learners in the classroom |
Fence | Polyline | Have your learners rate the condition of the fence around your school by separating it into sections and grading each section on a scale of 1-9 based on its condition. Use graduated symbols to classify the condition attribute. |
Classrooms | Polygon | Count the number of learners in each classroom and use a continuous colour symbol to define a range of colours from red to blue. |
Table Example Symbols: An example of a table that defines the feature types and the kind of symbology you would use for each.
If you don’t have a computer available, you can use transparency sheets and a 1:50 000 map sheet to experiment with different symbology types. For example place a transparency sheet over the map and using different coloured koki pens, draw in red all contour lines below 900 m (or similar) and in green all lines above or equal to 900 m. Can you think of how to reproduce other symbology types using the same technique?
Website: http://en.wikipedia.org/wiki/Cartography#Map_symbology
The QGIS User Guide also has more detailed information on working with attribute data and symbology in QGIS.
In the section that follows we will take a closer look at data capture. We will put the things we have learned about vector data and attributes into practice by creating new data.