Report Generation

Another of our most frequently requested features is the ability to generate summary reports. The tools we are creating already make urban planning related datasets instantly accessible in standardized formats, reducing time searching for datasets spread across various local municipal and provincial websites. The current data in some cases is only available as difficult to interpret PDFs, slow and limited web maps, and web based tables. We know that having the various datasets in one location, in a geospatial format where they can be overlaid in a map and quickly compared and queried provides valuable and new insights to our users. However, due to the collaborative nature of the industry and planning process, we recognize the value in being able to easily summarize, export and share with colleagues.

Over the past few months we have been building a reporting service to allow our users to instantly summarize outputs, save to PDF or directly print directly from the browser. We are excited to announce that you can now generate reports for printing and saving to PDF for the following tools:

RATIO.CITY - Dev Policy.png

Planning Policy Summary:

Single page report providing an instant summary of all policy layers intersecting a site, including two maps of Zoning By-Law Categories and Official Plan Land Use Layers.

RATIO.CITY - Dev Potential.png

Development Potential:

Multi-page report providing an instant summary of site analysis and built form evaluation, including a customizable view of the 3D Massing Model, list of parcels in land assembly, total site area, GCA, GFA, NSA, density. A second page records the assumptions and inputs (setbacks, angular planes) and provides a detailed floor by floor breakdown of areas.

RATIO.CITY - sample sun shadow.png

Shadow Studies:

Multi-page report based on Development Potential 3D Massing Model, with built in checks if net new shadows intersect with over 2,000 public green areas within the City of Toronto, a summary map of the shadow spread for all hours, and 8-10 hourly maps (depending on month), displaying hour by hour shadow spread, neighbourhood shadows and net new shadows.

The technical nuts and bolts:

Based on the recommendation and demonstration of its ability to print Mapbox GL maps by the team at New York Planning Labs (, we are using Paper.CSS ( to design and layout reports for the user to review directly in the website front-end and adjust map views before generating a PDF or directly printing. 

A benefit of this system is that we are using the browsers built in ‘Print’ feature to instantly allow users to export reports, without requiring sending information back to a backend server. Modern browsers on PC and Mac allow users to export to PDF through their Print feature, in the case of Chrome and Safari we are able to also maintain URL links to policy documents in the exported PDFs (unfortunately Firefox does not maintain links). 

Shadow report generation was one feature however that has presented an interesting challenge that we have had fun exploring and resolving. With shadow reports we want to ensure that we are clearly communicating net new shadows for each hour, requiring up to 10 individual maps per report, so that each potential shadow spread and net new shadow per hour can be viewed and assessed individually. While we include interactive maps for the Policy Summary and Development Potential reports page, 10 Mapbox GL maps is simply too much for a modern computer to render all at the same time. We could require the user to manually load each hours layers then manually print, however we want to get our users to answers as quickly and efficiently as possible. Fortunately, we have devised a system to generate images from a Mapbox GL map, triggered by a combination of events returned by the Mapbox GL API, allowing us to consistently capture images of maps containing specific layers, and display images of as many maps in a report as necessary. 

With shadow reports we use an interactive 'All Hours’ map that contains the hourly massing shadow spread to act as controls for the user to position the map over the area that they want to generate additional hourly maps for. Once a map has been positioned, clicking the 'Generate Neighbourhood Shadows' button makes requests for 10 neighbourhood shadows and 10 net new shadows to our backend server. The challenge then is with 20 responses of neighbourhood shadows and net new shadows geometries, we need to ensure that we are able to consistently generate 10 individual maps, each map with 3 different layers loaded depending on the time that the map is being generated for. Each of the images we generate consists of 3 unique layers corresponding to the hour the image is being produced for: 

  • Hourly Development Potential Massing Model

  • Neighbourhood shadows (shadows generated by neighbouring buildings)

  • Net new (colour coded based on if existing shadow (black), net new shadow (blue) or net new shadow intersecting with a park (red))

In the frontend, users view a progress bar during this process letting them know the progress of data downloads and image generation. Behind the scenes, map layers are being loaded into a Mapbox GL map formatted to the size of the final image, the 3 layers corresponding to a time are loaded, which then requires us to wait for them to be completely loaded and rendered by the Mapbox GL API triggering API events that allow us to trigger image creation and saving, then move on to the next hour, loading map layers, ensuring all map layers are loaded and rendered, generate and save an image and move on to the next, etc. 

While these reports are extremely valuable additions to the Ratio.City platform, we are also excited for what we can do with our print service going forward. At the same time we are providing users with access to data to view and interact with in the Ratio.City website, we also provide the ability to create sharable URLs that load saved Development Potential 3D Massing Models for anyone regardless of having an account, and now the ability to instantly generate single or multi-page reports at any time including high quality images of maps, and going forward other forms of data visualizations that can be saved to PDF or printed. 

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

Collaborate easily with RATIO.CITY’s new SHARE feature

We’ve introduced clickable and shareable links to our platform to make it easy for our users to share projects with clients, consultants, investors and stakeholders.  We’re always adding new functionality and sharing links was a requested feature. Here’s how it works:

Step 1
Refine proposed 3D building massing - adjust front, side and rear setbacks, floor to floor heights, total height until appropriate.  Once ready to share...

Step 2
… click the share button and copy and paste the URL directly into an email.

Step 3
When clicked, the Recipient can log in and view the 3D building massing.  Recipients can’t change any settings unless they also have a subscription, but they can see all the setback assumptions and rotate the 3d model in its neighbourhood context on any web browser.   


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!

$100K Pitch Competition Winner

We are so excited to announce that RATIO.CITY was selected out of 8 finalists for the grand prize of $100K in start up capital in Communitech's Fierce Founder Pitch Competition!


A Toronto architect determined to foster urban development and create “more dense, liveable cities,” has emerged as the winner of the latest Fierce Founders Bootcamp pitch competition.

Monika Jaroszonek, CEO and co-founder of Ratio.City, earned the $100,000 grand prize for the best pitch, making her case Thursday before a standing-room only audience at the Tannery Event Centre and a panel of five judges, beating out seven other competitors.

“This is very exciting because now it means we can start building out this functionality that we’ve been talking about and hopefully hit the market as quickly as possible,” said Jaroszonek after the symbolic cheque presentation.

“This really lets us hit the ground running. We’ve been bootstrapping, self-funded to date, and this lets us expand our team and … create a product that will be viable in the market, and help build those dynamic cities that will make great neighbourhoods for us all to live in.”


 (Communitech photo: Kelsey Vere)


Beta 2.0 Live Preview

We just released a overhaul of our original BETA!  Login with either your email or LinkedIn credentials for the next 2 weeks.  Take it for a spin and we would love to hear your thoughts!

Filter Search

Search for off-market sites across the whole city.  As a demonstration, we have set up filters for Existing Zoning Category and a limited number of Existing Uses.  What other search criteria do you consider a "must have" to make this an indispensable tool for off-market site identification?  

Updated User Interface Design

Adding the additional functionality required we tighten up the layout.  What you think about the new pull down menus, labels and toggles?  Was it easy enough to find what you're looking for?

user tips:

  • reset the search by pressing CLEAR button;
  • the closer your zoom, the faster the results return;
  • scroll through the pagination at the bottom to see all results
search preview.png