Proposed features/Date namespace
The date namespace is a suffix of a key specifying information about time periods of validity for the suffixed key. In Openstreetmap it is particularly frequently used with name=* and variations of it. It is completely and utterly unrelated to the history/changeset function of the OSM database.
When only ranges of years are specified (no month or other details) a single hyphen may be used, such as "name:1953-1990 = Ernst-Thälmann-Straße".
When full dates are specified or the simple notation is not sufficient a subset of the ISO 8601 date format can be used with a double hyphen ("--") as date range separator - eg "amenity:1965--1971-12-18 = school".
It should be considered that historical objects of which there are no visible traces left normally do not belong into the main OSM database. Several initiatives exist to build historical maps with own databases. As an exception apparently many mappers think extensive history of object names is worth recording in main database.
How to map
Add the suffix specifying a year or date range to the main key or other relevant tags. The suffix is not needed for attributes which did not change over time.
key:date-date = value
key:date--date = value
key:date- = value
key:-date = value
Each key should be in long ISO 8601 format (YYYY, YYYY-MM, or YYYY-MM-DD) with fixed number of digits for their components (left-padded with zeroes), and recommended separation of components with single hyphen "-". A yearly or monthly recurrent partial date, omitting the leading year (MM-DD, or DD), may also be used (but such date is not in standard ISO 8601 format which requires the leading year).
Single hyphen is sufficient to separate dates in date ranges, when both dates are in ISO 8601 format and specify the leading year; double hyphen may be used when date ranges are specified using recurrent dates with omitted years.
Fallback for current state:
key = value
Add a fallback variant without the date namespace for the current state. Even if one of the date ranges already includes "up until now" many data consumers will not deduce this information.
The date namespace suffix can also be combined with a lifecycle prefix although not all combinations make sense.
Advantages and Disadvantages
List should be kept identical with that in Main article: Comparison of life cycle concepts
See talk page for currently ongoing discussion of problems.
- Will not confuse existing applications.
- Allows complete history record with per-tag distinctions.
- Can be combined with other tags.
- Can be combined with "status:tag" style life cycle tagging.
- Supports adding historical/future information to currently used features if desired.
- Difficult to search for objects by year (range) or objects using this tagging scheme.
- Duplication when current and past use overlap (eg building:1930-=house + building=house ought to be used).
- Datespec needs to be added to most tags separately where it applies to several tags. This does increase flexibility but also means some data duplication and more work when editing.
- For a single object with various tags affixed with dateranges it is difficult to ascertain whether equal dateranges refer to exactly identical periods of time or just happen to be identical strings which might have been slightly differing time periods in reality but resulted in identical daterange strings because of lack of precision or missing exact dates.
- To map a school that became disused and was then converted into a house with the complete history
- building = house
- building:1971-12-18-- = house
- amenity:1835-1965 = school
- amenity:1965--1971-12-18 = school
- name = The Old School
- name:1835-1965 = St Cakes Primary School
- name:1971-12-18-- = The Old School
- A highway with a long history, changes in name, classification, reference and surface etc
- highway = pedestrian
- highway:1932-1974 = primary
- highway:1974- = pedestrian
- maxspeed = 30
- maxspeed:1957--1992-05 = 50
- maxspeed:1992-05-- = 30
- name = Konrad-Adenauer-Straße
- name:1871-1933 = Kaiserstraße
- name:1933-1945 = Adolf-Hitler-Straße
- name:1945-1953 = Stalinstraße
- name:1953-1990 = Ernst-Thälmann-Straße
- name:1990- = Konrad-Adenauer-Straße
- ref = B 96
- ref:1932-1960 = R 96
- ref:1960-1990 = F 96
- ref:1990- = B 96
- surface = paved
- surface:1890-1927 = cobblestone
- surface:1927- = paved
The OSM database has many entries like historic:DATERANGE:key or his:DATERANGE:key