Development Application Tracking & Visualization

We've spent a lot of time over the last few months talking to real estate developers and industry professionals in Toronto. The single most requested feature has been a way to quickly explore the development applications that already exist. This information is extremely useful for understanding the development potential of a site as it conveys local approvals precedent and neighbourhood activity. Unfortunately, it is very difficult to get this data in a useful format. The City of Toronto hosts a search portal, but it is difficult to filter results to a set that is relevant to particular address.

Today, we are extremely pleased to announce that development applications can now be viewed in 3D for the entire City of Toronto!

dev applications.png

Information available includes current application status, proposed stories, descriptive text and more. Just click on the parcel associated with the application! We have colour coded each application according to its status:

  • Yellow = SPA / ZBA / OPA application submitted & under review

  • Green = Approved

  • Red = Under Appeal

  • Light Blue = Building Permit applied / under construction

  • Dark Blue = Completed

We have translated the applied-for heights (based on number of stories multiplied by 3.5m) and represented them with a 650sm cylindrical extrusion in the middle of the site. Please note that this is NOT a literal representation of the applied for building form but rather an abstraction for understanding scale.

The technical nuts and bolts:

For a bit of a deep dive into how (and why!) we developed this feature please read on.

Let’s start with the City of Toronto site for finding development applications:

City Dev App.png

First, the good stuff. The city has all the information in database with geo-spatial attributes and they actively maintain it. They make this site available to anyone and for free.

Now the not-so-good stuff. Because there is a map on the page, a user has the reasonable expectation that the data can be explored via the map. But there is no data shown on the map without first engaging with the filter search on the left side of the page. Even worse, the filter search is not capable of returning all the data in the database at once, and the filtering options presume a sophisticated knowledge of the whole process of making an application for development. "Community Planning" or "Committee of Adjustment"? Maybe what I'm looking for is under "Toronto Local Appeal Body"? Who knows? I am a registered professional planner and I find this interface massively confusing.

So, the first thing to do is scrape the data that this page provides acccess to and store it in more effective ways. At Ratio.City we lean heavily on PostgreSQL (with the PostGIS extensions) to do high performance querying of geospatial data. We also rely on MapBox with their excellent map-tile hosting service and their WebGL enabled 3D mapping framework. We want to translate the data on the city site into both these formats so.

Some structured exploration with the site's filter search (while observing the requests and responses in the developer tools of your favourite web browser) will reveal that there are clear patterns for how the data on this site is retrieved and structured. This leads to the most frustrating thing about this site: the returned data IS hierarchical, but it is returned in a flattened list with internal referencing rather than a natively hierarchical format like XML or better yet, JSON. Compounding the problem is that to get all the data available, each combination of application type and city ward must be queried, and each response parsed. Much Python scripting was done to manage this querying and parsing until we had nice, tidy JSON records. So where do we store this newly cleaned data?

EM Screen Shot 2018-09-21 at 5.08.21 PM.png

Fortunately, at Ratio.City we already run a high performance API on top of our PostGIS database. (For the curious, our APIs are built with Django REST Framework and deployed to Amazon's server-less infrastructure with Zappa which is an amazing tech combo.) This allows us to simply pass the JSON records we have extracted as the data payload of PUT requests to our API endpoints and our backend services convert them to database records with indexing that enables extremely fast spatial queries. Our first data transformation is complete!

Next we need to generate map tiles to store on MapBox. MapBox provides a great command line tool called Tippecanoe to convert various geospatial file formats to MapBox's .mbtiles format. Keen observers will note that we don't have a geospatial file, we have a bunch of records in a geospatial database. This is true, and there are a few different ways to deal with this, but our preferred approach is to simply ask our API for all the relevant development application records and dump them out as a geoJSON file. Then we run this file through tippecanoe to get our map tiles. The resulting .mbtiles file contains not just the geometric data we want to visualize on our website, but also a number of other parameters that we believe our users will be interested in. We upload this file to MapBox and our web application displays it in glorious 3D!

One final wrinkle is that the City of Toronto is updating their applications database on a daily basis. All the steps described in this post are tedious to carry out, even if a computer is doing most of the heavy lifting. The last step is automate the whole process on a virtual machine on AWS. A bash script runs each of the steps in sequence and emails us with success or failure status every morning at 2am. Voila! A tricky bit of data acquisition and organization running automagically every night while we sleep.


Latest Site Analysis Tools

Our instant site analysis and 3D built form evaluation allows our users to easily interpret the Planning Policies. Our tools and work flow is based on the City of Toronto’s Tall Building & Mid-Rise Guidelines and in-depth professional knowledge of building typologies and the Approvals evaluation process. Our tools allow for users to customize parameters to easily test various options and alternatives.

3D massing studies

Instantly generate realistic 3D building massing proposals. See building size (GCA, GFA, NSA, estimated unit count), resulting density and determine land value at the touch of a button.


Sun Shadow Analysis

Dynamically generate shadow studies to test implications of proposed built form. Our sensitivity analysis highlights new shadows that touch public parks. Instant feedback informs massing and setback decisions early in the design process.

Incremental Shadow Study

December, 21 (09:18 am - 16:18 pm)

Net new shadows in blue, net new touching a park in red, net new with neighbourhood covering park already in purple.


Latest Map Layers

We are building tools to make exploring and understanding intersecting planning policy areas fast and easy. Our online mapping aggregates data layers that can be explored intuitively in an interactive 3D map, and then provides the ability to summarize information for a specific property parcel. We have spent time collecting, cleaning and optimizing layers available from the City of Toronto Open Data Portal and creating our own in the case they are not available from the City. There are many other layers available than what is show below, with new ones added all the time.

You can test out the majority of our tools by signing up for a TRIAL ACCOUNT.

We encourage you to reach out and let us know what you think of what we have built so far, and we have a lot of exciting things in the works that we can't wait to share with you! If you would like to organize a demo please do so here.


Zoning By-Law 569-2013 : Categories


Zoning By-Law : Heights


Official Plan - Land Use


Secondary Plans


TO Core


Natural Heritage


Heritage Conservation Districts & Listed/Designated Properties



avenues & ROW.png

Urban Structure & Right of Way Widths

See you at RealTrends Conference Sept 13

Real Trends Forum, Canada's leading conference on commercial, industrial, retail & Multi Family real estate is taking place September 13th in Toronto. CEO and Co-Founder, Monika Jaroszonek will be speaking on a panel that explores how technology and regulatory changes are changing the role that brokers and lawyers play in property development.

Technology is transforming industries, making them more modern and efficient. It augments the accessibility of information, cuts our inefficiencies and reduces the risk of theft or fraud. It is hard to imagine that a more secure, faster, trusted process for buying, leasing and selling property will not catch on. But what does it look like, who does it impact and in what area? How are companies capitalizing on these changes to increase revenues and cut costs?

Monika will be participating in a panel discussion to bring her perspective on the challenges of integrating insight from different sources, what the impact will be to jobs, systems and policies.

Official Plan + Transit Layers

Smart development needs to be near transit to keep the city moving.  Take a look at our latest layers:  we’ve added the extents of the current and proposed transit infrastructure and the City’s Official Plan Land Use maps!  Enjoy!


RATIO.CITY is an online mapping and analysis tool that helps real estate developers, urban planners, architects and municipalities instantly evaluate potential development sites.  Get in touch with us to schedule a DEMO for your team!

Density + Urban Structure

The urban experience is ultimately about the spaces between buildings.  When we look at the city of Toronto as a whole and analyze site coverage (aka the footprint of the building as a percentage of the total site area) and highlight sites that have high coverage (60% +), we see some obvious results as well as some outlying surprises.  Interestingly, industrial areas along the railway corridors also tend to have high coverage ratios, but presumably low density.  

How can we use this type of analysis to help determine opportunities for infill development?  

RATIO.CITY coverage.png