GSoC 2022 Final Report for the project JOSM visualization

Posted by Zing929645 on 7 September 2022 in English (English). Last updated on 19 September 2022.

Introduction to JOSM Route Visualization

Hi, this diary is for showing what I have done in GSoC 2022. Two months went so fast that I suddenly realize the final date has come. But I still want to follow the guidance and try something I haven't done before, and I can't wait to show the power of this plugin and some new functions that help.

JOSM route visualization plugin is for displaying the full picture of the public transport routes, which is convenient for users to query and greatly improves the efficiency of route maps and members modification.

Checking the relevant function, you can open the relation editor of some route or public transport objects , and then grasp a big picture of the distribution of routes by specially enhanced image instead of a list of way members. In the meanwhile, the path-finding algorithm and logic handling is great for users to choose the next way to extend existed routes from given options rather than add ways needed manually.

Previous Posts


Progress in First Half

First Half Summary

  • Fix the problem that target route figure is under the layer of other irrelevant models.[merge_request1][merge_request2]
  • Make the ways under the route relation of same type as the selected relation of route more evident and add waterway features.[merge_request2]
  • Mark the selected stop in main window[merge_request3]
  • Listing distance from next and previous stops and relation routes in the dropdown of clicked stop[merge_request4]

Second Half Summary

  • Add turn restriction to guarantee path-finding logic to avoid ways it shouldn't be turning to. [merge_request5]
  • Add access restriction to guarantee path-finding logic to avoid ways that have no permission for route extension according to transport mode match.[merge_request5]
  • Handling Roundabout[merge_request6]

Effect Contrast (Part of visual effects display)

Target route floating problem:

Route figure enhancement:

Stops distance and related routes showing:

Turn restriction:

The turn retriction below is no-right-turn

Access restriction:

The upper branch is labeled [highway:primary] which allows bus route extension but [bus:destination] which means the bus route is not permitted. So the path-finding logic will find another path to destination.

Roundabout display error:

There shouldn't be any breakpoint in roundabout.

One-way path-finding logic on roundabout

The roundabout in the picture only allows driving counterclockwise.

Things I Have Learned

  1. how to use DevOps platform
  2. The CI/CD pipeline to integrate qualified code into main source
  3. The Swing APIs to improve UI
  4. More familiar with Java development environment
  5. Basic data structures and algorithms
  6. The way of thinking how to analyze the problem and express it correctly.


First of all, I would like to say that I really appreciate the help of my mentors Michael Zangl and Polyglot. From the start when I wrote my proposal and discussed with them, they have been really willing to help though sometimes there is not much time left before the deadline. During the project, we kept in touch very frequently. My mentors were very concerned about my work progress, urged me and patiently guided me step by step (although my progress was never faster than planned hahaha) which I am really touched.

And I am grateful to GSoC program to give me a chance to understand how the whole process of product goes which is very beneficial for my future learning and understanding of programming.

This is really a platform very friendly and can mobilize more people to participate in the programming, and let me experience its charm. Although my ability and contribution were quite limited, I still gained satisfaction and learned a lot of knowledge.

Final thanks to OSM community, it is very enjoyable to be in.

Location: Koreatown, Allston, Boston, Suffolk County, Massachusetts, 02134, United States

Comment from stevea on 19 September 2022 at 21:25

I have so much I could say about this (and might later), but I want to say Thank You for this truly awesome Diary entry. In addition to it being quite complete and even inspirational, it is reflective on the power (and passion!) behind and inside of OSM, largely embodied in its amazing volunteers.

Steve All, Santa Cruz, California

Comment from Hedaja on 22 September 2022 at 19:44

I haven’t done any public trabsport mapping in a while but this makes be exited to get into it again.

Thank you for your work

Comment from IanVG on 11 November 2022 at 15:01

Checking back in after a few months! I’ve tried mapping the public transport routes in my city, but was intimidated by the difficulty and non-user friendliness of adding and modifying routes. I am really excited to try this plugin out. Thanks again for the great idea on an issue that sorely needed special attention!

Login to leave a comment