Way

From OpenStreetMap Wiki
(Redirected from Linear feature)
Jump to navigation Jump to search
Osm element way.svg

A way is one of the fundamental elements of the map. In everyday language, it is a line. A way normally represents a linear feature on the ground (such as a road, wall, or river).

Technically, a way is an ordered list of nodes. It normally also has at least one tag or participates in a relation. A way can have between 2 and 2,000 nodes, although it is possible that faulty ways with zero or one node exist. A way can be open or closed.

As of July 2024, OpenStreetMap contains over 1.04 billion ways.

Types of ways

Open way (open polyline) way

In an open way (a linear representation of a feature) the first and last node are not identical. Common examples of linear representation with open ways include most roads, streams and railway lines, because these start in one place and finish in another.

In the database, a way always has a direction, determined by the order of nodes. This is true even if the ground feature it represents is 'two-way' (e.g., most roads, where traffic passes in both directions) or has no direction (e.g., a wall). See here for how to identify the direction of a 'way'.

Closed way (closed polyline) area

In a closed way the last node of the way is identical with the first node. A closed way may be interpreted either as a closed polyline (a linear representation of a feature), or as an area, or both, depending on its tags and the tags on its relations.

The following closed ways would be interpreted as closed polylines:

  • highway=* Closed ways are used to define roundabouts and circular walks
  • barrier=* Closed ways are used to define barriers, such as hedges and walls, that go completely round a property.

A closed way that has the tag area=yes should always be interpreted as an area (but the tag is not required most of the time: see 'area', below).

Overpass QL parameter/operator is_closed Overpass_QL#Geometry_Related_Operators and example overpass-turbo query: Overpass_API/Overpass_API_by_Example#Limit_results_to_areas_only

Area area

Main article: Area

An area (also polygon) is an enclosed filled area of territory defined as a closed way. Most closed ways are considered to be areas even without an area=yes tag (see above for some exceptions). Examples of areas defined as closed ways include:

For tags which can be used to define closed polylines it is necessary to also add an area=yes if an area is desired. Examples include:

Areas can also be described using one or more ways which are associated with a multipolygon relation.

Differences between linear and area representation of features

There are different methods for modelling the same real world features in OpenStreetMap. For instance, a linear way representation of a highway is a common although specific form of modelling geographical data, often geared more towards creating routable networks than an accurate representation of what is actually on the ground:

  • Features in the real world such as a highway have a certain width – that may change gradually – but a linear representation has by itself no geometrical representation in nodes node of its (change in) width, but perhaps only a tag stating an average width. Therefore with a linear representation a mapper must choose a centre line, for which there can be various options, especially when the feature itself is asymmetrical in its cross-section (options: centre of carriageway vs centre of carriageway + sidewalk vs location of directional markings on carriageway)
  • On a crossing of a gravel track with an asphalt road -where the crossing itself is asphalt- the linear representation of the gravel track is continued over the crossing, as if the crossing might be gravel as well
  • Linear representations of highways also tend to be continued in OpenStreetMap while in the real world the highway briefly physically ceases to exist as a separate entity and only remain as a functional connection, such as a highway crossing a stream in a ford over the riverbank without additional infrastructure, or stepping stones where the space between the stones may be larger than the stones themselves.

These are fundamental differences with an area area representation of the same feature, where the (change in) width of the area is described by its nodes and the area representation of a highway (and stepping stones functioning as a highway) will end in the examples above where the linear representation is continued.

Both methods have their use and can be used: linear representation is often easier to start with and gives routable networks, while area representation gives a more accurate description of the actual shape of a feature.

Combined closed-polyline and area

It is possible for a closed way to be tagged in a way that it should be interpreted both as a closed-polylines and also as an area.

For example, a closed way defining a roundabout surrounding a grassy area might be tagged simultaneously as:

However, this approach violates the one feature, one OSM element principle and is generally frowned upon.

Examples

Street as a vector

A one-way residential street, tagged as highway=residential + name=Clipstone Street + oneway=yes

  <way id="5090250" visible="true" timestamp="2009-01-19T19:07:25Z" version="8" changeset="816806" user="Blumpsy" uid="64226">
    <nd ref="822403"/>
    <nd ref="21533912"/>
    <nd ref="821601"/>
    <nd ref="21533910"/>
    <nd ref="135791608"/>
    <nd ref="333725784"/>
    <nd ref="333725781"/>
    <nd ref="333725774"/>
    <nd ref="333725776"/>
    <nd ref="823771"/>
    <tag k="highway" v="residential"/>
    <tag k="name" v="Clipstone Street"/>
    <tag k="oneway" v="yes"/>
  </way>

The nodes defining the geometry of the way are enumerated in the correct order, and indicated only by reference using their unique identifier. These nodes must have been already defined separately with their coordinates.

Mathematical note

An OSM way is specified by a collection of nodes. The way is made up by the way segments connecting these nodes. Each segment is assumed to be the shortest line on the Earth's surface (negating terrain issues) connecting its two ends, i.e. a geodesic on the figure of the Earth used. The figure can be a sphere (as used in Web Mercator; see Spherical trigonometry), or an ellipsoid for higher precision (see Geodesics on an ellipsoid). The main effects for the end-user and the programmer would be:

  • Long segments should look bent on maps rendered using a Mercator projection.
  • The length of long segments are only correct with a geodesic-aware algorithm.

Actual OSM nodes should be close enough to each other to not warrant such worries, although measurements of area is another story. Most of the math can be found in the source code for JOSM/Plugins/measurement.