Automated edits/luktar/OsmIntegrator - fixing stop signs for blind
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.
Goals
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).
Schedule
All public transport stops in the first region (Silesia district in Poland) will be updated to 31.03.2021.
Import Data
Background
Data source site: https://otwartedane.metropoliagzm.pl/
Data license: https://opendatacommons.org/licenses/odbl/1-0/
ODbL Compliance verified: yes
The license was reviewed by lawyers.
OSM Data Files
Public transport GTFS files can be downloaded on this website: https://otwartedane.metropoliagzm.pl/dataset/rozklady-jazdy-i-lokalizacja-przystankow-gtfs
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 upload.py 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
comment=<comment> import=yes created_by=osmintegrator.eu hashtags=#osmintegrator;#ztm;#silesia source=Zarząd Transportu Metropolitalnego
Comment
<comment> tag will contain following values:
- The user's comment generated automatically in the osmintegrator.eu application for the particular area
Updating ref and local_ref with GTFS data. Tile X: 2264, Y: 1385, Zoom: 12. Wiki: https://wiki.openstreetmap.org/w/index.php?title=Automated_edits/luktar/OsmIntegrator_-_fixing_stop_signs_for_blind
X, Y and zoom contains coordinates of the edited area according to the Slippy map tilenames
- The comment for massive changes e.g. changing tags for all of the stops
The update comment e.g. fixing all tags xxx... Wiki: https://wiki.openstreetmap.org/w/index.php?title=Automated_edits/luktar/OsmIntegrator_-_fixing_stop_signs_for_blind
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” highway=bus_stop public_transport=platform network=”Network name” bus=”yes”
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” highway=bus_stop public_transport=platform network=”Network name” bus=”yes” ref:metropolia=123456 local_ref=1 ref=1
Data Transformation Results
OSM XML files generated by the OsmIntegrator application for sector X: 2260, Y:1388, Zoom: 12:
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: https://rozwiazaniadlaniewidomych.org/komunikacja-miejska-dla-niewidomych/.
Workflow
Step by step instructions
Changes can be performed by all users registered in https://osmintegrator.eu 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.
Conflation
This import is about merging public transport data in GTFS format with the OSM data.
QA
In case of problems please contact us on osmintegrator@rozwiazaniadlaniewidomych.org.
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].