One feature, one OSM element

From OpenStreetMap Wiki
Jump to navigation Jump to search

One feature, one OSM element is a good practice principle. It means one on-the-ground real world feature should be mapped with only one OSM element.

Map objects

General rules

An OSM element should represent a single on-the-ground feature once and only once. Examples:

  • A feature consisting of buildings on grounds (e.g. a school), should be mapped as an area object delineating the land with area objects marking the buildings. Tags should be on the whole area, and not the buildings, unless the buildings are different. Buildings within the school grounds can be assumed to be part of the school by database users.
  • A feature consisting of a building whose shape and position are known should be an area object with appropriate tags.
  • A feature whose position is known, but whose shape is either unknown or irrelevant, should appear as a point object with appropriate tags.
  • A feature that consists of several smaller features is usually best described using a relation. For example, relation:route for a hiking route or a public transport line which follows several highway=* or railway=* ways.

One feature per OSM element

Ideally, every OSM element or object should be tagged with only one main feature tag, to represent a single on-the-ground feature.

  • Additional attributes or properties of the feature may be tagged on the same object.
  • For example, use the feature leisure=picnic_site with the property tag drinking_water=yes, instead of using the separate feature tag amenity=drinking_water on the same node or area.

Examples of bad situations

  • An area object with a point object inside, both with the same tags representing the same real-world feature.
  • An area object representing grounds with a tagged single area object representing the only building on it, both tagged with the same feature tag.
  • A closed way tagged with two feature tags, one of which is usually a linear feature such as barrier=hedge and another which represents an area such as amenity=school. In this case it is ambiguous if the barrier is meant to represent an area or a line, and for all properties it is unclear to which feature they belong.

Situations where multiple elements may be needed

  • More than one of something on the same site e.g. two schools sharing grounds. Normally if the schools are separate they would have separate neighbouring grounds, but if the only thing defining a separation between two schools is their buildings, then both school can be mapped with overlapping areas, or one may be mapped as an area and the other as a node.
  • Multiple-use buildings. The building should be tagged as building=*, and should have point or area objects representing the locations of what is in them. e.g. shops within a shopping mall
  • Rivers are usually represented with waterway=riverbank or natural=water+water=river for the area covered by water and waterway=river on a linear way that follows the main flow of the river, with tags such as name=* on the waterway=river feature.
  • Villages are mapped with place=village on a node at the village centre, and the area of residential landuse is mapped with landuse=residential, with tags such as name=* on the place=village node.

See also

  • Relation:multipolygon - standard way to map complex areas (for example, a school divided in 2 parts by a road, or a lake with an island)
  • Relation:site - proposed for multi-part features which cannot be expressed as a multipolygon (an example is a wind farm, a feature which includes multiple nodes)
  • building:part=* - how to tag complex buildings