Open Street Map is a gift. Especially, say, if you often teaching mapping courses that require rapidly and frequently sourcing spatial data for 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.

Figure  .

Figure  . 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 citywide scales
  • Creating a data-rich GUI for understanding and refining Open Street Map metadata

Although 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  .

Figure  . 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.

I'm a designer, developer, and educator who likes to work on tools for mapping and modelling. More about me