Here are some ideas for future challenges for MapRoulette. Please add your ideas or discuss them on the Discussion page.
MapRoulette Challenges should be:
- Simple to fix without local knowledge
- Only involve one or two nodes or ways
Untagged ways that are not members of a relation are typically an error of some kind.
From checks, they most commonly arise in 3 ways
- Traced objects that were not tagged when they were traced
- Mistakes in tracing (generally short 2-3 node ways that don't correspond to anything physical)
- Objects still being uploaded where the multipolygon has not yet arrived.
The desired resolution for 1 is to add appropriate tagging if it can be determined from the imagery.
The desired resolution for 2 is to delete.
The desired resolution for 3 is to do nothing and not detect them.
Local knowledge helps for adding appropriate tagging but in many cases it is obvious what was traced (e.g. a building)
These are machine detectable from a pgsnapshot database. The following SQL is a modified version of what I used to find them locally.
SELECT ways.id as id, version, (SELECT users.name FROM users WHERE users.id=ways.user_id) as user, tstamp FROM ways LEFT JOIN relation_members AS parents ON ways.id = parents.member_id AND parents.member_type='W' WHERE parents.member_id IS NULL AND tags=hstore('') AND tstamp < TIMESTAMP 'now' - INTERVAL '1 day';
This is similar to the above untagged ways challenge and may be redundant. This one focuses on reviewing unnamed streets. As such it might make more sense to do the no tag challenge first and then follow it up with the no name challenge. I think it would be helpful to focus on the higher classification streets first (Motorway, Urban Primary, Urban Secondary, ect) and work your way down from that due to the large number of unnamed private streets and tracks within the US. The basic idea is to get the street naming as accurate as possible as it forms the base of OSM. It would be great if there was someway to automate the creation of the 2012 TIGER TMS tile service within JOSM for this challenge so that it launches when you choose "Edit with JOSM." Here is the link to the 2012 TIGER tile service. http://wiki.openstreetmap.org/wiki/TIGER_2012 --T 9er 13:47, 3 December 2012 (UTC)
Building off your work with the Tiger Deserts, have mappers review and update any old tigerline data that hasn't been touched since it was uploaded. You could focus on urban areas and major roads first and then work your way to rural minor roads. The emphasis would be on whole ways that have been untouched instead of just nodes although you could do it either way.
Use 2000 and 2010 census blocks to find areas of growth and then compare the osm street length to the 2012 tigerline street length. Have mappers review and map blocks where there is growth in population and more 2012 tigerline street data than osm. If this is too much you could just compare the street lengths and leave out the demographic comparison due to the changes in block size and shape from census to census. I found when using the re-map-a-tron if I encountered an area with missing or messy roads I went ahead and updated the whole area so it might not be too much of a stretch to think mappers would update a one block at a time. --T 9er 13:47, 3 December 2012 (UTC)
Status: In Progress I was wondering if you could use the work from the KeepRight website for the next challenge. I'm thinking "almost-junctions" and "floating islands" would be two good places to start.
Take a look at the two areas here: http://osm.org/go/0E6JSxZAw-- That's 180625454 and 180625453. At first, they look contiguous. But in fact, there are micro-cracks -- two nodes used by each area aren't used by the other.
Railway platforms that aren't connected to the rest of the graph. Sometimes these will require local knowledge, but sometimes the satellite image will be good enough. http://www.openstreetmap.org/browse/way/109969548
landuse:grass ways that cross roads
Detecting traffic signals on major intersections
Intersections of tertiary and higher (except _links) are quite likely to be controlled by traffic signals. Take this one here:
In JOSM, the Bing imagery clearly shows (the shadows of) traffic signals, and the tag can quickly be added to the intersection node:
- This is only 'quite likely' in urban areas, and I'd drop tertiaries outside downtowns. --NE2 19:46, 12 November 2012 (UTC)
Keep right doesn't have a check for railways that cross roads without nodes. I'd recommend the following:
- railway=rail only, without service=*
- highway=secondary and up (including links)
- no bridge=* or tunnel=* tag on either way (unless it's *=no)
- no intersection node, or intersection node without a railway=level_crossing
Of course these are sometimes bridges and sometimes level crossings. On major roads the imagery is almost always good enough to know which it is. The instructions should note that mappers should be careful about marking a railway as abandoned, since railway ways are often long and may only be partially abandoned. --NE2 15:55, 2 November 2012 (UTC)
Follow the Dots (of deleted ways)
Recently, while working on Martijn's current Mapathon, I found a 10-mile-long secondary road that had been removed in the redaction and had not been caught or repaired in subsequent Mapathon efforts. However, the dots that indicated a deletion remained. Therefore, one way to make sure we restore those ways could be to search for remaining dots on the map. Though this one was long, most that I still encounter are short (like a block or so), so they should be easy fixes.
These might be difficult to detect by a non-human, any ideas? Martijn van Exel 17:31, 11 November 2012 (UTC)
For example: http://www.openstreetmap.org/browse/way/178908572
These are usually from TIGER, but may be human error. One way to detect them is to look for intersecting non-bridge ways, or simply to look at the length and suck up the false positives. --NE2 00:11, 3 November 2012 (UTC)
Node -> Area GNIS imported nodes
In the U.S. there's imported GNIS data, seemingly for every hospital, school, church, lake, park, cemetery, and various other things. A lot of these things would be better represented as areas. It's not always the case e.g. some churches are quite small, and someone doing normal mapping might decide to stick it in as a node, but for many of those other things, we'd like mappers to convert the node into an area. -> . I do quite a lot of this using JOSM and the 'Paste tags' command. Not sure if it's so easy to do this in Potlatch.
-- Harry Wood 15:58, 13 November 2012 (UTC)
- This requires some local knowledge due to the large number of GNIS errors (they got the data by going through a phone book and geocoding the addresses). --NE2 17:23, 13 November 2012 (UTC)
- How about merging GNIS nodes with similarly-named areas nearby? Mappers – and not just newbies – often overlook the GNIS nodes when mapping parks and stuff, because they're mostly nondescript green dots in Potlatch. Unfortunately, Potlatch only supports pasting tags from way to way and from node to node at the moment. – Minh Nguyễn (talk, contribs) 07:17, 14 November 2012 (UTC)
highways and waterways intersect
I've noticed a lot of highways and waterways intersecting and the bridge tag for the highway had not yet been added. A SQL query of intersections of these shouldn't be too hard.
- There are going to be way too many of these where it's not obvious from aerials: http://keepright.at/report_map.php?zoom=9&lat=36&lon=-79&layers=B0T&ch=0%2C192&show_ign=1&show_tmpign=1 --NE2 08:45, 28 November 2012 (UTC)
POIs without Addresses
We have many POIs (restaurants, shops, etc.) which have a name, but do not have an address. We should find the types of POIs that would qualify for having an address and present them to the user. In addition, some of these POIs may also have a website. --Emacsen (talk) 17:20, 23 February 2013 (UTC)
Many relations in OSM are invalid, for example, multipolygons with no outer ways. Relations of this type should be identified and offered for fixing.----
Power Lines That Intersect with Roads
Where power lines cross roads, some mappers have made them intersect. Of course, this does not happen in reality. This should be an easy one to correct, as it is easy to see. This is a corollary to highways intersecting with waterways. I think it should be possible to detect both of these. Waterways and power lines have some legitimate intersections, but a significant number of the intersections are with highways.
Link Roads Mismatch
Link roads should match the highest classification of the road that they connect to. For example, a secondary_link road should have at least one connection to a secondary (or secondary_link) road, and no connections to primary, trunk, or motorway. The mismatch often occurs when someone changes the classification of the main road, but does not change the connecting link roads to match.
To fix these, change the classification of the link road to match the highest classification of roads it connects to.
Here is some SQL that finds mismatched link roads (using the Osm2pgsql schema):
CREATE TABLE highway_rank ( highway TEXT, rank INTEGER ); INSERT INTO highway_rank VALUES ('motorway', 1); INSERT INTO highway_rank VALUES ('motorway_link', 1); INSERT INTO highway_rank VALUES ('trunk', 2); INSERT INTO highway_rank VALUES ('trunk_link', 2); INSERT INTO highway_rank VALUES ('primary', 3); INSERT INTO highway_rank VALUES ('primary_link', 3); INSERT INTO highway_rank VALUES ('secondary', 4); INSERT INTO highway_rank VALUES ('secondary_link', 4); INSERT INTO highway_rank VALUES ('tertiary', 5); INSERT INTO highway_rank VALUES ('tertiary_link', 5); SELECT * FROM ( SELECT link_roads.osm_id AS link_osm_id, link_roads.highway AS link_type, link_roads_rank.rank AS link_rank, MIN(all_lines_rank.rank) AS connect_to_rank FROM planet_osm_line AS link_roads INNER JOIN planet_osm_line AS all_lines ON ST_Intersects(all_lines.way, ST_StartPoint(link_roads.way)) OR ST_Intersects(all_lines.way, ST_EndPoint(link_roads.way)) INNER JOIN highway_rank AS link_roads_rank ON link_roads.highway = link_roads_rank.highway INNER JOIN highway_rank as all_lines_rank ON all_lines.highway = all_lines_rank.highway WHERE all_lines.osm_id > 0 AND all_lines.osm_id <> link_roads.osm_id AND (link_roads.highway='teriary_link' OR link_roads.highway='secondary_link' OR link_roads.highway='primary_link' OR link_roads.highway='trunk_link' OR link_roads.highway='motorway_link') GROUP BY link_roads.osm_id, link_roads.highway, link_roads_rank.rank ) AS link_roads_connect WHERE link_roads_connect.link_rank <> link_roads_connect.connect_to_rank;