Time-Lapse of City of Toronto Precipitation and Beach E.Coli Count- July 2018

Kezia Weed- SA8905 Geovis Project, Fall 2021


Toronto’s beaches are an incredible feature of the city, popular throughout warm months for water activities of, among other things, swimming, paddle boarding, and boating. While taking a plunge into Lake Ontario is a great way for residents to cool off, it is always important to be aware of the current water quality conditions. During the summer, the City of Toronto tests beaches for Escherichia coli (i.e., E.Coli) counts daily as a public health measure, posting results available on site and online. What many residents are unaware of, is that E.coli is a bacteria that lives naturally in the guts of warm blooded animals; only high concentrations of E.coli at beaches pose a danger of infections for swimmers. In Toronto, beaches are posted as unsafe to swim when E.Coli counts exceed 100 fecal coliforms per 100ml.

Water quality can be impacted by numerous factors including legacy contaminants (i.e., lead), industrial activity (i.e., direct effluent discharge), and by urban stormwater and sewage water. In this visualization, the purpose is to examine the impact of precipitation on fecal coliform counts. This visualization includes seven weather stations and 10 downstream beaches across the city, as to capture the effect of rainfall on water quality. As a general rule, cities believe residents should not swim within 24-48 hours of a rain storm as rain can mobilize urban contaminants into the surface flow, streams, and eventually beaches. This is especially important during extreme precipitation events in Toronto, when there is the risk of combined sewer overflows (CSOs); CSOs occur when the volume of water discharged exceeds wastewater treatment plant capacity, and must be directed into Lake Ontario untreated.

On this premise, this visualization displays both precipitation and beach water quality over the span of a month. This is to examine, if at all, there are clear impacts between precipitation and the observed fecal coliforms at beach sites.


The base layers for this visualization are i) ‘Toronto Watercourses’ polyline shapefile and ‘Toronto Watershed’ polygon shapefile, downloaded from the TRCA; a ii) ‘Lake Ontario’ shapefile, downloaded from the United States Geological Survey (USGS) Open Data portal; and ii) a ‘City of Toronto boundary’ shapefile downloaded from City of Toronto Open Data.

Seven (7) weather stations with daily precipitation data were identified for the duration of July 2018. Five of the weather stations’ datasets were retrieved from Environment Canada’s (EC) ‘Historic Weather’ data catalogue, and two additional weather stations’ datasets were accessed from the City of Toronto Open Data portal, from the ‘2018 Precipitation Data’ file. The daily total fecal coliform tests (i.e., E.Coli concentration) were downloaded from the City of Toronto’s ‘Swimming Conditions History’ webpage.

All of the weather and total coliform datasets were placed into individual comma separated value (.csv) files, with a column for date, latitude, longitude and an entry for either precipitation or E.Coli concentrations.

Sample csv file in appropriate format


All spatial datasets were inputted and visualized within the open-source geographic information system (GIS), QGIS 3.10. To achieve a time-series visualization, this study used the QGIS plugin, ‘TimeManager’ (developed by Anita Graser). TimeManager allows for the creation of timelapse maps with temporally stamped data.

TimeManager Plug-in in QGIS


To create the initial map, add the basemap shapefiles of i) ‘Toronto Watercourses’, ii) ‘Toronto Watersheds’, iii) ‘City of Toronto boundary’, and iv) ‘Lake Ontario’.

Import the .csv files for each individual Toronto weather station using the ‘Add Delimited Text Layer’ option in the ‘Add Layer’ menu in QGIS 3.10. Within the import manager, the ‘X’ and ‘Y’ geometry values have to be selected for defining point geometry; in the ‘Geometry Definition’ section of the import manager, assign the ‘X’ value to the weather stations’ longitude and the ‘Y’ value to latitude. As the latitude and longitude coordinates were in decimals, minutes second, the geometry type was specified as ‘DMS’ in the coordinates box. If the data file has coordinates in decimal format, leave the coordinates box unchecked. Finally, select ‘Add’ and a point for the weather station which will be placed on the map. Repeat this process for each of the Toronto weather stations and Toronto beaches .csv files.

The next step is to create a spatial buffer for the precipitation levels that surround each weather station. In the tools pane, select ‘Vector’, then the geoprocessing toolbox (i.e., ‘Geoprocessing’), then select the buffer operation (i.e., ‘Buffer’). Using the weather station point as the start for the buffer, then define the width of the buffer. For this map the value selected was 5km. To limit overlap of stations. Repeat this process for each of the Toronto weather station points.

Buffer options screen

Once Toronto weather stations are buffered, proceed to the ‘properties’ pane for the new point and select the variable ‘precipitation’, then specify layer symbology under ‘graduated symbols’. Within ‘graduated symbols’, set the symbol ranges and select the colour ramp. In this example, buffers were each made to be 50% opacity.

To create the beach points, proceed to the layer’s ‘properties’ pane, and select ‘symbology’. Selecting ‘E.Coli’ as the display variable, specify layer symbology using ‘graduated symbols’, and then select a corresponding symbol. For the purpose of this map, four categories of fecal coliform concentration were used: 0-50 (Green), 51-100 (Yellow), 101- 200 (Red), and 201-999 (Starburst). Graduating visualization breaks in four categories was chosen to be able to see the changes, they do not directly correspond to beach advisory levels.

Map with buffered weather station points and beach data points

Once weather station points and buffers, and beach points were set up, open up the ‘Time Manager’ plugin from the workbench in QGIS. Add in each vector layer, ensuring that the date format of the points and buffers is in ‘yyyy-mm-dd’, otherwise it will not work. For the purpose of this visualization, days were selected as the ‘time format’

TimeManager control panel

Finally, select export video. When exporting using TimeManager, it does not export as a compiled video; instead, TimeManager creates a different image for each day. While this isn’t ideal for a very large data set, it does automate map generation in a consistent layout form. Moreover, it is not possible to add map elements in the QGIS 3.10 ‘TimeManager’ plugin, therefore this must all be done as post-QGIS processing. In this case, Microsoft PowerPoint (v.2019) was selected, with the additional map elements (scale bar, legend, title, and north arrow) added at this point. A video was then compiled in Microsoft PowerPoint (v.2019) and uploaded to YouTube.


Below is the final result, published as a video on YouTube.