Organised Editing/Activities/Resolve linting issues in The USA

From OpenStreetMap Wiki
Jump to navigation Jump to search

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 the USA 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

Roads with dragged node

We used the following linters in Texas:

issue total
crossinghighways 1449
crossinghighwaysbridges 28
impossibleangle 64
impossibleoneways 384
islandshighways 325
mixedlayer 52
tr-excessiverolestr 24
tr-invalidroletr 4
tr-missingroletr 252
tr-missingtyperestrictiontr 4

We used the following linters in California:

issue total
crossinghighways 2507
impossibleangle 69
impossibleoneways 534
islandshighways 415
mixedlayer 60
tr-excessiverolestr 59
tr-invalidroletr 11
tr-missingroletr 620
tr-missingtyperestrictiontr 36

We used the following linters in Florida:

issue total
crossinghighways 3017
impossibleangle 50
impossibleoneways 346
islandshighways 306
mixedlayer 47
tr-excessiverolestr 36
tr-invalidroletr 14
tr-missingroletr 330
tr-missingtyperestrictiontr 8

We used the following linters in Missouri:

issue total
crossinghighways 417
impossibleangle 30
impossibleoneways 120
islandshighways 117
mixedlayer 17
tr-excessiverolestr 3
tr-invalidroletr 2
tr-missingroletr 38
tr-missingtyperestrictiontr 9

We used the following linters in New York:

issue total
crossinghighways 892
impossibleangle 28
impossibleoneways 184
islandshighways 413
mixedlayer 14
tr-excessiverolestr 29
tr-invalidroletr 8
tr-missingroletr 493
tr-missingtyperestrictiontr 23

We used the following linters in Illinois:

issue total
crossinghighways 255
impossibleangle 51
impossibleoneways 112
islandshighways 77
mixedlayer 42
tr-excessiverolestr 59
tr-invalidroletr 7
tr-missingroletr 199
tr-missingtyperestrictiontr 5

We used the following linters in Ohio :

issue total
crossinghighways 179
impossibleangle 35
impossibleoneways 107
islandshighways 109
mixedlayer 35
tr-excessiverolestr 9
tr-invalidroletr 2
tr-missingroletr 200
tr-missingtyperestrictiontr 17

We used the following linters in Pennsylvania:

issue total
crossinghighways 146
impossibleangle 51
impossibleoneways 121
islandshighways 181
mixedlayer 28
tr-excessiverolestr 13
tr-invalidroletr 1
tr-missingroletr 124
tr-missingtyperestrictiontr 93

We used the following linters in Georgia :

issue total
crossinghighways 162
impossibleangle 35
impossibleoneways 91
islandshighways 115
mixedlayer 26
tr-excessiverolestr 4
tr-invalidroletr 1
tr-missingroletr 129
tr-missingtyperestrictiontr 5

We used the following linters in North Carolina:

issue total
crossinghighways 171
impossibleangle 43
impossibleoneways 73
islandshighways 105
mixedlayer 30
tr-excessiverolestr 17
tr-invalidroletr 2
tr-missingroletr 188
tr-missingtyperestrictiontr 3

We used the following linters in Indiana:

issue total
crossinghighways 155
impossibleangle 49
impossibleoneways 60
islandshighways 75
mixedlayer 25
tr-excessiverolestr 6

We used the following linters in New Jersey:

issue total
crossinghighways 125
impossibleangle 37
impossibleoneways 78
islandshighways 32
mixedlayer 10
tr-excessiverolestr 3
tr-invalidroletr 2
tr-missingroletr 86
tr-missingtyperestrictiontr 8

We used the following linters in Wisconsin :

issue total
crossinghighways 124
impossibleangle 22
impossibleoneways 48
islandshighways 61
mixedlayer 15
tr-excessiverolestr 15
tr-missingroletr 106
tr-missingtyperestrictiontr 6

We used the following linters in Minnesota:

issue total
crossinghighways 197
impossibleangle 58
impossibleoneways 56
islandshighways 74
mixedlayer 36
tr-excessiverolestr 10
tr-invalidroletr 1
tr-missingroletr 176

We used the following linters in Arizona:

issue total
crossinghighways 240
impossibleangle 19
impossibleoneways 102
islandshighways 61
mixedlayer 15
tr-excessiverolestr 32
tr-invalidroletr 10
tr-missingroletr 243
tr-missingtyperestrictiontr 2

We used the following linters in Rhode Island:

issue total
crossinghighways 12
impossibleangle 4
impossibleoneways 7
islandshighways 8
mixedlayer 1
tr-missingroletr 8

We used the following linters in Louisiana:

issue total
crossinghighways 33
impossibleangle 12
impossibleoneways 14
islandshighways 60
mixedlayer 9
tr-missingroletr 58
tr-excessiverolestr 5
tr-invalidroletr 1
tr-missingtyperestrictiontr 2

We used the following linters in Virginia:

issue total
crossinghighways 50
impossibleangle 24
impossibleoneways 46
islandshighways 107
mixedlayer 24
tr-missingroletr 83
tr-excessiverolestr 10
tr-invalidroletr 1
tr-missingtyperestrictiontr 7

We used the following linters in Oklahoma:

issue total
crossinghighways 151
impossibleangle 18
impossibleoneways 18
islandshighways 80
mixedlayer 2
tr-missingroletr 58
tr-excessiverolestr 7
tr-invalidroletr 1

We used the following linters in Tennessee:

issue total
crossinghighways 202
impossibleangle 35
impossibleoneways 33
islandshighways 92
mixedlayer 14
tr-missingroletr 68
tr-excessiverolestr 1
tr-missingtyperestrictiontr 10

We used the following linters in Alabama:

issue total
crossinghighways 40
impossibleangle 15
impossibleoneways 27
islandshighways 45
mixedlayer 6
tr-missingroletr 17
tr-excessiverolestr 2
tr-invalidroletr 1
tr-missingtyperestrictiontr 1

We used the following linters in Iowa:

issue total
crossinghighways 25
impossibleangle 15
impossibleoneways 15
islandshighways 54
mixedlayer 38
tr-missingroletr 8
tr-excessiverolestr 1

We used the following linters in Maryland:

issue total
crossinghighways 38
impossibleangle 20
impossibleoneways 80
islandshighways 92
mixedlayer 3
tr-missingroletr 46
tr-excessiverolestr 8
tr-invalidroletr 3
tr-missingtyperestrictiontr 4

We used the following linters in Massachusetts:

issue total
crossinghighways 114
impossibleangle 36
impossibleoneways 37
islandshighways 62
mixedlayer 9
tr-missingroletr 81
tr-excessiverolestr 4
tr-invalidroletr 6
tr-missingtyperestrictiontr 1

We used the following linters in Arkansas:

issue total
crossinghighways 31
impossibleangle 12
impossibleoneways 14
islandshighways 56
mixedlayer 14
tr-missingroletr 16
tr-excessiverolestr 4
tr-invalidroletr 2

We used the following linters in Colorado:

issue total
crossinghighways 169
impossibleangle 26
impossibleoneways 81
islandshighways 65
mixedlayer 52
tr-missingroletr 92
tr-excessiverolestr 5
tr-invalidroletr 1
tr-missingtyperestrictiontr 6

We used the following linters in South Carolina:

issue total
crossinghighways 124
impossibleangle 27
impossibleoneways 18
islandshighways 137
mixedlayer 7
tr-missingroletr 72
tr-excessiverolestr 1

We used the following linters in Kentucky:

issue total
crossinghighways 46
impossibleangle 46
impossibleoneways 34
islandshighways 202
mixedlayer 5
tr-missingroletr 19
tr-excessiverolestr 4
tr-invalidroletr 1
tr-missingtyperestrictiontr 2

We used the following linters in Washington:

issue total
crossinghighways 71
impossibleangle 15
impossibleoneways 18
islandshighways 69
mixedlayer 2
tr-missingroletr 159
tr-excessiverolestr 13
tr-missingtyperestrictiontr 2

As soon as we process issues, we'll update this ticket with geojson files, which will contain exact items we're going to review.

  • 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.

Background

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.

Timeframe

1st iteration (October 2020): We have already started to review detected issues in Michigan (previous page), and editing OpenStreetMap data to fix valid issues. After, we are going to review several states one by one after contacting with communities.

First one will be Texas. During our work on the project we will update linters' output for each state in this page.

2nd iteration (November 2021) : We plan to start reviewing detected issues in November, and editing OpenStreetMap data to fix valid issues.

Tools and ground-truth sources

We will use existing OpenStreetMap editing tools, and starting from Texas state we begin to use common #hashtag for the project #mbx_linters_usa

  • Editor: iD Satellite Imagery: Bing, Maxar, Esri
  • Street Level Imagery: Mapillary, Other open sources if available

Contact

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 Natallia (natallia.zhouner@mapbox.com). Also you can leave a comment in a changesets.

Here you can find more detailed info about our project. Here you can find info about how we deal with feedback.