Google Summer of Code/2017/JOSM Plugins

From OpenStreetMap Wiki
Jump to: navigation, search

PT_Assistant

Proper detection of public_transport:version

  • Some routes are erroneously tagged as version 2. Applying fixes on such routes breaks them completely. So detection on what they contain (stops for both directions? ways for both directions?) Suggest to retag to public_transport:version=1, or to convert them (later on when that becomes possible)

Edge selecting Map Mode

  • A new map mode that selects a string of ways, respecting oneway traffic and possible ways for the mode of transport for the route relation Relation Editor currently has focus

Add functionality for foot, bicycle and horse route relations

  • support for foot, bicycle and horse route relations, which have a somewhat differing semantics
  • help with moving bicycle route relations to highway=cycleway, where they are mapped separately

Roundabout splitter

  • which detects automatically on which nodes to split and which removes those ways that don't belong the point of entry and the point of exit from all relations that pass the roundabout
    • download bbox to make sure all ways connecting to the roundabout are present (I usually use Overpass API to only download route relation members)
    • find points to split roundabout way(s)
    • ask user if it's OK to make roundabout round (this also distributes the way nodes nicely)
    • loop over all route relations and repair them

Route creator

  • For a relation which only contains platforms/stops, make it possible to detect nearby ways and connect those. At the moment the focus of the plugin is fixing existing itineraries, which is great as a foundation for creating new ones. When data from the operators is available, this will translate in sequences of stops for each variation.

Specialised version of the Relation Editor

  • "Fork" a specialised version of the Relation Editor, which gets invoked when pressing the fix button in the validator, or possibly always when editing route relations.
  • Make sure this can be merged into core, when it become stable enough
  • This RE should assist in getting the route relation cleaned up (stops/platforms in correct order/long string of ways from beginning to end)
  • Move stops/platforms to the beginning
  • Order stops/platforms so they make a logical sequence if the ways in the route are continuous/ordered
  • Add stops/platforms to the route (with user interaction)
  • Show how many issues the validator found with this route
  • Find all ways next to platforms
  • Help make the route continuous (ways) by making suggestions taking care of oneway traffic.

Route Master relation change management

Create a function that reorders the stops/platforms based on the order of the ways sequence. Possibly with user interaction, asking whether stops found along the itinerary ought to be included

  • If the route is known (the ways are mapped), allow the user to add platforms/stop_positions automatically (interactively)

Smaller improvements

  • add a little delay after automatic changes (1.5 seconds), so the mapper gets to see what the plugin is doing.
  • When proposing several options to fix a route, don't show the whole stretch between 2 stops, but only show the differences and maybe one way in common on both ends, instead.
  • Don't use relations for which problems with oneway are reported (or segments where this is the case) as "templates" to suggest fixes
  • If a route can be made continuous by adding 1 or a string of ways with no ambiguity, propose that as a fix to be reviewed, to the mapper.
  • Pressing the fix button on "Route should start and end with a stop_position" could zoom in on the problem, select the way and open the relation editor.
  • Provide a way to reopen the relation editor on the route that is highlighted by the plugin. Sometimes it's needed to close the Relation Editor to make some changes to the data. But in the mean time the reported route relation is already gone from the validator pane.

Road Signs

  • differentiate between tags that should go on the traffic sign node and those that should go on the OSM objects (mostly ways) that are affected.
  • Integrate with Mapillary plugin