OS bot

From OpenStreetMap Wiki
Jump to navigation Jump to search

OS Bot was a proposed bot that could be available for use to add detail to OpenStreetMap in the United Kingdom used Ordnance Survey Opendata. This bot is still at the planning stage, but it is likely to initially add names from OS Locator to pre-existing roads in OSM. At a later stage it may also add new geometry for addition roads from OS Vector District as instructed.

The bot would be managed but an existing registered OpenStreetMap contributor and the edits would be the responsibility of that user, which is a different approach to that used by user:xybot where the user 'is' the bot. The bot will only operate within an agreed area, which may be a bounding box or an administrative boundary on the instruction of the contributor. The number of edits in an session will be limited and the changeset comment will include a link to this page and give the version number of the code. The bot will go through a 'type approval' process by the community before being available for general use.

A user if this bot in an area will be expected to also do other manual preparation work prior to running the bot and to also check the results against other available sources to ensure that the results genuinely to the benefit of the project. Following the use of the bot the user will be expected to do further manual work to complete those more complex tasks that the Bot avoids.

As well as speeding up the import of OS data (where it is appropriate to do so) it will increase accuracy of the transcription and ensure that there is proper tagging of the source of the data.

It is clear from the initial discussion on talk-gb that this bot will not be welcome everywhere and is likely to be more useful in areas with very low current coverage; in more complete it should only be used by or with the agreement of the main editors in that area. The user of the bot will be responsible to discussing its use with existing contributors in well mapped areas.


Proposed functionality

The following tasks can be selected to run in the selected area.

Adding names to existing road

To add a name from OS Locator to an existing highway in OpenStreetMap. It will only add names to infrastructure that already exits (although this may later be added automatically as well - see below). It will only add names to highways where there is a good geographic match between the bounding boxes and only one name box overlapping the road. These conditions are there to avoid the wrong name being attached the the wrong road. It will leave a number of more complex situations for manual editing.

It will only operate if all of the following conditions are met:

  • The bounding box for the road matches the bounding box for the OS Locator entry within 10%
  • There is only one OS Locator entry that overlaps the road.
  • Only if the 'name' field is empty or missing
  • The bounding box is completely within the permitted area of operation.
  • Only if no road has ever existed in OpenStreetMap history for the area with the same name (to avoid adding back out-of-date names)

When adding a name it will also add the following field:

  • source:name=OS_OpenData_Locator
  • verified=no

Before actually making the changes the Bot should present a list all the proposed new names to allow the contributor to approve the transaction after removing any items that don't look right (ie spelling errors in OS Locator names which happens from time to time).

Adding road geometry to OpenStreetMap

This functionality may be added later, possibly after the name function has been developed.

It will add simple geometry from OS Vector District with an objective to speed up the addition of minor geometry to an existing framework of major roads, as such the bot will work best after an initial manual edit session has added these more major roads. Some manual work will also be required afterwards to deal with more complex situations.

The new road will be connected into any existing roads at one or possibly multiple points will create new nodes in existing ways to achieve this if necessary. It will only operate if all of the following conditions are met:

  • The proposed new road connects into at least one existing road in the current OpenStreetMap DB. However.. the process can operate iteratively to add further roads.
  • There are no 'similar' roads already in OpenStreetMap (coding 'similar' is probably the most difficult part of this import)
  • There has never been a road in OSM with similar geometry in this location (to avoid adding back historic roads that have been deleted)

It would add the following tags to all new roads added:

  • highway=xxx (where xxx is an appropriate mapping from OS Vector District)
  • source:geometry=OS_OpenData_VectorMapDistrict
  • verified=no

Other functionality

It may be appropriate in the longer term to develop other functionality for other feature types to add woods, coastline, building, water etc although some of this functionality is already available using other tools.

List of requested places

Local mappers have indicated they would like the bot to be run in the following areas:

District Comment Contributor Links to consultation and agreement with local mappers

External links