Proposal:Simple one node culvert or bridge

From OpenStreetMap Wiki
Jump to navigation Jump to search

exclamation mark

The tag bridge=simple_brunnel has been deprecated on 2023-11-05.
See talk page and Talk:Tag:bridge=simple_brunnel.
Single node bridge/culvert crossing
Proposal status: Inactive (inactive)
Proposed by: RicoZ
Tagging: bridge=simple_brunnel
Applies to: node
Definition: dry feet crossing of ways with waterway when not enough data available to draw a bridge/tunnel

Draft started: 2014-08-31

This proposal adds an absolutely minimal one node method of mapping grade separated crossings of waterways with highways or other ways. This is in essence equal to saying "this is not a ford but some kind of grade separated crossing that is safe to cross with dry feet" in cases where more detailed mapping is not possible or practical.

It has not been proposed formally yet but was used in some places - Taginfo.

To be applied for

waterway running under some other way when at least one of the following conditions is met (see also rationale):

  • insignificant crossings without precise position/GPS data, when GPS error is likely to be substantially larger than bridge/culvert dimensions
  • when it is certain there is a grade separated crossing but not the exact details (bridge, tunnel or culvert)
  • temporary bridges/culverts which are frequently replaced or repaired
  • HOT mapping

How to map

  • create a single shared node where the ways are crossing
  • mark it with bridge=simple_brunnel
  • no layer tags - water is defined to run bellow other way, thus use is limited to the specific case of non-waterway over waterway

Further implications

  • dimensions of the brunnel can be approximately estimated when width of the highway and stream are known. It would be nice to be able to specify the dimensions of the brunnel with some attributes but it is not clear how this could be done with a single node.
  • traffic restrictions, hazard attributes could be added to the simple_brunnel node
  • mapnik renders it as a culvert without any changes, the difference between "missing data" crossing and culvert is not visible in mapnik
  • most other renderers and tools are build around the assumption that where a highway crosses a waterway there is a culvert or some kind of a grade-separated crossing. These would work without change on the assumption that they would simply ignore the hitherto unknown tag combination.
  • renderers that make a difference between culverts and the "missing information" case would need to be updated


Worldwide by far the most frequent type of bridges/culverts is a waterway crossing bellow some other way. Very frequently such structures are insignificant and small enough that the average GPS or imagery error is a multiple of the bridge/tunnel dimensions, many of them are simple pipes bellow the road. In other cases it is well known that there is a grade separated crossing in the place but the type (bridge/tunnel/culvert) are not known exactly. In some areas it is common that many of these bridges/culverts are replaced after every rain season when the highway is graded.

At present, we have the choice to not map such situations at all because of partially missing data or to paint a bridge or culvert structure with 2-4 nodes (both ways need to be fixed so the crossing remains in place when more distant points are moved) whose precise position is highly uncertain - effectively inserting junk or fictive data into the database. The amount of junk data generated this way is considerable: one way is split into three pieces, relations and various attributes are copied over, layer information added, frequently 2-4 additional nodes for fixing positions to make sure the stream is running under the bridge even if it is moved somewhere else.

Waterways frequently share ways with administrative borders - in such cases the attempt to insert a culvert without distorting the administrative boundary is a hair-raising exercise with frequently hair-raising results.

Painting a detailed bridge or culvert in such situations pretends more precise data then is available. The next mapper who has more precise data may have considerable additional work just to cleanup this fictive data before he can insert for example a bridge instead of a culvert.

A single node brunnel on the other hand is extremely easy to delete or reposition should a change be necessary.

Leaving the crossing unmapped when it is known that it is a grade-separated crossing is also highly unsatisfactory - the information "it is not a ford" may be vital in some situations. There is a very simple one-node method to map small fords - similar is needed for small bridges/culverts.

While it looks strange at first that a grade separated highway/waterway crossing would share a node this is common practice for dams with highways on top of them and thus unlikely to cause major problems for most tools. Semantically it can be interpreted so that culverts are integral part of the highway above them or part of a combined bridge/culvert structure.

Amphibious vehicles routing algorithms could be in theory confused but many thousands of bridges already exist in OSM data sharing nodes with the river bellow.

The term "brunnel" is a neologism which has been used to describe a man made structure which could be a mix of a tunnel and bridge structure, or where it is difficult to decide whether to describe a particular structure as either bridge or culvert.

See also