Organised Editing/Activities/Resolve linting issues in Belgium
Linting issues are errors in OpenStreetMap data, which is identified by data validators. The project was created to review errors with OSM data and fix it where there’s possibility for improving the road network. We’re concentrating on road mistakes to improve map condition. We get issues by an internal automated process made by our developers which is based on the open source tool OSMLint.
The processing of features goes by this way: at first we find sources for fixes (it can be searched through aerial photos or street level photos). We use only sources that are allowed in OSM ID.Then we choose a source with the best quality of the picture and the newest one. On chosen sources should be seen features that we want to map. Also we can watch OSM history to understand what changes were done with the feature, compare dates of changing.
In cases of lack of up to date satellite or imagery the team doesn’t make any edits. And always taking care about local sources, which are the most relevant and unique for each country.
In Belgium we plan to upload data once a week to see and fix the latest mistakes in mapping after reviewing the 1st iteration.
Link to the page with more detailed info about types of issues, how do we get them and how they can be viewed. Link to the page with info about how we deal with feedback. Here’s a link to our Github Mapping Ticket.
Examples of linters in OSM
We used the following linters (January 2021):
- crossing_highways - adding \ removing points of intersection of roads.
- impossible_angle - removing and aligning dragged nodes.
- impossible_oneways - editing one-way road junction without end.
- islands_highways - extension of the road which isn't connected with other roads.
- mixed_layer - editing objects with intersection and different layers.
- tr_excessive_roles_str / tr_invalid_role_tr / tr_missing_role_tr / tr_missing_type_restriction_tr - correction, removal and addition of from/via/to roles.
Now, we have a very small amount of fixes for turn restrictions, we discussed it with Andy (DWG) and Communities previously and decided not to fix it as it’s the most difficult type of investigation for not-locals, so we post the detections and ask the local community to carry out the fixes themselves.
We use internal Mapbox data validation jobs that search OSM data for errors. The process is completely switched to automatic uploading and searching for data errors. Automation of the process was achieved with internal algorithm which detects mistakes on OSM and divides these issues by categories we have. Our plan is to review a subset of the detected issues manually, and fix any valid issues in OpenStreetMap.
Currently we are using the approach described below, the only difference is that we have an internal automated process by our developers.
Generally the process is:
First, we download fresh data from https://download.geofabrik.de/ .Then convert data from *.osm.pbf into geojson format for further packing into *.mbtiles. Use tippecanoe to make *.mbtiles. After that we use osmlint and osmlint-osmium which help us to spread linters by their types. Then received files come through our improvement algorithm, after which we get only needed linters for us. On this step we cut off footways, cycleways, golf carthpathes, aeroways, etc.
January 2021: We plan to start reviewing detected issues by the end of the week, and editing OpenStreetMap data to fix valid issues.
In September 2021 our team is going to start a permanent mapping project in Belgium. Once a week there'll be an upload of data and the team will close these issues.
Tools and ground-truth sources
We will use existing OpenStreetMap editing tools, and using the #hashtag #mbx_linters_belgium
- Editor: iD Satellite Imagery: CIRB/CIBG, AIV Flanders, Bing, Maxar, Esri
- Street Level Imagery: Mapillary, Other open sources if available
We welcome feedback, suggestions, and insights from local mappers. If you have questions about this work, or a specific edit by our team, please reach out to Sergey (email@example.com). Also you can leave a comment in a changesets.