GISify
-
Setup
We will begin by taking you through download and installation of QGIS, so you can get started with using GIS. We also show you the QGIS interface, explain how to download our data and how the tutorials work. Learn more
What is GIS?
Geographical Information Systems (GIS) combines many things such as data analysis, data management and visualisation. Essentially though, GIS all about making data geographically aware. The power of GIS comes in being able to overlay lots of information associated with a location, and work with it in a computational way.
Words and phrases such as georeference, location based, geographic data and spatial all help describe data as being location aware.
We use GIS all the time, perhaps without realising, for example searching for businesses on Google Maps and navigating with a SatNav.
Installing QGIS
QGIS is currently on version 2.12. The tutorials in GISify have been tested with version 2.8.
To get you started with GIS, we are using QGIS. QGIS is free and open source GIS software that will do the majority of geospatial tasks very well. It is cross platform, so you can use it on any computer you like.
Installing QGIS is easy.
Simply follow the steps appropriate to the operating system you are using on the QGIS downloads page in order to install the software.
QGIS interface
Once you have downloaded QGIS, you can now open it for the first time and we can take you through some key features of the user interface.
When you first open QGIS, you will see this:
When we start loading in data, it will be mapped in the blank area on the right. This is known as the canvas. The data structure will be listed on the left hand side under
Layers
, and theBrowser
allows us to explore local files on our computers, and also any databases which we have linked to.The Tutorials
GISify is made up of very small and quick tutorials. Each tutorial will introduce a concept, which will be reinforced through exercises using QGIS.
Tutorial datasets
Of course you will need some geographical datasets in order to experiment with QGIS.
We will be using a variety of types of data, mostly UK based. We’ve developed some great datasets based on aerial photography of Hampshire and satellite imagery of Cornwall.
All data is downloadable via links given in each tutorial.
Get organised
It’s normal when working with GIS that we require and generate large amounts of data. Think about naming conventions, and saving data in an organised, logical way.
Let’s begin
Now you have all the information you need to get started. First up, let’s learn about vector data.
-
Vector Data
Vector data is made up of points, lines and polygons. It can be used to represent linear features, areas or single locations. We can also add information to vectors using attributes. Here we learn about vectors, attributes and vector styling. Learn more
Getting started
Download the following data layers.
Unzip your downloaded layers and open a new QGIS project.
This data was sourced from the Ordnance Survey, and it part of their freely available Meridian2 dataset. Check out all the free geographic data released by Ordnance Survey here.
Adding vector data to a QGIS project
Vector data can be stored in a variety of vector data formats. QGIS supports many. In these tutorials we use ESRI Shapefiles, which are made up of multiple files with extensions
.prj
.shp
,.shx
and.dbf
. This is why we’ve zipped them up for you.Click on Add Vector Layer.
Navigate to the file called
uk-coastline.shp
which you have just downloaded and unzipped, and clickOpen
.You will notice that the data appears mapped in the canvas, and is listed in the
Layers
section on the left. Vectors can either be points, lines or polygons. This dataset is made up of line features.Add the polygon data
uk-woodlands.shp
and the point datauk-settlements.shp
in the same way.Vector styling
QGIS allows us to style vector data. This can be helpful to enhance visualisation and presentation of data.
Right click on
uk-coastline
in theLayers
section and chooseProperties
. Then choose theStyle
tab. Experiment changing the layers style using the options in this dialogue. You can do the same for the other layers too, which will have slightly different styling options.Vector attributes
Vector data allows us to add information to individual features within the datasets, as attributes. We’ll explore this by using the
uk-settlements
layer.Right click on
uk-settlements
and chooseOpen Attribute Table
.The attribute table displays vector data as a table. In this case, the
uk-settlements
data has 3 attributes,CODE
,OSODR
andNAME
.Each point feature is an entry in this table. If we wanted to, we could add further columns (attributes) allowing us to attach more information to each point. Perhaps we might want to add information on population size for example.
Vector labelling
It’s possible to label features using attributes. We’ve seen that the
uk-settlements
layer containsNAME
information.Open up the layer properties for
uk-settlements
and choose theLabel
tab. Set the options in this dialogue such that the layer is labelled using theNAME
attribute.There are a number of further options available to set label positioning, font and scaling rules. Experiment with these.
So far, we have just scratched the surface of what we use vector data for, but it’s enough for now! Moving on to raster data next. Time to look at some images.
-
Raster Data
In a GIS, rasters are images which have location information. In this way, they are georeferenced. Rasters can be a satellite image, an aerial photo, or even a thematic data layer. They are made up of a continuous array of pixels. Learn more
Getting started
Download the following data layers.
Rasters
The satellite image has been sourced from the Landsat archive, the aerial photos from Hampshire Hub.
Vectors
Unzip the layers and start by adding the
uk-coastline.shp
to a new QGIS project.Satellite imagery
Click on Add Raster Layer.
Navigate to the file called
landsat-cornwall.tif
which you have just downloaded.Once the layer is added, right click on it in the
Layers
section and chooseZoom to layer...
. Ensure that theuk-coastline
layer is sitting above thelandsat-cornwall
layer. If it isn’t, you can drag it above.The image we are using is a Landsat 7 image. As a joint venture between the USGS and NASA, the Landsat program represents the largest continuous archive of remote sensing imagery for land studies. With data from it’s 8 satellites, the Landsat imagery archive is a rich resource for researchers and interested people. It houses imagery of the world going back to the 70’s. Best of all, the imagery is free to use. Check out how Google have made use of this imagery for visualising how our Earth has changed since the 1980’s. Why not explore the Landsat Archive yourself and download the data.
You will see that the satellite image appears in Cornwall as it should. The file is saved in a format known as GeoTiff, which means it has location information associated with it.
Zoom in on the Raster dataset, using the zoom tools .
In this raster, each pixel represents a 30m x 30m square on the ground. So at high levels of zoom, you will see the image loosing detail.
Aerial Photography
Add the aerial photo called
hurst-spit-aerialphoto.tif
to your QGIS project.Zoom to Layer
and you will see it will appear somewhere in the south of the UK.If you zoom in, you will see the resolution of the aerial photo is much higher than the satellite image. The photo was captured from an airborne platform rather than high in orbit and such, pixel resolution is higher, at 25cm.
Load in
winchester-aerialphoto.tif
to your QGIS project, andwinchester-minor-roads.shp
. Make sure the vector layer is above the aerial photo layers in theLayers
window.Zoom to Layer...
and compare how the roads layer follows the actual roads displayed in the photo.At high levels of zoom, you will notice that the road vector layers are quite generalised. They represent the shape of the roads when viewed on a large scale (zoomed out), but are not detailed enough to represent their shape when we zoom in closer.
You’ve learned what raster data is, and how to load it QGIS. You’ve also viewed vector data against a raster backdrop and gained an understanding of raster and vector resolution and detail.
Wouldn’t it be useful to have the ability to edit vector data?
-
Editing Vectors
Building on our Vector data tutorial, we now move on to show you how to perform edits. In QGIS, it is possible to edit nodes, move whole features and draw new points, lines or polygons. We show you how. Learn more
Getting started
Download the following data layers
Rasters
Vectors
It isn’t always better to have more detailed vector data. More detail equals greater data volumes. If it isn’t necessary to work with the data at small scales, then we can afford to generalise the data.
Add both these layers to the map, and zoom to the
winchester-aerialphoto
.We may wish to edit vector data for a number of reasons. These can include adding features, changing the shape of line features, or adding attributes to the data.
In the previous tutorial, we showed that the roads layers are generalised, and the aerial photo actually shows more detail in the shape of the roads as it is a high resolution image. What we can do is edit the roads layer, such that it represents the features at a higher level of detail.
Editing line features
Zoom in to an area of the aerial photo, to roughly 1:2,500 scale. You can view the current scale of the canvas in the bottom right of the interface.
You may wish to change the styling of the vector layer to ensure it is easy to view over the aerial photo.
Select the
winchester-minor-roads
layer by clicking it in theLayers
section. Right click on the layer and selectToggle Editing
. This switches the layer into edit mode.You will notice small red crosses appearing where ever a line changes direction. These are nodes.
Locate the edit tools on the QGIS interface.
From left to right, these are
Save Layer Edits
,Add Feature
,Move Feature(s)
andNode Tool
.Select the
Node Tool
. This tool allows you to select individual nodes, allowing you to move or delete them. Furthermore, if you double click somewhere on a line, this will add a new node which can then be moved to change the shape of the line.Experiment with adding new nodes and moving or deleting existing ones. You can see how it is possible to add detail to the vector layer.
You may find it helpful to enable Snapping. Under the
Settings
menu, chooseSnapping Options...
. Here you can enable snapping for any layer you have loaded into the current project.Once you are happy with your edits, save them using
Save Layer Edits
button and switch out of edit mode.Creating new polygons
We will now create a new dataset from scratch by drawing around, or digitising the building outlines.
Locate and select the
New Shapefile Layer
tool.Select
Polygon
and click ‘OK’. Then choose where you wish to save your layer, and give it an appropriate name. The data will appear in theLayers
list automatically once it’s been created.Toggle editing on this new layer, then select the
Add Feature
tool. Experiment tracing around the buildings in the aerial photo. When you have a completed polygon, right click to finish the feature.Once you’ve completed a few, save edits and exit out of edit mode. Switch off
winchester-aerialphoto
layer. You have the beginnings of a map. -
Learning About Projections
A fundamental concept when dealing with geographic data is projections. Projections determine how the data is displayed and are important when we begin to perform geospatial analysis. Learn more
Getting started
Download the following dataset:
world-countries
What is a projection?
Projections exists to solve the problem that the earth is not flat, but yet we wish to display large swathes of it on flat media, like a map, or a computer screen. Therefore, projections aim to flatten the globe.
There are several ways to do this, and a lot of different projections to choose from. However, the main point to be aware of is that a projection will generally aim to retain a key aspect of true geometry, at the expense of all others. For example:
- Equal area projections will retain the measure of area to conform across the whole projection.
- Equal distant projections will retain the measure of distance.
- Conformal projections will retain the true shape of the feature on the earth.
We will use both the term projection and coordinate reference system (CRS). For the purposes of this tutorial, these can be taken to mean the same thing.
Whatever projection we use, it is still important to remember that distortions will exists. Distortions are given in a in a measure of scale factor. True scale with no distortions will have a scale factor of 1. Any deviation from this will indicate distortion. Scale factor distortions can vary across a single projection, such that the scale factor of a projection is not uniform. We visualise distortion using Tissot’s indicatrix.
So far in the tutorials, we have been using data which is all on the same projection, British National Grid.
However, we will now experiment changing the projection of our QGIS project. This will affect how QGIS renders the data within our project, regardless of the datasets native projection. As well as this, We’ll also show you how to change the native projection of a dataset.
Changing how our data is displayed
To illustrate how a choice of projection can change the look and geometry of the geographic data, we will use a worldwide vector dataset of countries.
Open a new QGIS project.
Load in the vector layer
world-countries.shp
Notice the bottom right of the screen.
This section of the interface tells us what projection the QGIS project is using to display the data. This is indicated with an EPSG code. The current EPSG code is 4326 which tells us the projection is WGS84.
The International Association of Oil & Gas Producers (OGP) maintains the EPSG dataset. The primary dataset is maintained in an online registry. It has become something of a standard to refer to coordinate systems using EPSG codes, as it is an internationally known system. All projections supported by QGIS reference their EPSG code.
The projection associated with the first dataset loaded into a new QGIS project determines it’s projection. Open the
Properties
of theworld-countries
layer and view the coordinate reference system information, visible in theGeneral
tab.‘On the fly’ projection makes it possible to load in datasets with multiple different coordinate reference systems, and all will be rendered using the coordinate reference system of the QGIS project. This should be used with caution! If a datasets coordinate reference system is declared wrongly, this will ultimately result in geolocation errors.
Exit out of
Layer Properties
.Click the symbol at the bottom right of the screen. This brings up a dialogue allowing us to change the projection of the QGIS project.
You will first need to check the box to
Enable 'on the fly' CRS transformation
. This means that we can now change the coordinate reference system, or projection of the QGIS project, which will render the datasets in the project to this new projection ‘on the fly’.Note! This is only changing how the data is displayed. Geographic datasets will have a native coordinate reference system, or projection associated with them, which can be different to this.
In the
Filter
box, type 900913. This will highlight Google Mercator. Select this projection and clickOK
.Notice how the look and geometry of the dataset has changed.
The Mercator projection was originally developed for marine navigation, as if you plot a straight line on the map, it will have a constant bearing. However, it distorts area. Notice the size of Greenland compared to Africa, they look roughly the same size. In reality Greenland is smaller in area than it appears here.
Let’s change the display to an equal area projection for contrast. Change to World_Eckert_V, EPSG: 54011. Keep your eyes on Greenland and Africa.
Try changing the projection of the QGIS project to the following projections.
- World_Two_Point_Equidistant, EPSG: 54031
- World_Equidistant_Conic, EPSG: 54027
Changing the projection of a dataset
Explore some more map projections. What’s your favourite?
So far, we’ve been changing the projection of a QGIS project, such that the data is displayed in that projection. Now, we will change the projection of the actual data.
Right click on the
world-countries
layer in theLayer
list.Choose
Save As...
. This will open a dialogue in which we can specify an output CRS (coordinate reference system) for the dataset. Browse to EPSG: 54021. Choose a name for your new dataset, such asworld-countries-54021.shp
. Ensure you are saving the type as ESRI Shapefile. ClickSave
.Open a new QGIS project.
Load in your new dataset
world-countries-54021.shp
. Notice how the projection of the QGIS project is now set itself to EPSG: 54021. Access theLayer Properties
of your new dataset and view the coordinate reference system. Notice here also, that the dataset is in EPSG: 54021.Got this far?
That was a very quick tour around projections and coordinate reference systems. We hope you can see how important they are to consider when working with geographic data.
You may enjoy reading some further details on projections.
That’s it for now. You’ve learnt some fundamental GIS concepts, and a great piece of software too.
What next?
Let @lo_ise know on twitter if you want more tutorials.
What about learning how to compile and print a map? Integrating your GPS unit with QGIS? Exploring datasets showing land surface elevations? There are plenty of possibilities!