Using the QuickOSM Plugin in QGIS to Map Traffic in Toronto and Analyze the Data

From CUOSGwiki
Jump to navigationJump to search

Introduction

The purpose of this tutorial is to showcase how OpenStreetMap (OSM) data can be easily integrated and used for analyses within QGIS using the QuickOSM plugin. To do this, the tutorial will use traffic data downloaded from The City of Toronto's Open Data portal and visualize it using road lines from OpenStreetMap. The traffic data can then be visualized for mapping purposes and used for a variety of analyses. This tutorial will guide you how to visualize traffic data, and how the data can be used in analyses to find insights like average speed around schools, and the average speed in traffic-calming areas compared to non-traffic-calming areas. This tutorial mainly focuses on using QuickOSM for traffic related data and analysis but there are many other use cases using QuickOSM. If you are interested in other applications or use cases of QuickOSM see the Conclusion section.

Breakdown of this tutorial:

  1. Downloading data required
  2. Setting up QGIS and required Plugins
  3. Joining the traffic data to OSM road lines
  4. Mapping the traffic data
  5. Conducting a variety of Analyses with OSM and traffic data
    1. Finding average speed around schools
    2. Determining if speed calming measures help reduce speeds
  6. Conducting an accuracy assessment of the OSM Roads joined with traffic data

Data Downloading and Software

For this tutorial, to make it organized, create a folder on your computer which you will use to store all files for this tutorial. Within the folder create a subfolder named "Data" to store the data required for this tutorial.

Data Downloads

The required data for this tutorial can be downloaded from the following links. Store the data within your Data folder.

City of Toronto Traffic Volumes: https://open.toronto.ca/dataset/traffic-volumes-midblock-vehicle-speed-volume-and-classification-counts/

  • Download the svc_summary_data as a csv file.

City of Toronto Centrelines: https://open.toronto.ca/dataset/toronto-centreline-tcl/

  • Download the Centreline - Version 2 as a GeoPackage

QGIS

We will be using QGIS within this tutorial. If you don't currently have it installed, it can be downloaded here: https://qgis.org/download/

Once you have QGIS downloaded, launch the application so we can install the required plugins for this tutorial.

  • On the main launch page of QGIS navigate to the top ribbon -> Click on the Plugins tab and click on Manage and Install Plugins. This should open up a new window.
  • On this new window search for QuickOSM, click on the plugin and Install the Plugin.
  • Once the plugin is installed you can close the plugin window but keep QGIS Open as you will need it for the next step.

Tutorial

To begin with the tutorial start by launching QGIS.

  • Create a project and save it within the tutorial folder you created.

Annotated image showing how to create and save a project in QGIS

  • Create a GeoPackage to store the layers for this tutorial.
    • To create a GeoPackage, locate the GeoPackage section in the browser on the left hand side, right click and "Create Database", locate your data folder choose a name for the database and save it there.
    • The GeoPackage section in the browser should now show the new database you created.

Screenshot showing where the GeoPackage section is within the browser in QGIS

  • Feel free to create more GeoPackages if you would like to organize your data more.

Mapping the Traffic Data

Within this step we will be using the traffic data that was downloaded and mapping it to the OSM roads layer.

Adding OpenStreetMap Data to the map.

  • Start by importing the roads layer using Quick OSM. At the top ribbon, select Vector -> QuickOSM -> QuickOSM
  • Once you have the QuickOSM plugin window open, select the "Quick query" option on the left, then enter the following:
In the key field enter "highway", in the "In" field option enter "Toronto" Then run the query. Note: this may take a while
QuickOSMNew.png
  • You should now have 3 layers in the layers window in QGIS.
  • You can remove the points and polygon layer and just keep the highway line layer.
  • The OpenStreetMap data from QuickOSM loads in as a temporary layer so, we must save it to make it a permanent layer. Right click on the line layer -> Export -> Save features as -> Format = GeoPackage -> File name: choose GeoPackage you created previously by clicking the 3 dots and navigate to the data folder -> Name the layer "Roads" -> Then change the coordinate system (CRS) to EPSG:2958 - NAD83(CSRS) / UTM zone 17N -> Click ok
    • If you don't see EPSG:2958 in the dropdown click on this button CRSButton.pngto the right of it and search for EPSG:2958 in the filter search box. Click on the EPSG:2958 and click ok.
    • A popup "Select Datum Transformations" may pop up when you save the layer, you can just click ok and it will save your layer.
  • You can now remove the temporary layer from your layers section and just keep the Roads layer

Adding Traffic Data as Points

We want to add the traffic data we downloaded as a csv to the map as a series of points.

  • To do this, on the top ribbon, select Layer -> Add Layer -> Add Vector Layer
  • You should now see a window asking for a source. Click the three dots on the right of the source option and navigate to the location you saved the CSV traffic data and select it.
  • Now set the options to the following:
Separator = COMMA, X_POSSIBLE_NAMES = longitude, Y_POSSIBLE_NAMES = latitude (You can also see the image) 
AddTrafficAsPoints.png
  • Once you have set the options, you can click add and the points should appear on the map.
  • It currently has no defined coordinate system. So double click on the question mark in the layer window and in the popup choose EPSG:4326 - WGS84.
  • Then save the points layer into a GeoPackage and set the coordinate system to UTM Zone 17N you can do this by right clicking the layer -> Export -> Save Feature As -> Format = GeoPackage -> File Name = select a GeoPackage to save the points layer in -> Name the layer "TrafficData_Points" -> Set CRS to EPSG:2958 - NAD83(CSRS) / UTM zone 17N

Now we want to reformat some of the fields as they are currently all string types.

  • To start open the Processing Toolbox by doing Ctrl + Alt + T or by clicking on the Processing tab on the ribbon and clicking on Toolbox.
  • The processing toolbox should now show up on the right hand side of the screen.
  • In the search bar enter "Refactor fields", and double click on the tool.
  • Within the tool set the Input layer as "TrafficData_Points" and in the field mapping section set the following:
    • centreline_id (row 10), change the Type to Integer (64 bit), Length = 10
    • avg_speed (row 18), change the Type to Decimal (double), Length = 4, Precision = 1
Refactor.png
  • Then run to create a temporary layer.
  • Once the temporary layer is created, save it to the geopackage as "TrafficData_refac"
    • Note: When the data is refactored, any point that had a null avg_speed value was removed from the dataset. This won't affect this tutorial because we are only using speed variable. If you wanted to use the volume variable there are workarounds to keep all points and still change the format of the field.

At this point you can remove all layers except the Roads and TrafficData_refac. You should have a map that looks like the following image.

TrafficPoints.png

Joining the Traffic Data to the Road Lines

  • To start you will need to filter the roads layer to include only road lines and ignore the sidewalks. To do this right click on the road layer and choose filter. Then at the bottom enter the following expression, then click ok.
"highway" NOT IN ('footway', 'cycleway', 'steps', 'pedestrian', 'path', 'corridor')
  • Once you have filtered the roads layer, export it and save it in a geopackage, naming it "RoadsOnly_Toronto".
  • You can then remove the filter from the roads layer.
  • Using the Processing Toolbox, search for Join attributes by nearest and double click on the tool to open the window.
  • Within the tool window set the parameters as the following: (Or see the image)
    • Input layer = RoadsOnly_Toronto, Input layer 2 = TrafficData_refac, Maximum nearest neighbour = 1, Maximum Distance = 2
    • For the Joined layer parameter, click on the three dots -> Save to GeoPackage and select the GeoPackage you would like to save this layer to and create a name for the layer like "Joined_Roads"
Screenshot of the parameters used for the Join by Nearest tool.
  • Once you run the tool a new line layer should be added to your map which will include the traffic data joined to the roads.

Symbolizing the Traffic Data

Now that we have the traffic data joined to the roads we can visualize the data to explore the traffic data. Since we're visualizing the traffic data you can uncheck the "Roads" layer for now so it removes it from the map output.

  • Visualizing traffic speeds
    • Right click on the joined roads layer and open the properties.
    • Click on the symbology tab -> change the symbology type to Graduated -> set the Value to avg_speed -> at the bottom set Mode to Natural Breaks -> click classify to classify the data into different classes.
    • You can then change the colour ramp to a red to green ramp to show slower speeds as red and faster speeds as green.
    • Once you click apply or ok you should see the map symbology change and you can see a map of average speeds across the city.
Annotated screenshot of the symbology settings to apply.

We can also symbolize traffic by how fast people are driving compared to the average

  • To do this, open the attribute table, (Right click on the layer -> Open Attribute table), then click on the Field Calculator button FieldCalc1.png .
  • Within the field calculator copy what you see in the image below.
SpeedRatio.png
  • This will make a new field, which is the speed ratio. Anything greater than 1 is traffic travelling faster than the speed limit and anything under 1 is traffic travelling slower than the speed limit.
  • If you want to symbolize the layer using this field. Open up symbology settings again and change the Value to speed_ratio and reclassify the classes.

Output

By the end of this section your Joined_Roads layer should have an output similar to this.

Screenshot of what the traffic data should look like after this section.

If you want to make a map with the data, you can add additional layers using QuickOSM.

  • For this demonstration I will add a parks layer and a water layer.
  • To get the parks layer open up QuickOSM and in the quick query option enter the following
Key = leisure, Value = park, In = Toronto
  • To get the water layer enter the following in QuickOSM quick query
Key = natural, Value = water, In = Toronto
  • You can remove the points and line layers for both parks and water and just keep the polygons.
  • Since the colours may not represent the layer, open up the symbology and change the colours of each layer to green and blue. Or any other colour scheme you like.
  • If you want you can also turn on the full roads layer and change the colour to a light grey.
  • To add a title and legend to your map you can create a print layout by following this tutorial: https://docs.qgis.org/3.40/en/docs/training_manual/map_composer/map_composer.html

By the end of this your map should look something like the following:

Map of Toronto average speed on roads with data.


Optional: Using the TimeManager Plugin

If you are just interested in data collected during a specific time span you can add the following expression in the filter option of the Joined_Roads layer.

"count_date_start" >= 'YYYY-MM-DD' AND "count_date_end" < 'YYYY-MM-DD' 
  • This will filter data between a start and end date that you specify.
  • Be sure to remove the filter when you are done.

You can also view the data by time using the TimeManager Plugin. The TimeManager plugin will allow you to see what data was collected in each year. Up until this point we have been using all data collected between 1999 and 2025.

  • If you are interested in doing this, open the plugins menu search for the TimeManager Plugin and install it.
  • Once it is installed if it hasn't opened. In the Plugins tab on the ribbon you should see TimeManager and then toggle visibility to open the tool.
  • You can now use the TimeManager plugin to show what data was collected over time.
  • To do this open the TimeManager settings, you should see a button to add layer. Within the add layer window enter the following
Layer = Joined_Roads, Start time = count_date_start, End time = count_date_end
  • Once you add the layer set the time frame size to 1 year in Time Manager, and click the play button. You should now see the data show up on the map based on the year that it was collected.
  • When you're done using TimeManager don't forget to turn it off by clicking the power button.

Conducting Analyses using OSM Data and Traffic Data

For this part of the tutorial I will be conducting multiple analyses. I will be showing how OpenStreetData and the traffic data can be used to conduct analyses. I have two examples of tutorials. The first will be using the traffic data and school locations within Toronto to find traffic statistics around schools. The second analysis will be testing if traffic calming measures work to reduce speeds.

  • You can now remove or turn off all layers except for the Joined_Roads

School Speed Analysis

Within this part of the tutorial I will be showcasing how you can find the average speed around schools using the traffic and OpenStreetMap data.

  • To begin we will need to know the location of schools within Toronto. We can get this data using QuickOSM. Open the QuickOSM tool through the vector tab on the ribbon and enter the following in the quick query to get school locations. Then run the query.
Key: amenity, Value: school, In: Toronto
Screenshot of the QuickOSM tool to show how to retrieve school locations in Toronto.
  • Once the query finished loading, remove the point layer and keep the polygon layer.
  • Right click on the polygon school layer and export and save to the GeoPackage, and set the coordinate system to EPSG:2958 like before, name the layer "Schools"
  • You can remove the previous temporary layer. We will only use the "Schools" layer from now on.

Now we will find all roads that are within 25 metres of schools. Feel free to change this distance if you would like to analyze a bigger area.

  • To do this open the extract within distance tool using the processing toolbox and enter the following in the tool.
Extract features from = Joined_Roads, By comparing to the features from = Schools,  Distance = 25 (Or any other distance you're interested in)
  • Save the output from the extract features tool to a GeoPackage naming it "RoadsWithin_25mSchool"
Screenshot of the Extract Within Distance tools and the values to enter in the parameters
  • Now to find the average speed around schools, search for the Basic Statistics for Fields tool within the processing toolbox and enter the following:
Input layer = RoadsWithin_25mSchool, Field to calculate statistics on = avg_speed
  • Feel free to save this to the GeoPackage. It will save as a temporary layer otherwise.
  • Open up the newly created statistics table to view the statistics about the roads around schools.
    • Ex) If you chose to calculate statistics on avg_speed the Mean value would be the average of average speeds within 25m of schools.
  • These are the statistics I calculated when I did this analysis.
Statistics of the avg_speed of roads within 25m of schools.



  • If you want to find statistics for a specific time range you can filter the road within 25m of schools. To do this right click on the RoadsWithin_25mSchool layer and click on filter. Within the filter option enter the following query in the Filter Expression box:
"count_date_start" >= 'YYYY-MM-DD' AND "count_date_start" <= 'YYYY-MM-DD' 
  • You can set the Year-Month-Day for the time range you are interested in.
  • Once the filter is set, rerun the statistics tool with the same inputs as before.

If you want to create a map of this analysis. You can do the following:

  • Within the Processing Toolbox search for buffer
  • Enter the following in the buffer tool and save it to the GeoPackage as "Schools_Buffer25"
Input layer = Schools, Distance = 25 (Or whatever distance you set in the previous step), Everything else you can leave with the default settings.
Screenshot of the parameters entered within the buffer tool.
  • You should now see the new buffer layer on the map.
  • Turn off the Joined_Roads layer and keep Schools_Buffer25 and RoadsWithin_25mSchool visible
  • This now allows you to visualize what roads were included in the analysis and the 25 metre area around schools.
  • If you want you can create another print layout, with a legend and title.
Map of the school speed analysis across Toronto.

Traffic Calming Analysis

This analysis will use both OpenStreetMap and the traffic data to identify if traffic calming measures help reduce speeds. To do this we will retrieve traffic calming measures across Toronto using QuickOSM and then compare average speed in areas with traffic calming to areas without and see if there are differences.

Let's start by retrieving the traffic calming data.

  • In QGIS, Open the QuickOSM tool
Go to quick query -> Key = traffic_calming, Query on all values (don't change), In = Toronto
TC Quickosm.png
  • Save the points layer as a GeoPackage and set the coordinate system to EPSG:2958 and name the layer "Traffic_Calming"
    • You can now remove the old traffic calming point, polygon and line layers. Keep the layer you just exported.

We will now export the "Joined_Roads" that intersect with traffic calming measures.

  • Open the extract by location tool, extract "Joined_Roads" that intersect with "Traffic Calming" Points. Save this to your GeoPackage and name it TC_Roads.
Extract features from = Joined_Roads, Where the features = intersect, By comparing to the features from = Traffic_Calming 
Extract Intersect.png
  • Since traffic calming measures are only on residential / side streets we will only want to compare speeds to other residential roads.

Now we will extract all other roads that don't intersect with speed calming measures.

  • Open the extract by location tool, extract Joined_Roads that are disjoint from TC_Roads. Save this to a GeoPackage and name it NonTC_Roads.
Extract features from = Joined_Roads, Where the features = disjoint, By comparing to the features from = TC_Roads
Extract Disjoint.png

Since we are interested in average speed, we will want to remove any roads that don't have an avg_speed value, filter to only residential roads, and filter to only include data from the last 10 years.

  • To only include the residential roads, we will need to filter the NonTC_Roads. Locate the layer in the layer section, right click and click on the filter option. Within the filter enter the following in the expression section:
"highway" = 'residential' AND "avg_speed" IS NOT NULL AND  "count_date_start" >= '2015-01-01' AND "count_date_start" <= '2025-12-31'
  • Since road speed limits may change overtime we will filter to only get data from the last 10 years.
  • Open the filter option for the TC_Roads Layer and enter the following in the expression section
"count_date_start" >= '2015-01-01' AND "count_date_start" <= '2025-12-31' 

Now that we have the data set up we can find out if traffic calming measures help reduce speeds.

  • Search for the basic statistics for fields tool and open it.
  • Calculate statistics for the avg_speed field for the TC_Roads and the NonTC_Roads. If you would like to save the results, make sure to save it to a GeoPackage. Note: You will have to run the tool twice
  • Once you've created the two statistics tables you can compare the average speed between traffic calming roads and non traffic calming roads.

These are the outputs I got from the analysis.

Traffic calming roads, average speed statistics:

Average speed statistics of traffic calming roads.



Non traffic calming roads, average speed statistics:

verage speed statistics of non traffic calming roads



As you can see from the results it was found that traffic calming measures do help reduce speeds. This sort of analysis can be used to find averages, but it can also be used for things like:

  • Identifying where to implement new traffic calming measures based on traffic speeds and existing traffic calming measures.
  • Relating traffic calming measures to traffic collisions. What is the relationship? Is there a relationship?

Accuracy Assessment of OSM Data

This section will look into how accurate the spatial join was at joining traffic data to the OpenStreetMap road lines. If you are not interested in knowing the accuracy you can ignore this section.

To determine how well the spatial join worked joining the traffic data to the OSM road lines we can compare it to the City of Toronto's Road Centrelines. I am treating the City of Toronto's Road Centrelines layer to be the baseline of how the traffic data should be joined to roads. This is because the description of the traffic data recommends overlaying it with the Toronto Centrelines layer.

  • Within this section we will:
    • Join the traffic data to the OpenData road Centrelines by joining by field.
    • Visually assess the accuracy of the two different road layers joined with the traffic data
    • Quantitatively assess the accuracy of the spatially joined road layer.

Joining the traffic data to the Road Centrelines

Before we start you can remove or turn off any current layer you have on the map but keep or add the following layers:

  • TrafficData_refac
  • Joined_Roads

The traffic data and the road centrelines layer downloaded from the City of Toronto's Open Data Portal has a centreline_id field which we will be using to join the traffic data to the roads layer. We will now be using the centrelines layer you downloaded at the beginning of the tutorial from Toronto's Open Data website. So follow these instructions to add the data to your map:

  • To add the centrelines layer, right click on the GeoPackages section in the Browser on QGIS -> New Connection -> navigate to your Data folder and open the "Centreline - Version 2 - 4326.gpkg"
  • You should now see the new GeoPackage with the centreline layer in it. Add the centreline layer to the map.
  • We would like to make sure that all data is in the same projection, so open the Reproject layer tool, and reproject the centreline layer to EPSG:2958 and save it to the centreline GeoPackage as "Centrelines_Proj"
  • You can now remove the original centreline layer.

Next we would like to join the traffic data to the centrelines.

  • Search for the Join attributes by field value tool and enter the following:
Input layer 1 = Centrelines_Proj, Table field = CENTRELINE_ID, Input layer 2 = TrafficData_refac, Table field  2 = centreline_id, Join Type = one-to-many, Save the joined layer to a GeoPackage and name it "Centrelines_Joined"
FieldJoin traf.png

Since we are interested in the accuracy of the join, we will want to only include attributes that joined with traffic data.

  • In the "Centrelines_Joined" layer open the filter option and add the following expression
"centreline_id_2" IS NOT NULL
  • In the "Joined_Roads" layer open up the filter option and add the following expression
"centreline_id" IS NOT NULL
  • We can now move onto visually assessing the accuracy of the two different joined layers.

Visually assessing accuracy of the joined layers

Within this step we will look at the two roads layers joined with traffic data and visually see areas that match and areas that don't match. To start off we will need to visualize the roads layers so it is easy to differentiate the two

  • Open the Joined_Roads layer properties -> Symbology -> type = Single Symbol ->Colour = Red
  • Do the same with the Centrelines_Joined and make it green. Feel free to change other options to make it easier to differentiate.
  • Also add the Traffic Data Points (TrafficData_refac) to the map.

You can now start to visually assess the accuracy.

  • To give an example of assessing the accuracy at the bottom of the QGIS app change the scale to 1:1000 and in the coordinate box enter these coordinates:
43.6459942,-79.3952134
CoordiantesLoc.png
  • As you can see with this area the only road layer is the centreline. This is due to the digitization of the OpenStreetMap roadlines, where they digitize directional lanes if it is a wide road or highway. If you want you can add the original "Roads" layer to the map to see how OSM digitizes the roads or see the image below where Green is the Joined centrelines, Red is the Joined OSM roads, and light grey is all OSM roads.
Joined Roadlines along Spadina Avenue
  • The traffic data wasn't joined to the OSM road data because it was outside of the 2m buffer we set to join the traffic data to the roads. The issue with increasing the distance we use to join the traffic data to the roads is that traffic data will be joined to roads that weren't a part of the traffic survey data.

To Continue the visual assessment of the accuracy

  • Enter the following coordinates in the coordinate box on QGIS.
43.63072805,-79.48307088 
Joined roadlines along The Queensway in Toronto
  • You can see that there are 2 OSM roads but only 1 centreline that have traffic data joined to them. This is because the OSM roads (red) are similar distances away from the point and some years of traffic data were joined to one roadline while other years of data were joined to the other line. The correct joined road is the one parallel to the green centreline. This shows another inaccuracy in the spatial join.
  • These were the main two inaccuracies I found with the spatial join. You can continue to examine the data to see if you can find any other errors between the two datasets.
    • You may also find that there are some points that don't have any road attached to them. These points are joined to road centrelines but may have improper coordinates, so they don't completely line up. The reason these points aren't joined with OSM data is due to the digitization differences mentioned before.

Quantitatively assessing the accuracy of the joins

To quantitatively assess the accuracy of the joins we would ideally like to see how many joined roads between the centrelines and the OSM data match and don't match. Unfortunately there is not easy way to do this as the layers don't completely overlap. Within this section I will go over simple ways on how you can quantitatively analyze the data.

Finding the how many traffic data points didn't get joined with OSM roads

  • Use the select within distance tool to find Centrelines_Joined that are within 5m of Joined_Roads. To do this search for the select within distance tool in the processing toolbox and enter the following:
Select features from = Centrelines_Joined, By comparing to the features from = Joined_Roads,  Where the features are within = 5.
SelectWithinDistance.png
  • This has now selected all Centrelines_Joined that are within 5m of Joined_Roads, but we want the opposite. Centrelines that are not within 5m of Joined Roads.
  • To do this open the attribute table for the Centrelines_Joined layer and invert the selection by clicking this button Invert1.png at the top of the attribute table.
  • You can now see how many roads are selected and the total number of roads within the layer at the very top of the attribute table window.
Screenshot of attribute table in QGIS to show where the # of selected features is.
  • You can then divide the selected roads by the total joined roads. This gives a ratio of how many roads weren't joined by the spatial join.
    • When I did this I found that 897 centrelines that weren't within 5 metres of an OpenStreetMap road. The ratio of traffic data that wasn't joined was 897/15857 = 0.0566 = 5.66%.
    • So ~6% of traffic data didn't join with OSM roads.
    • You can also view the map to see where the selected roads are. This allows you to visually assess the accuracy again.

There are also errors with this analysis too. Such as:

  • An incorrect OSM joined road could be within 5m of a centreline road and would still count as a road being joined with traffic data even though it's not the correct road.
  • Some joined roads that are accurately representing the traffic data may fall outside of the 5m buffer due to digitization differences.

Conclusion

Overall the purpose of this tutorial was introduce you to the QuickOSM and the analyses you can do with the OpenStreetMap Data. This tutorial focused on looking at traffic data across Toronto and conducting traffic related analyses. Although there were some inaccuracies with the spatially joining traffic data to road lines, the analyses that were done weren't noticeably affected. This tutorial shows just a small portion of what can be done with Open data and OpenSource software like OpenStreetMap, QGIS and the plugins within QGIS.

Although this tutorial mainly focused on traffic analyses, there are many other analyses that can be done using this data such as:

  • Business analysis: Mapping the locations of Tim Horton's and finding areas that don't have a Tim Horton's within a certain distance. This could be done for other amenities as well.
  • Public transportation analysis: Mapping public transportation routes and locating areas that are least served by public transport.
  • Environmental analysis: Mapping out parks, wetlands and other greenspaces if you wanted to find suitable habitat areas.
  • Mapping bicycle traffic: You can create a map of bike lanes, and add bike traffic data to do a similar analysis done in this tutorial.

OpenStreetMap has a lot of data within it and the QuickOSM Plugin makes it easily accessible to use within QGIS. The quality and accuracy of the data may vary as it is all dependent on the OSM community and people who are creating the data. But as a free and open, source of data, you cannot complain as there is so much data available. If you would like to see all the different features within OpenStreetMap you can look through the wiki that shows all Key and Value data that you can retrieve using QuickOSM.

References

This tutorial used the following data:

City of Toronto. (2025). Traffic Volumes - Midblock Vehicle Speed, Volume and Classification Counts. (November 8, 2025) [Data set]. City of Toronto. https://open.toronto.ca/dataset/traffic-volumes-midblock-vehicle-speed-volume-and-classification-counts/

City of Toronto. (2025). Toronto Centreline (TCL). (November 14, 2025) [Data set]. City of Toronto. https://open.toronto.ca/dataset/traffic-volumes-midblock-vehicle-speed-volume-and-classification-counts/

OpenStreetMap contributors (2025). OpenStreetMap [Data set]. OpenStreetMap Foundation. Available as open data under the Open Data Commons Open Database License (ODbL) at https://openstreetmap.org

This tutorial used the following software and plugins:

docs.3liz.org. (2025). QuickOSM Documentation. docs.3liz.org. https://docs.3liz.org/QuickOSM/

QGIS Plugins. (2025). QuickOSM (Version 2.4.1). QGIS Plugins. https://plugins.qgis.org/plugins/QuickOSM/#plugin-details

QGIS Plugins. (2023). TimeManager (Version 3.7). QGIS Plugins. https://plugins.qgis.org/plugins/timemanager/#plugin-about

QGIS.org. (2025). QGIS Geographic Information System. QGIS Association. http://www.qgis.org

QGIS.org. (2025). QGIS Installers. QGIS Association. https://qgis.org/resources/installation-guide/

Additional References

Map features. (2025, July 21). OpenStreetMap Wiki. (November 22, 2025). https://wiki.openstreetmap.org/wiki/Map_features

QGIS Documentation . (2025, October 23). 4.1. Lesson: Using Print layout. QGIS Documentation . https://docs.qgis.org/3.40/en/docs/training_manual/map_composer/map_composer.html