/Caribou

Caribou is a Grasshopper plugin for parsing downloaded Open Street Map data into Rhino geometry. Caribou is currently in an alpha state.

Primary LanguageC#GNU Lesser General Public License v3.0LGPL-3.0

Caribou Logo

Caribou

Build Action Test Action Maintainability Codacy Badge

Caribou is a Grasshopper plugin for parsing downloaded Open Street Map data into Rhino geometry.

Caribou is currently in an beta state. Feedback, issues, and pull-requests are encouraged.

Features

  • ✅ Windows and MacOS are both fully supported
  • ✅ Very fast parsing of even very large files
  • ✅ Data-rich GUI interface provided for understanding and filtering OSM metadata
  • ✅ Parsing is performed asynchronously so Grasshopper remains responsive
  • ✅ Parse multiple OSM files simultaneously with de-duplication of geometry
  • ✅ Allows for querying for arbitrary data outside of the primary OSM features/sub-features taxonomy
  • ✅ Outputs are tree-formatted and organised per data-type to allow for downstream filtering, tagging, baking, etc

Roadmap

  • 🕘 Documentation and examples
  • 🕘 Further speed optimisations
  • 🕘 Component to help construct queries for arbitrary Metadata
  • 🕘 Parsing of <relation> type data
  • 🕘 Integration with Rhino's EarthAnchorPoint

Setup and Use

Image of the definition setup

  • Plugin installation
    1. For now, releases are available by searching for Caribou in the Rhino package manager only.
  • Data gathering
    1. Go to https://www.openstreetmap.org
    2. Locate the general area you wish to model and hit export, then manually select an area
    3. Click the OVERPASS API link to download the xml file
  • Grasshopper setup
    1. Place Caribou's Extract Nodes or Extract Ways component (or both)
    2. Place a standard Grasshopper File Path component, reference your xml file(s), and connect the outputs to the OSM File input parameter
    3. Place Caribou's Specify Features component.
    4. Click the button at the bottom of the Specify Features component and select the types of features you want to extract.
    5. Connect the OSM Features output to the OSM Features input.

See examples/Simple.ghx for a definition the contains a completed example of the above steps as well as components to provide a Legend and categorised baking.

Recognition

Thanks to: