Analyzing Crime Data in Ottawa using QGIS

From CUOSGwiki
Jump to navigationJump to search


The main purpose of this tutorial is to identify trends in crime in the Ottawa region using open source software. QGIS is the software that will be used for this tutorial. QGIS version 3.14 "Pi" can be downloaded here: ( The data includes many different types of crimes that occurred in Ottawa from 2005 to 2013. The sub regions include: Orleans, Innes, Barrhaven, Kanata North, West-Carleton March, Stittsville-Kanata West, Bay, College, Knoxdale-Merivale, Gloucester-Southgate, Beacon Hill-Cyrville, Rideau-Vanier, Rideau-Rockcliffe, Somerset, Kitchissippi River, Capital, Alta Vista, Cumberland, Osgoode, Rideau-Goulbourn, Gloucester-South Nepean and Kanata South. Some examples of the crimes in the data set are: Total Criminal Code of Canada (CCC) including Traffic, Total Criminal Code of Canada (CCC) excluding Traffic, Crimes against Person, Total number of Homicides, Total Number of Attempted Murders, Total Number of Robberies and Total Number of Assaults (including Sexual Assaults), Total Number of Other Sexual Offences, Number of Abductions, Total Number of Uttering Threats or Intimidation Offences and Total Number of Other Crimes.

Where to get the data?

Based on the statistics that the Ottawa Police Service have provided, the MADGIC librarians at Carleton University created the shapefiles and they are available for download from the MacOdrum Library website. Considering it is an open source dataset, no login information is required.

The shapefiles are available for download at this link:


Loading the Dataset into QGIS

The first step to analyzing the data is adding it into QGIS. To do so, select the Add Vector Layer symbol. In QGIS 3.14, the Add Vector Layer button is accessible by clicking the Layer dropdown on the top toolbar. From there, navigate to Add Layer and Add Vector Layer. Adding vector layers can also be done by pressing Ctrl+Shift+V on a Windows computer or a Linux machine. Locate the folder where all of the (.shp) files were extracted. You can select to filter by ESRI Shapefile in the bottom right corner to make it easier as there are other types of files in the dataset that were downloaded.

Add vector layer QGIS.png

The dropdown to filter for ESRI shapefiles only. This dropdown can help during instances where datasets contain dozens of other types of files.

Transforming the Coordinate System

When using GIS software, using the correct coordinate reference system is detrimental in terms of properly analyzing spatial data. Ensuring that all data frames have the same projection allows all of the data frames to align properly. To start the analysis, we will transform the coordinate system to WGS 1984 UTM zone 18N, which is the UTM zone for Ottawa.

Wrong coordinate system.png

This is how the shapefiles look after importing them into QGIS. The City of Ottawa appears to be warped. To change this, hover to Project>Properties (as a shortcut on Windows or Linux machines, Ctrl+Shift+P also brings you to Project Properties).

Snip 4 , changing coordinates.png

Under the CRS frame, you can search for any coordinate reference system under the Filter box. To find the coordinate system we are working with easier, search for "UTM zone 18N". On the map in the bottom right, QGIS will highlight where the UTM zone is assigned to. In this case, UTM zone 18N spans over the City of Ottawa.

Snip 5, correct coordinates.png

After the layer coordinates have been transformed, the map appears to be less warped. Ensure that all of the layers have the same coordinate system. Repeat this step for all of the crime data layers that were imported.

UTM map of the world. Photo source:

Introduction to Layer Properties

Layer Properties can be opened by right clicking any of the layers and clicking Properties. This opens the Layer Properties window. From here, several aspects of the layer can be edited. Some examples include layer title, symbology, labels and so on.

General Settings

Screenshot, Source.png

Under Source:

  • Layer name can be modified and changed to anything. Changing layer names is key to be able to identify different layers. In the case that the data layers came without clear labels, labelling them by year is crucial in order to easily identify each data set.
  • Data source encoding can be changed (System, Windows, and Macintosh for example)
  • Coordinate Reference System can be changed
  • Scale dependency can be turned on to restrict the minimum and the maximum scale


Layer properties.png

Labels can be used in any vector layer. Some label settings include:

  • Text (Able to modify the size, font style, transparency, color and style of text)
  • Formatting (Able to modify the line height and alignment)
  • Buffer
  • Background (Able to modify the background settings)
  • Shadow (Use this setting to add depth to labels by adding shadows)
  • Placement (Use this setting to modify the placement of the labels, including distance from centroid)
  • Rendering (Able to perform scale based visibility and pixel based visibility)


Within the Field Properties tab, you can edit the field data as well as create new fields using the Field Calculator. Any new fields you create will appear at the bottom of the field list.

To create a new column in the attribute table, open Fields under Properties and click the Area Calculator button. Here we will start to calculate the population density of crimes for years 2016, 2013 and 2010. The data downloaded does not contain the area km^2 value that is needed to calculate population density of crimes. Therefore, it needs to be created. Under Field Calculator, the first step is to calculate area km^2. In the Expression box, enter the calculation $area/1000000. Enter an output field name (In the example, "area km ^" was used), and click OK. When doing calculations in the Field Calculator, if an expression is invalid, it will state "Expression is invalid" in red.


Creating the population density field

The total population divided by the area will result in the population density. We will calculate population density for layers 2010, 2013 and 2016.

To calculate population density, insert the function (pop2016/"area km2") into the calculator. Area km2 is the attribute that was created in the previous step. The area km^2 attribute that was just created can also be found under the Fields and Values tab.

Pop den description.png


Rendering can be used to simplify the geometry. Under the Rendering tab, simplification threshold and scale can be customized to enhance the rendering process.


Additional Settings under Layer Properties

Additionally, under Layer Properties, other tools such as Legend, Actions, Joins, Display and Variables can be accessed.

Layer properties 2.png

Using Style and Diagram Functions under Layer Properties

Style Function

Under Style there is a dropdown menu, which the Single Symbol, Categorized, Graduate, Rule Based, Point Displacement, Inverted Polygons and Heat Map can be selected. For the purpose of this tutorial I am mainly going to focus on the Graduate Style.

Single Symbol

Single Symbol Function is useful for showring the features without any sort of categorization. An example below demonstrates a map of Ottawa without any sort of categorization.


Categorized Style

Categorized style is useful for demonstrating areas in the City of Ottawa. To symbolize the map this way, right click any layer (in this case, the crime wards in 2010 is used), and go to Symbology.


Select ward_Name as the value, and select Classify on the bottom left corner.

Map of city 1.png

Under the Labels tab in Layer Properties, click Single Labels and select ward_Name for the value. This will generate labels for each ward in the City of Ottawa.

Graduated Symbols

Graduated Symbols are useful for displaying the features based on their numerical values. First, the style of symbology needs to be selected as Graduated under the Symbology tab. The value that will be classified is the Population Density attribute that was created earlier. Select "pop_den" from the Value dropdown.

Pop den demonstration.png

Pop den map.png

Map demonstrating population density in the City of Ottawa in 2010, using graduated symbols and labels.

Robberies in Ottawa.png

Map demonstrating total number of robberies by ward in the City of Ottawa in 2010, using graduated symbols and labels.

Using the Graduated Symbols function, it is apparent from the map that there is a higher population density in the downtown core of Ottawa. From observing the second map, there were more robberies in the downtown core in 2010 as well.


Diagrams are useful for showing multiple features on a single layer. To access diagrams, open Layer Properties and navigate to Diagrams. On the dropdown in Diagrams, select Pie Chart. Below, all of the attributes in the selected layer (in this case crime wards in 2010) will be displayed. For the purpose of this tutorial, total number of robberies, abductions and assaults are used as attributes in the pie chart.

Pie chart attribute.png

At first, the pie charts can be too large and cover most of the map, similar to this: Big pie chart.png

To counter this, open Diagrams again and navigate to Size. There, the pie chart (or other diagrams) size can be adjusted. For the sake of the tutorial, size 7 will be used.

Size in QGIS.png

New adjusted pie chart.png

This is how the map looks when the size of the pie charts were reduced.

Cartographic Design and Crime Data in Ottawa

While QGIS is a powerful tool that allows users to visually analyze data and compare them on maps, sometimes a final product is required. There are many cartographic aspects that are behind maps such as colour, scale, legend, north arrow, labelling and title. Using these cartographic aspects, we can make a map displaying any variable in the attribute table. For this tutorial, the crime wards data from 2016 will be used. The variable that is used is asslt_num, total number of assaults in Ottawa in 2016. However, any variable in the attribute table can be used. Similar to earlier in the tutorial, open Layer Properties and navigate to Symbology. There, select Graduated.

Cartography aspect.png

Graduated menu where users can adjust color ramp, class and variable.

Next, to create a final product, navigate to Project>New Print Layout (or click Ctrl+P on Windows and Linux machines). It will bring up a separate menu. To add the map created in the main menu of QGIS, navigate to Add item>Add Map. Highlight the work area and the map will appear.

It's possible that the map will appear small on the project layout. To adjust the size of the map, the scale needs to be adjusted. The scale used for this project is 500000.

Ottawa total assaults.png

The scale is located on the right side bar under Main Properties.

Next, a legend is required. Navigate to Add Item> Add Legend. Similar to importing the map, drag the cursor along the project working area.

QGIS working area.png

Because there are so many layers present in QGIS, the legend appears with a lot of attributes, many that are not relevant to the project being worked on. To remove these from the legend, navigate to the right toolbar and uncheck "Auto update". From there, anything not wanted on the legend is able to be deleted using the delete button.

Legend items.png

Delete anything that doesn't belong to the crime wards in 2016 layer.

New legend.png

The legend will now look like this.

Using the Main Properties tab, add a title to the legend. "Legend" just works as well. The crime ward layer was renamed to "Number of Assaults" so it shows on the legend.

Number of assaults.png

Using Add Item again, select Scale Bar. Drag the cursor underneath the map of Ottawa to add a scale bar. Repeat this again to add a North Arrow.

Don't forget about the labels. The labels can be adjusted in the 2016 crime wards Layer Properties under Labels. I added a buffer, shadow and aligned my labels offset from centroid.

So far map.png

Finally, add a title and source the data. "Number of Crimes in the City of Ottawa in 2016" works. Text can be added by using the Add Label button underneath Add Item. Adjusting the size and text is all under Appearance on the right hand tool bar.

Source the data set as well. (Remember, it was retrieved from the MADGIC desk at Carleton University).


This is the final product, complete with a title, source, scale bar, legend, north arrow and labels.

Additional Statistics

Additional statistics can be obtained under Vector>Analysis Tools>Basic Statistics for Fields.. Select input layer and desired attribute.

Break ins stats.png

In this case, we will analyze the number of break ins in 2016.

Stats breakdown.png

The Basic Statistics tool then displays the statistics of the field demonstrating number of break ins in 2016.

The Basic Statistics tool is handy for analyzing geospatial data. GIS software is not just useful for creating maps.

Different Scenarios

Scenario 1 (Comparing Impaired Driving from 2010, 2013 and 2016)

Impaired driving 2010.png

Impaired driving data from 2010.

Impaired driving 2013.png

Impaired driving data from 2013.

Impaired driving 2016.png

Impaired driving data from 2016.

A quick analysis of the maps demonstrates that impaired driving has affected all areas of Ottawa, but consecutively in each year, there were a lot of impaired driving incidents in the downtown core near Rideau-Vanier, conveniently where a lot of bars and clubs are located.

Scenario 2 (Observing trends through mapping: Analyzing break ins in the City of Ottawa in 2010, 2013 and 2016)

Break ins, 2010.png

Map demonstrating break ins in the year 2010.


Map demonstrating break ins in the year 2013.

Break ins 2016.png

Map demonstrating break ins in the year 2016.

After observing all three maps, there was a significant decrease in break ins from the years 2010-2016 throughout the whole city. Maps like these can support programs by demonstrating trends in criminal activity, and to observe what programs work, and which ones don't work.


In conclusion, this tutorial aims to highlight the many aspects of data analyzation that can be performed using GIS software, such as QGIS. It also aims to briefly overview cartographic elements and inform how to create a final product, and how these final products assist in visually analyzing trends in data.

Reference List

  • Ottawa Police Service Crime Data. (2017).

The data is gathered from the Carleton University MADGIC Desk’s website.

Ottawa Police Service Crime Data retrieved from:

  • QGIS 3.14 ("Pi") Software, which was downloaded from: