This year’s AEC Technology Hackathon was the first event of its kind that I have attended, and it was definitely an eye-opening experience. Architects, engineers, software engineers, API gurus, educators and students gathered to discuss the current challenges facing the AEC industry and proposed their own solutions, without the constraints of their daily work environment. It was an extremely fast-paced and collaborative learning experience that elevated all of our skills. The event’s leaders even offered crash courses to hack-athletes who wanted to get up to speed with topics like Three.js, Open Data, GIS, WebGL and energy simulation.
Mostapha Roudsari, the Hackathon coordinator, kept the excitement and energy levels high throughout all 27 hours of the competition. He encouraged everyone to mingle and collaborate, and helped to make sure that all projects were on track and rolling along. All of the teams were friendly and open to learning and sharing their knowledge, yet still competitive.
To initiate collaboration and inspire ideas prior to the hackathon, I posted a project concept on the event’s Hacker League forum. Almost immediately after the countdown began at the start of the event on Saturday, Mostapha introduced me to Scott Ewart, a designer and software engineer at Aditazz. Scott’s experience with webGL for browser-based 3D visualization made him the perfect match for me as we teamed up for a project. Titled cQ, we developed a color-coded 3D map that interacts with NYC façade condition data. Our aim was to make building inspection reports more readily available to the general public as well as contractors, homeowners and tenants. We achieved this by merging building footprints and tax property data sets from NYC Open Data with safety reports from the NYC Buildings Information System (BIS) site, which provides real-time citywide data.
Periodic safety inspection reports called LL10/80 evaluate exterior walls and appurtenances of buildings greater than six stories. The main challenge of collecting this information was that there is no raw tabular or geospatial data available at the NYC Open Data portal. The BIS website is the only way to retrieve the safety report data, and this site requires searching by individual buildings. As such, we had to write a web scrapper that sends unique requests using BINs (Building Identification Numbers).
We retrieved BINs from the NYC Open Data building footprints data set using a custom Grasshopper GIS plugin that I have been developing called @it (this plugin is free and available to download at the Food4Rhino web site). Because this data set contains more than 1 million rows, i.e. buildings, we needed to filter the data set by building zip code and number of stories. This specific information is not a part of the building footprint data set; however it is included in the tax property data set. We were able to link these two data sets with their common attribute BBL (Building Block Lot), and subsequently filtered the building footprint BINs to a more manageable data set. Using these BINs we sent a series of web requests to scrap the inspection reports from the BIS website. By 10:30 a.m. on Sunday, we had the safety inspection reports for all the buildings in Manhattan south of 59th Street.
From here, we wanted to display the data with a 3D view of the city’s buildings. Scott hooked up the scrapped data with Open Street Map (OSM), a free and open-source alternative to Google Maps. In order to keep the application simple and accessible to as wide an audience as possible, we decided to draw 3D buildings on top of a 2D street map, rather than work with a true 3D model of the city. To draw the pseudo-3D buildings on top of a flat street map, we modified an existing open-source library called OSM Buildings. We extended the library to allow arbitrary data to be associated with a given building in the OSM data set, and to enable users to change what kind of information is displayed, triggering the buildings to be redrawn and color coded. And voila! We were finished. Give our city query color coded map, cQ, a spin for yourself!
Integration Engineer, CORE studio