Tutorial 5 — Trip Simulation with Urbano

Richard Chou
Data Mining the City — City Playlab
5 min readMar 22, 2022
Street Score Calculation | Urbano
  • Tutorial 5 demo files can be found here: Download
    Start with Tutorial_5_Basic_Trip_Modeling_Start.gh to follow the tutorial step-by-step, or use Tutorial_5_Basic_Trip_Modeling_Full.gh for the full script.

Building an Urbano Model

  • The first step of performing trip generation via Urbano is creating an Urbano, which consists of three key components: Buildings, Amenities, and Street Network, where each component are made of Rhino geometries embedded with Metadata used for the trip simulation. See below for some of the key metadata:

Buildings: Residential Population, Office Population, Amenity in building, Building Area, Height

Amenities: Amenity Type, Amenity Capacity, Opening, Rating , Destination Factor

Streets: Street Segment ID, Length, Routing Factor,

Buildings (Basic)

  • Create simple Urbano buildings directly from geometries from OpenStreetMap by connecting the building footprint curves and metadata into a Create Building component.

Amenities

  • Similarly, create Urbano Amenities by directly connecting the amenity points geometry and metadata into the Create Amenity component.

Combining Amenities into Buildings

  • Amenities points must also be linked to a building in order for the Urbano Trip Engine establish Origin/Destination routes.
  • Group Amenity points by by connecting them into the ArrangeByBuilding component. The Amenities by Building (AmenB) output is organized to match the building’s data tree, where each branch includes the amenities that are within (or closest to) each building footprint.
  • Rebuild the Urbano buildings with Amenity data by supplying the AmenB input.

Street Network

  • Connect street geometries from OpenStreetMap (OSM) into the CreateStreetNetwork component. Supply UTM Zone and Translation Vector inputs with the respective outputs from from the ImportOSM component.
  • Ensure that the “Split” input is toggled to True (filled radio dot)
  • Since street geometry are often long-spanning curves, some streets may have been culled from the Cropping Boundary. Connect the Cropping geometry into an Offset component, and set an offsetting distance between 100–200 m (enlarge offset as needed)
  • The component will create an unique data type called Street Network.

Build Urbano Model

  • Connect street network and buildings to BuildUrbanoModel. Click on the “Build” button to initiate the component. This should only take a few seconds. The component will generate a unique data type called Urbano Model.
  • Connect the Urbano Model into an InspectBuilding component. The component unpacks the building footprint geometry and metadata, as well as automatically extrudes buildings based on the height metadata.
  • Now you’ve created an Urbano model ready to be used for simulation!

Amenity Demand Profile

  • As explained in the lecture, Amenity Demand Profiles inform the proportion of population likely to visit different amenities through specific timeframes. In Urbano, these data are packaged and can be access via the Amenity Demand Profile component.
  • Click on the Load button to load one of the ADP presets. You can edit the demand values by clicking the Edit button. (For advanced modeling)
  • If a 24hr ADP preset is chosen, connect a Number Slider from 1 to 24 to cycle through different hours of the day (You can see the demand table in the Edit window).

Trip Engine

  • Finally, connect the Urbano Model, Buildings, and ADP into the Urbano Trip Engine.
  • There are many trip engine settings that can be customized. For now just use the default values. (We will cover these in the next tutorial)
  • SAVE THE SCRIPT! Trip simulation can be extremely memory-intensive and will likely run for more than a couple minutes (depending on model size).
  • When ready, press the “Build” button, and wait for the trip engine to complete.

Visualizing Trips

  • There are multiple ways to visualize and interrupt the Trips output from Urbano Trip Engine. Start by connecting the trips into the InspectTrips component.
  • Here you will see the various attribute and geometry route of every trip. This component is especially useful for evaluate the trips statically (average trip length, average trip time, total population) as well as trouble-shooting.
  • Next, connect the Trips into StreetHits, BuildingHits, and AmenHits components. By default, Urbano will visualize the respective geometry, visits, and color gradient.
  • We can easily create more interesting data visualization by playing with gradient color mapping and 3D extrusions. See the two definitions below that extrudes streets and buildings based on trip visits. (Similar to Tutorial 3 Building extrusion).
  • Finally, we can create data visualization of the simulated trip volumes within the neighborhood. In Rhino, enter the CaputreViewtoFile to create a screen capture.
  • You can run the trip simulation of multiple times of day and create multiple screen captures of the result to create a sequence of visualizations!

--

--

Richard Chou
Data Mining the City — City Playlab

I am passionate about developing data-driven design strategies for urban design and city building of the next century.