MDA

Projects

Spatial analysis in ArcGIS Pro and Python. Each one links to the full report.

Motor vehicle collisions in Kitchener

Eight years of Waterloo Region Police collision records aggregated into a hexagonal grid to find where crashes actually concentrate. The hotspots track the King Street corridor and line up with the ION LRT route and its stops. A Moran's I of 0.495 with a z-score of 19.13 confirms the clustering is statistically significant rather than chance.

ArcGIS Pro. XY Table to Point, Generate Tessellation, Summarize Within, Spatial Autocorrelation, Natural Breaks.

Graduated symbol map of motor vehicle collisions in Kitchener, 2015 to 2022, with the ION LRT route overlaid
Total collisions by hexagon, City of Kitchener, 2015 to 2022. Data: Waterloo Region Police Services and City of Kitchener Open Data.

Read the full report

Geocoding 24 years of building permits

Built a point address locator from the City of Kitchener's civic address points, geocoded 75,267 building permits at a 96.29% match rate, then animated new construction year by year to show the city's growth pushing outward into Huron South, Doon South and Grand River South. The 3.71% that failed to match turned out to be structural rather than an error: new-construction permits are issued before the address exists in the reference layer.

ArcGIS Pro. Create Locator, Geocode Addresses, Rematch, Definition Query, Time Slider, Animation.

Map of new construction building permits across Kitchener, 1999 to 2022, with three neighbourhood inset maps
New construction permits, City of Kitchener, 1999 to 2022, with insets for Huron South, Grand River South and Doon South. Data: City of Kitchener Open Data.

Read the full report

NBA shot efficiency, mapped

The same spatial question answered in two toolchains. First in ArcGIS Pro: a hexagonal grid over a georeferenced court, shots spatially joined to each cell, field goal percentage calculated per zone and differenced against the team average. Then rebuilt in Python to compare Stephen Curry against Nikola Jokić. Position shapes everything, with Curry's efficiency spread across the arc and Jokić's concentrated in the paint.

ArcGIS Pro, Generate Tessellation, Spatial Join, Field Calculator. Python, Jupyter, pandas, matplotlib.

Hexagonal map of Stephen Curry's field goal percentage by court zone for the 2021-22 season
Stephen Curry field goal percentage by court zone, 2021 to 22. Red is low efficiency, green is high. Data: NBA shot locations.

Read the full report

Where should the next fire station go?

The Region of Waterloo had two candidate sites for a new station and rural response gaps to close. I built a road network dataset with travel times from segment length and posted speed, applied one-way restrictions, then ran service areas and location-allocation across four scenarios. New Hamburg cut calls outside a 10-minute response from 203 to 98, more than twice what Elmira managed, though neither site alone fully closes the rural gap.

ArcGIS Pro, Network Analyst. Network Dataset, Service Area, Location-Allocation, travel modes, one-way restrictions.

Fire response coverage map for the Region of Waterloo showing 2, 5 and 10 minute drive-time service areas with the proposed New Hamburg station
Recommended scenario, 17 stations including New Hamburg, with 2, 5 and 10-minute drive-time areas. Red points are calls still outside 10-minute coverage. Data: Region of Waterloo Open Data.

Read the full report

Siting a wind farm in Bruce County

Six criteria, wind resource plus setbacks from dwellings, built-up land, roads, forest and airports, each reclassified onto a common 30 m grid and combined in a weighted overlay. Weights came from siting literature and Ontario Regulation 359/09 rather than being split evenly. That left 554 km², or 13.3% of the county, as high suitability. Both recommended sites were then checked independently against every regulated setback, and the weighting was stress-tested at 20% and 50% wind.

ArcGIS Pro, Spatial Analyst. Euclidean Distance, Reclassify, Weighted Overlay, Region Group, Raster Calculator.

Weighted overlay suitability raster for wind farm siting across Bruce County, Ontario, with two recommended sites marked
Final suitability surface for Bruce County with both recommended sites. Data: Bruce County Open Spatial Data, Ontario GeoHub, Canadian Wind Atlas.

Read the full report