From OpenStreetMap Wiki
Jump to: navigation, search
Available languages — Node
Afrikaans Alemannisch aragonés asturianu azərbaycanca Bahasa Indonesia Bahasa Melayu Bân-lâm-gú Basa Jawa Baso Minangkabau bosanski brezhoneg català čeština dansk Deutsch eesti English español Esperanto estremeñu euskara français Frysk Gaeilge Gàidhlig galego Hausa hrvatski Igbo interlingua Interlingue isiXhosa isiZulu íslenska italiano Kiswahili Kreyòl ayisyen kréyòl gwadloupéyen kurdî latviešu Lëtzebuergesch lietuvių magyar Malagasy Malti Nederlands Nedersaksies norsk norsk nynorsk occitan Oromoo oʻzbekcha/ўзбекча Plattdüütsch polski português português do Brasil română shqip slovenčina slovenščina Soomaaliga suomi svenska Tiếng Việt Türkçe Vahcuengh vèneto Wolof Yorùbá Zazaki српски / srpski беларуская български қазақша македонски монгол русский тоҷикӣ українська Ελληνικά Հայերեն ქართული नेपाली मराठी हिन्दी অসমীয়া বাংলা ਪੰਜਾਬੀ ગુજરાતી ଓଡ଼ିଆ தமிழ் తెలుగు ಕನ್ನಡ മലയാളം සිංහල ไทย မြန်မာဘာသာ ລາວ ភាសាខ្មែរ ⵜⴰⵎⴰⵣⵉⵖⵜ አማርኛ 한국어 日本語 中文(简体)‎ 吴语 粵語 中文(繁體)‎ ייִדיש עברית اردو العربية پښتو سنڌي فارسی ދިވެހިބަސް
Mf node.svg

A node is one of the core elements in the OpenStreetMap data model. It consists of a single point in space defined by its latitude, longitude and node id.

A third, optional dimension (altitude) can also be included: key:ele (abrev. for "elevation"). A node can also be defined as part of a particular layer=* or level=*, where distinct features pass over or under one another; say, at a bridge.

Nodes can be used to define standalone point features, but are more often used to define the shape or "path" of a way.

As of February 2018, OpenStreetMap contains over 4.3 billion nodes.

Point features

Nodes can be used on their own to define point features. When used in this way, a node will normally have at least one tag to define its purpose. Nodes may have multiple tags and/or be part of a relation. For example, a telephone box may be tagged simply with amenity=telephone, or could also be tagged with operator=*.

Nodes on Ways

See also: Way

Many nodes form part of one or more ways, defining the shape or "path" of the way.

Where ways intersect at the same altitude, the two ways must share a node (for example, a road junction). If highways or railways cross at different heights without connecting they should not share a node (e.g. highway intersection with a bridge=*). Where ways cross at different heights they should be tagged with different layer=* or level=* values, or be tagged with location=* 'overground' or 'underground'. There are some exceptions to this rule, roads across dams are by current definition required to share a node with the waterway crossing the dam.

Some nodes along a way may have tags. For example:


For more details on this topic, see Rails port/Database schema#Nodes.
name value description
id 64-bit integer number
≥ 1
Node ids are unique between nodes. (However, a way or a relation can have the same id number as a node.) Editors may temporarily save node ids as negative to denote ids that haven't yet been saved to the server. Node ids on the server are persistent, meaning that the assigned id of an existing node will remain unchanged each time data are added or corrected. Deleted node ids must not be reused, unless a former node is now undeleted.
lat decimal number
≥ −90.0000000 and ≤ 90.0000000
with 7 decimal places
Latitude coordinate in degrees (North of equator is positive) using the standard WGS84 projection. Some applications may not accept latitudes above/below ±85 degrees for some projections. Do not use IEEE 32-bit floating point data type since it is limited to about 5 decimal places for the highest longitude.
A 32-bit method used by the Rails port is to use an integer (by multiplying each coordinate in degrees by 1E7 and rounding it: this allows to cover all absolute signed coordinates in ±214.7483647 degrees, or a maximum difference of 429.4967295 degrees, a bit more than what is needed).
For computing projections, IEEE 64 bit floating points are needed for intermediate results.
The 7 rounded decimal places for coordinates in degrees define the worst error of longitude to a maximum of ±5.56595 millimeters on the Earth equator, i.e. it allows building maps with centimetric precision. With only 5 decimal places, the precision of map data would be only metric, causing severe changes of shapes for important objects like buildings, or many zigzags or angular artefacts on roads.
lon decimal number
≥ −180.0000000 and ≤ 180.0000000
with 7 decimal places
Longitude coordinate in degrees (East of Greenwich is positive) using the standard WGS84 projection. Note that the geographic poles will be exactly at latitude ±90 degrees but in that case the longitude will be set to an arbitrary value within this range.
tags A set of key/value pairs, with unique key See Map Features for tagging guidelines.


<node id="25496583" lat="51.5173639" lon="-0.140043" version="1" changeset="203496" user="80n" uid="1238" visible="true" timestamp="2007-01-28T11:40:26Z">
    <tag k="highway" v="traffic_signals"/>

Special cases