Transit Network - tlumip/CALM GitHub Wiki

Important Note - the User only edits the network inputs in the Visum version file in the "Visum" input folder. The name of that version file is specified in inputs\settings.csv.

Visum Transit Modeling

Visum offers several methods for modeling public transit networks within travel demand models. The CALM implementation routes buses on model links and uses the Headway-based assignment method.

In Visum, transit lines and their line routes define the paths taken by transit vehicles. Transit travel times are determined by travel times on the links used by each route.

Stops are defined by stop points at nodes along the route. The density of stops and the number of available routes impact transit accessibility for each model zone.

Service frequency is determined by the headway between vehicle runs for each route, which influences wait times. Dwell time at each stop, which also affects in-vehicle time and total transit run times is provided to the model as a constant or formula. Wait times are influenced by the headway and a selection of algorithms modeling various levels of user knowledge and behavior, such as the availability of real-time transit arrival information.

Visum uses these time and accessibility components to determine optimal paths between zones using transit routes, then the software assigns the transit demand segment to transit modes and stores detailed path leg information.

To migrate CALM to Visum, some Emme attributes and model behavior were transferred to Visum, as described in Replicating Emme Transit Assignment below.

The Visum transit network objects as they apply to CALM are described here. Instructions on adding or modifying transit lines and stops can be found below.

Link Attributes

For transit service to run in Visum for CALM, link TSysSet must be open to the bus mode on links used by transit. Paths between the origin zone and the nearest useful transit stop utilize connectors and links where PuT Walk mode(s) are allowed. The destination zone should also be accessible via this mode. This is also a consideration at transit points where it is possible to walk between multiple transit stops or stop points.

Line Routes

Line Routes define each transit route as an ordered list of stops and route points. Each line has at least one line route, but may have more than one. Line Routes have their own attributes, such as the name of the route, and a time profile. Additionally, Line Routes have items that are segments between stops. The Line Route Items hold information about dwell time (EMME_DWELL in CALM) and store the number of boarding, alighting, and continuing passengers after assignment.

Time Profiles

Time Profiles hold temporal attributes for line routes. The Time Profile in this network contains the headway attribute. Time Profiles also have items for each stop, holding the arrival and departure times at each stop. In CALM, the headway is set by reading the EMME_HEADWAY attribute of the Time Profile.

The dwell time and headway attributes are applied to transit run times by the Set Run and Dwell Times procedure, which sets up the assignment parameters before transit skimming and assignment.

Walk Connectors and Walk Search

Connectors open to the WalkToTransit (w) mode create direct paths to stop points from TAZs to access transit via the PuTWalk mode. Walking to transit stop points on links is also allowed if the link is open to the WalkToTransit (w) mode. Walk times on connectors and links are calculated using the link distance and a walk speed of 3 mph.

This image shows connectors (red) and links (black) where WalkToTransit is allowed:

Relevant walk settings are found in the general procedure sequence settings under PuT Settings > Assignment > Walk Links.

As calibrated to match skimming and assignment in Emme, the CALM model currently does not allow walking between zones (without boarding any transit) via the WalkToTransit mode. Setting this to Walk links between zones not permitted prevents ideal walk trips from being allocated to the transit mode. Instead, the PuT skim reflects the best path using transit and the Walk skim reflects the best walking path.

Links open to the WalkToTransit mode also permit transfers between transit stop points. At minimum, WalkToTransit should be permitted on links that connect stops within downtown transit hubs or where multiple transit lines are accessible within a few blocks. All links that allow the Walk mode are currently also set to allow WalkToTransit. If WalkToTransit is not allowed on links, transfers can only occur at stop points (nodes) served by multiple line routes.

The Walk links within a stop setting applies to transfers between stop areas of the same stop. This situation does not occur in the current network where each stop has only one stop area and one stop point. The Search without restrictions setting allows Visum to search for all possible paths between the stops, including using access nodes. Do not permit search via access node searches for walk paths without using access nodes. Access nodes are typically used for transit systems that do not use the street network. A third option, No search, use the matrix as specified uses an asserted matrix of transfer times between stops rather than searching the network.

Replicating Emme Transit Assignment

Emme uses a simpler approach than Visum, particularly in terms of wait times and routing between zones. Emme also uses a user-supplied factor to increase transit travel times to match observed conditions.

To transfer Emme's network attributes and modeling approach to Visum, the imported (user-defined) headway and dwell time attributes were brought into Visums' transit network objects.

These attributes were transferred from Emme (or created) to replicate Emme's transit implementation in Visum:

Transit Time Functions

Transit time functions have been transferred from Emme to Visum. These functions increase transit travel time on links by a fixed factor to account for reduced vehicle speeds and dwell time at bus stops. This is implemented in the PuT skim and assignment procedures using the formula ([LENGTH] / [V0PRT]) * 60) / [MAX:LINEROUTEITEMS\EMME_TTF_FACTOR] for links where the EMME_TTF_FACTOR attribute is defined. EMME_TTF_FACTOR is a formula attributed calculated using the value of EMME_TTF_INDEX.

The EMME_TTR_INDEX input is set to either 0, 1, or 2 as follows:

  default - [Auto t0]  # Used in CALM for lower speed segments with stops at every intersection
  Index 1 - [Auto t0] / 0.90  # Used for high speed segments with few to no stops
  Index 2 - [Auto t0] / 0.75 # Used in BRM lower speed, lower functional class segments (all others that are not Index 1)

The result (travel time) is stored in the t0forPuT attribute. The TTF is defined in the Line Route Items list, accessible by right-clicking on Lines, then Lists, then Line Route Items.

This factor is applied by first calculating t0forPuT in minutes as ((miles / mph) * 60) / TTF:

  IF(
    [MAX:LINEROUTEITEMS\EMME_TTF_FACTOR] > 0,                           # if Emme TTF is set (there may be multiple Line Route Items per link)
    (([LENGTH] / [V0PRT]) * 60) / [MAX:LINEROUTEITEMS\EMME_TTF_FACTOR], # then, calculate free-flow speed divided by the max of Emme TTF
    ([LENGTH] / [V0PRT]) * 60                                           # else, calculate free-flow speed without factor
    )

Then the Set Run and Dwell Times procedure is run with these settings:

Link run times (in seconds) are set by converting t0forPuT (in minutes) to seconds.

Stop dwell times (in seconds) are set from the EMME_DWELL attribute.

Although EMME_DWELL is likely in minutes, using 60 * EMME_DWELL to convert to seconds resulted in longer than expected run times for transit routes. Since the TTFs are meant to include dwell time, either the TTFs should be used without added dwell time or the TTFs should not be used and meaningful dwell times should be added.

Adding a New Line or Route

In Visum, bus transit systems are based on an ordered list of stops along a route. Each bus route needs a Line object to set the course along network links to each stop. A line can have multiple line routes, which can be used to create 2 separate routes running in opposite directions (e.g., Northbound and Southbound). Lines can also have a single line route describing a full round trip.

Open the input version file from the template or scenario folder. It is recommended to make a backup copy of the current version file when making network edits.

When adding a new line or route, first ensure that the links on which the line will run exist in the network. Links along the route need to be open to the b bus transport system. Then add any necessary stop points along the new line or route. Stop points are the basis for creating line routes and need to exist before a new line route is added.

There are a few ways to add new line routes to a network:

  1. Add a completely new Line
  2. Create a new Line Route in the opposite direction of an existing route
  3. Create a new Line Route on an existing line

Add a Line

Select the Lines network object to make it active, then click the plus sign in the Network Editor for Insert mode.

Visum asks whether to add a new Line or Line Route. Choose Line and click anywhere on the network to continue.

The Standard vehicle combination should be set to 1 bus.

After creating the new Line object, follow directions for adding a new Line Route to complete the process.

Add Opposite Direction

To add a new Line Route in the opposite direction of an existing route, right-click the Lines network object, then open Lists and click on Line Routes.

Right-click on the existing route and select Create Opposite Direction.

Give the new route a name and select the opposite up/down direction. Up follows stops in their original ascending order while down follows stops in reverse order. The option to copy vehicle journeys is not necessary in this case as vehicle journeys are not used in Headway-based assignment.

Visum checks if links are open to the relevant transport system and reports any issues. This check could also indicate that the opposite route would run the wrong way on one-way links. Clicking OK will open links to the necessary transport system (b bus) anyway.

Add a Line Route

Check that necessary stop points exist before adding a new line route.

Select the Lines network object to make it active, then click the plus sign in the Network Editor for Insert mode.

Visum asks whether to add a new Line or Line Route. Choose Line Route and click anywhere on the network to continue.

Select the desired Line name, fill in a name for the new Line Route, and select the desired route direction, then click OK.

Visum opens the course editor window.

To setup a route's course, click the stop point where the route will start and continue to click and drag the cursor along the route to the next stop(s). Click OK in the dialog box to save the route. Visum may shift loops and turns to a more direct route, but this can be avoided by clicking to "fix" the last stop point, then continuing with the complex route.

Add Stop Points

To add Stop Points, click the Stop Points network object to make it active, then click the plus sign in the Network Editor for Insert mode.

Click on any node or along any link to add a stop point. Stop points on nodes are sufficient for a travel demand modeling application. The b bus transport system should be allowed at the stop by default. No other attributes are necessary. Visum automatically creates a stop area and a stop object associated with the new stop point.

Link-based stop points can be placed on the near- or far-side of intersections, even to a specified distance from the intersection. This specificity is only necessary for transit operations planning or when the user plans to export the transit network for GPS or GTFS applications where the exact stop location is needed. Additionally, the Visum manual recommends starting and ending line routes at stop points on nodes.

Modifying existing Lines and Stops

Delete a Stop Point

Click on the Stop Points network object to activate it. In Edit mode (normal cursor), right-click a stop point and select Delete. Visum will warn the user if this change will affect a line route that allows boarding/alighting at this stop point.

Add a Stop or Edit Route

Adding a stop point along an existing line route will not automatically add this stop to the line route. Whether adding a stop along the same course or changing the course, follow these steps to update the course to add or remove stops from the route. As with adding a new route, add stop points and open the links used to the b bus transport system first.

Select the Lines network object to make it active. On the dialog box listing lines, choose the Line Routes radio button. Right-click on the line route and select Edit Course.

The line route course and stop points are highlighted in red.

Clicking and dragging on a given stop point might affect the entire course. To re-route a small section, click on a stop point to "fix" it in place before the re-route and click on another stop point to "fix" it in place after the re-route, then click and drag on the line between these points to adjust the course. This avoids unintended course edits. Click to finish the course edit.

Historic Network Build Context

The CALM transit network was transferred from Emme to Visum and contains 19 routes with 837 total stops.

PTV Training

PTV offers a demonstration of adding new transit line routes on YouTube:

Getting to Know PTV Visum - Episode 4: Network Management at 14:40