[[TranslatedPages]] = Objects - The basic building blocks of OSM data and maps = JOSM helps you to enter data about real-world objects in the OSM geo-database. Despite the overwhelming complexity of real-world objects you can map, JOSM provides only three kinds of objects as basic building blocks for maps: [[Image(source:trunk/images/data/node.png,top)]] **nodes**, [[Image(source:trunk/images/data/way.png,middle)]] **ways** and [[Image(source:trunk/images/data/relation.png,middle)]] **relations**. You can assign **[#Tags tags]** to objects. It's the assigned set of tags which makes a node representing a restaurant different from a node representing a church, or a way representing a residential road different from a ways representing a river, or a relation representing a bus route different from a relation representing a cycling route. [[PageOutline(2-10,Table of Contents)]] == Nodes, ways, and relations == #NodesWaysRelations === Nodes === [[Image(source:trunk/images/data/node.png,20,bottom,margin-right=15)]] A **node** is an individual point with a defined position. === Ways === [[Image(source:trunk/images/data/way.png,20,middle,margin-right=15,margin-bottom=5)]] A **way** is a sequence of nodes. Despite its name a way doesn't represent ways in the real-world only. An OSM **way** is also used to represent a river, the boundaries of a country, or even a building. ==== Closed Ways (Areas) ==== #ClosedWays [[Image(source:trunk/images/data/closedway.png,20,middle,margin-right=15,margin-bottom=5)]] If a **way** is closed, i.e. if the last node is the same as the first node, it is also called an **area**. === Relations === [[Image(source:trunk/images/data/relation.png,20,middle,margin-right=15,margin-bottom=5)]] A **relation** is an sequence of other objects, for instance a sequence of ways (representing road segments) and nodes (representing bus stops) which represent a bus route. Each object participating in a **relation** can be assigned a **role**, for instance `stop` for a bus stop in the bus route, or `platform` for platforms related to according stop positions. == Tags == A **tag** is a name/value pair assigned to an object. Tags are used to describe an object in detail. If we write `foo`=`bar` we mean ''The tag with key foo is assigned the value bar''. Here are some examples: * `name`=`Main road` assigned to a way. This tag indicates that the name of the way is `Main road`. * `amenity`=`restaurant` assigned to a node. This tag indicates that the node represents a restaurant in the real-world. * `route`=`bus` assigned to a relation. This tag indicates that the relation represents a bus route. Tags can be combined. An object can carry as many tags as necessary. Here's a more complex example: {{{ highway=residential name=Main road name:en=Main road name:de=Hauptstraße maxspeed=30 hgv=no oneway=yes }}} Assigned to a way, this set of **tags** indicate, that the way represents a road in a residential area with name ''Main road'' (the German name be ''Hauptstraße'', the English name, which in this example equals to name, is ''Main road''). Speed is limited to 30km/h and heavy goods vehicles (hgv) are not allowed. Furthermore, it's a one way street. You are free to assign an object whatever tag you feel necessary. However, there is a list of so called [osmwiki:Map_Features Map Features], i.e. a canonical list of **tags** with a well-defined meaning which are often used by mappers. Whenever possible you are advised to stick to these tags because map renderers, routing engines, and other pieces of software rely on them. In the [[Image(source:trunk/images/dialogs/propertiesdialog.svg,18,middle)]] [Dialog/TagsMembership Tags/Membership Dialog] you can assign tags to an object, remove tags from an object, or edit assigned tags. == Object ids == The OSM server assigns each object a unique number, the **object ID** or **OSM ID**. A new object doesn't have an ID (it's ID is 0) until it is uploaded the first time to the OSM server. * Under **''Preferences -> [[Image(source:trunk/images/preferences/display.png,18,middle)]] [Preferences/Display Display Settings] -> Look and Feel''** it is possible to en- or disable the display of objects ids in the toggle dialogs. * With **''File -> [[Image(source:trunk/images/downloadprimitive.png,18,bottom)]] [Action/DownloadObject Download object ...]''** it is possible to download **objects** by Ids. * **''View -> [[Image(source:trunk/images/info.png,18,bottom)]] [Action/InfoAboutElements Advanced info]''** opens separated windows with informations about selected objects in text format. * **''View -> [[Image(source:trunk/images/info.png,18,bottom)]] [Action/InfoAboutElementsWeb Advanced info (web)]''** opens the **objects' pages** of selected objects on the [osmwww: OSM website] in your web browser. Alternatively, you can browse the objects directly by entering following address in your web browser: {{{ https://www.openstreetmap.org/browse/[node/way/relation]/[ID] }}} == Object versions == Each object has a **version**. The **version** is incremented whenever the object is uploaded to the server and the OSM server not only stores the most recent version of an object, but it's complete **history**. * **''View -> [[Image(source:trunk/images/dialogs/history.png,18,bottom)]] [Action/ObjectHistory History]''** opens the History Browser. The History Browser will show you the **versions** of a particular object. * Alternatively, **''View -> [[Image(source:trunk/images/dialogs/history.png,18,bottom)]] [Action/ObjectHistoryWeb History (web)]''** opens a page on the [osmwww: OSM website] in your web browser which displays the object history, too. ---- Back to [wiki:/Help Main Help]