Relations/Proposed/Site

From OpenStreetMap Wiki
Jump to: navigation, search
Relation:type=site
Status: Proposed (under way)
Proposed by: Milliams
Tagging: type=site
Applies to: relation
Definition: Relation to group elements of a site such as a school together
Rendered as: undetermined
Draft start: 2008-01-02
RFC start: 2010-02-01
Vote start:
Vote end: *

See Relation:site

Proposal

A way to group elements (nodes/ways/areas/relations) which belong together but not within a single area. The most common example of this is a school site where there are a number of buildings, a boundary to the site, and maybe other objects such as swimming pools or tennis courts. Other examples are colleges, universities, airports, military bases, docks, etc.

However, this relation is not to be used in simple cases. If all the elements contained within an area (the perimeter) belong to the site, and no elements of the site exist outside the area, then it is inappropriate to use this relation. Simply tag the perimeter with all the appropriate tags, and implementations can perform an is-in-polygon test to determine what elements belong to the site.

Rationale

This kind of relation is needed for simplifying searches, allowing for logical groupings and showing ownership (of car parks for example).

Tagging

Key Value notes statistics
type site mandatory
name a name The name of the site/school/whatever
site * (optional) The type of site (eg school or railway_station). This might be redundant, considering we already have amenity=*, leisure=*, railway=*, etc.

Members

Way or Node Role Recurrence? Discussion
Node label zero or more Defines where to place the label(s)
Area Relation perimeter zero or one Area or multipolygon defining the perimeter of the site
Node entrance zero or more Node(s) on the perimeter defining the entrances to the site
Node Way Area Relation none zero or more Anything you want to tag as part of the site. e.g. buildings, runways, car parks, playing fields etc.

Rendering

If the label role is present, then place the label at the location of that node. If more than one label node exists (e.g. a very large site), then place labels at each node as the zoom level allows. If no label node exists then use the centroid of the perimeter area. Failing that, use the centroid of all member objects.

At lower zoom levels only render the perimeter area and label node, hiding all other members to reduce clutter.

Examples of sites

Discussion

Discussion on the Talk page.

Also read the thread "Feature Proposal - RFC - Site Relation" on the tagging mailing list (read on nabble).