Caribou

Open Street Map is a gift. Especially, say, if you often teaching mapping courses that require rapidly and frequently sourcing spatial data cities across the world.

Importing geospatial data into Rhinoceros to begin constructing a site model is very common task for landscape architects, architects, and urban designers. Open Street Map is a particularly valuable source of data for this workflow — especially in education — given it is free and can be extracted without knowing how to use a GIS software.

A screenshot of a CAD application showing a city model on the left and a parametric model on the right

Figure 16.

Figure 16. A few Caribou components within a Grasshopper definition creating a city model..

Many Grasshopper plugins exist to import Open Street Map data into Rhinoceros. However, they each tend to have limitations or hindrances that are especially challenging to novice Grasshopper users. I created Caribou to streamline and expand this process, with a focus on:

  • Supporting both MacOS and Windows
  • Providing lighting fast and asynchronous parsing of files, even at city-wide scales
  • Creating a data-rich GUI for understanding and refining Open Street Map metadata

While Open Street Map data doesn't have the comprehensive detail of a survey package, its datasets are highly complementary to them, particularly when working at large scales. Its roots as a community-based mapping project, and its popularity within navigation apps, means that it provides a wealth of programmatic information that is absent from typical cadastral packages.

While Caribou will happily serve up the typical serving of building footprints, road lines, and waterways, it also aims to make Open Street Map's broader dataset more accessible within Rhinoceros. To do so, it provides an accessible and contextual interface for exploring Open Street Map's metadata. This metadata tends to be nested within a slightly byzantine hierarchy, so Caribou provides explanations, item counts, and filtering options that help make the taxonomies and hierarchies easier to understand.

This process of extracting and exploring Open Street Map metadata can be performed when initially extracting data from the .osm file and whenever passing the data within Grasshopper as parameters. Exposing the metadata — not just geometry — within each Grasshoper itself enables much more complex and interesting downstream uses, such as creating custom visualisations or more program-focused forms of simulation and analysis.

Figure 18.

Figure 18. An analysis of Kathmandu's vehicular traffic flows, inhabitation densities, and air pollution clusters over the course of several decades. Created by Daniel Ichallalene for a 2020 Design Research Seminar in RMIT's Master of Landscape Architecture program.

To get started with Caribou, you can install it from the Rhino Package Manager. You can also check out its documentation or watch a pair of tutorials. Caribou's source code is available on GitHub.

With thanks to Timothy Logan for open-sourcing Elk, to Dimitrie Stefanescu for open-sourcing the asynchronous processing method, and to all of my Design Research Seminar students over the years. Header background by Clarke Huayang Sun.