Automated edits/luktar/OsmIntegrator - fixing stop signs for blind

From OpenStreetMap Wiki
Jump to navigation Jump to search

Fixing stop signs for blind is an import which is dedicated, to increased accuracy of navigation applications intended for the blind persons by adding or updating ref=*, local_ref=* and name=*.

You can read more about the project and the motivation on the OsmIntegrator page.


The goal is to create an online application that will allow users to update stops with the useful information for the blind people.

Stops will be updated with following tags: ref=*, ref:metropolia=*, local_ref=* and name=*.

First region will be the Silesia district in Poland (about 7000 stops).


All public transport stops in the first region (Silesia district in Poland) will be updated to 31.03.2021.

Import Data


Data source site:
Data license:
ODbL Compliance verified: yes

The license was reviewed by lawyers.

OSM Data Files

Public transport GTFS files can be downloaded on this website:

Import Type

The import will be performed occasionally when public transport GTFS data will be updated. Users will have an opportunity to verify changes before importing data to the OSM.

OsmIntegrator application uses own API calls to upload data to OSM.

We use solution rewritten to .net core C#.

Data Preparation

Data Reduction & Simplification

OsmIntegrator application will only add new or update existing tags ref=*, ref:metropolia=*, local_ref=* and name=*.

New objects will not be added automatically. No data will be removed.

Tagging Plans

Each stop will be updated with the latest data from the public transport provider with the following tags:

  • name=* - will be updated with the latest one
  • ref:metropolia=* - will be updated with the stop identifier (long unique number) e.g. 443321, 543672
  • local_ref=* and ref=* - both tags will be updated with the stop code (short easy to read identifier) e.g. 1, 2, 3, 1t, 2t

local_ref=* - it's a key tag for blind persons, navigation applications will read this identifier next to the stop name. It'll help blind people to determine a right stop position.

ref:metropolia=* will be used in the future for updating stops with the latest data or removing unused stops.

Update: After discussing with the OSM comunity we decided to move stop code to local_ref=* and ref=* tag. ref:metropolia=* was created to cover situation when one stop belongs to more than one public transport provider. In that case we'll create ref:xxx=* tag for each provider where the `xxx` will be a provider name.

Changeset Tags

source=Zarząd Transportu Metropolitalnego


<comment> tag will contain following values:

  1. The user's comment generated automatically in the application for the particular area
Updating ref and local_ref with GTFS data. Tile X: 2264, Y: 1385, Zoom: 12. 

X, Y and zoom contains coordinates of the edited area according to the Slippy map tilenames

  1. The comment for massive changes e.g. changing tags for all of the stops
The update comment e.g. fixing all tags xxx...

Data Transformation

The project is open source on the GPL-3.0 license available at this link. Most of the import functionality is in this file (from our perspective it's an export to the OSM).

Example data

The OSM stop has following data:

name=”Bus stop name”
network=”Network name”

Public transport (GTFS) stop has following data:

Name - "New bus stop name"
Id - 123456
Code - 1

OSM bus stop will be updated with the following GTFS data (bold):

name=”New bus stop name”
network=”Network name”

Data Transformation Results

OSM XML files generated by the OsmIntegrator application for sector X: 2260, Y:1388, Zoom: 12:

Tile X: 2260, Y: 1388, Zoom: 12 presenting the Żory city of Poland.

Data Merge Workflow

Team Approach

We are a team of 28+ people involved in the project supported by the Revolve Healthcare Software House and ZTM. Read more about us at this link:


Step by step instructions

Changes can be performed by all users registered in page.

  • every user can see OSM and GTFS stops on a particular area. OSM stops have been downloaded by the Overpass API and are updated once a day at 2:00AM. GTFS stops are displayed on the map and will not be imported to OSM.
  • user makes a connection between two stops (GTFS and OSM)
  • user clicks on "Upload to OSM" button. The upload window will appear.
  • user is able to see all changes in text format, osmchange.osc file and is able to edit automatically generated comment
  • user clicks on the "Upload" button and will be prompted for the OSM credentials (username or email and password)
  • data from the GTFS stop will be copied to the OSM stops (ref=*, ref:metropolia=*, local_ref=* and name=* tags will be added or updated). Read more about updated tags in the Data Transformation section.

Revert plans

Imports will be performed from the user's accounts. Everyone who has made an import can revert it manually.

Every import has additional tags which can be used to identify changesets created by the OsmIntegrator software.

Changeset size

All GTFS areas have been split to the 95 square sectors with a side of 6,3 km.

Each sector contains minimum 1 and maximum 329 stops. The average stops count is equal to 71.

Each changeset will contain a maximum 329 modifications of stop objects.


This import is about merging public transport data in GTFS format with the OSM data.


In case of problems please contact us on

See also

Email will be sent after local community approval.

The email to the Imports mailing list was sent on 2022-01-18 and can be found in the archives of the mailing list at [1].

OSM Polish forum