Generate a bridge

Imported or manually created street networks often lack elevation data, which is necessary for the 3D display of crossing streets. The Generate Bridges tool can automatically create such data. This can be done by clicking Graph > Generate Bridges in the main menu. It operates either on the current street selection or on all streets when nothing is selected.

Note:

The wider street is kept naturally at its original level, while the thinner street is raised. Also, note that new street nodes are inserted at the correct distances from the crossing point, defined by the maximal defined slope. The vertical tangent components are automatically adjusted.

The Generate Bridges tool adds elevation data to the streets:

(left) Original streets; (right) applying the Generate Bridges tool adds elevation data
(left) Original streets; (right) applying the Generate Bridges tool adds elevation data
(left) Multiple Streets without elevation; (right) multiple streets with elevation data added after tool
(left) Multiple Streets without elevation; (right) multiple streets with elevation data added after tool

Generate bridges settings

Level height

Vertical distance to be set between two crossing streets. Note that the Ramp maximum slope influences the resulting node elevations.

(left) Original; (right) level height = 20
(left) Original; (right) level height = 20

Object attribute for level (optional)

The height coordinate can be calculated from specific object attributes of streets. The height coordinate is set to Level height multiplied with the indicated attribute name. Attributes can either originate from imported data or be manually assigned, allowing full control of the vertical street layering.

(left) Original; (right) manually set level attributes
(left) Original; (right) manually set level attributes enable full control of vertical street layering

Only apply level when streets cross

Sometimes, imported GIS data, such as OSM data, may contain faulty attribute values that cause the creation of elevated parts of streets. This option activates or deactivates the vertical alignment in regions, where actually no other streets cross the street of interest.

(left) Original with faulty level attribute value; (middle) option unchecked; (right) option checked
(left) Original with faulty level attribute value; (middle) Option unchecked; (right) Option checked

Object attribute for absolute height (optional)

In contrast to the object attribute for level, this attribute allows direct specification of absolute heights. When a street has this attribute, the level height is ignored.

Ramp maximum slope

Maximum slope of ramps (vertical climb per horizontal unit).

(left) Original; (middle) maximum slope = 0.2; (right) maximum slope = 1.0
(left) Original; (middle) maximum slope = 0.2; (right) maximum slope = 1.0

Bridge join preference

If a street contains multiple bridges in a row, they are linked together according to this value. Low values: unlikely to join; high values: always join.

(top) Original; (bottom left) Bridge join = 0.1; (bottom right) Bridge join = 1.0
(top) Original; (bottom left) Bridge join = 0.1; (bottom right) Bridge join = 1.0

Lock nonzero heights

Do not change height of nodes with nonzero position.

Allow tunnels

Allow tunnels (streets below zero height). Note that this is quite a rare state to construct. Note also that the Shadow Plane is rendered at the smallest (thus negative) elevation value.

(left) Original; (right) solved with tunnels
(left) Original; (right) solved with tunnels

Use visible terrain

Treat all heights as relative above terrain (if any). This causes bridges to follow the terrain.

(left) Use visible terrain; (right) ignore visible terrain
(left) Use visible terrain; (right) ignore visible terrain