After 13 interesting weeks, the GSoC program has now come to an end. I am very happy that I spent these weeks with 52°North.
My project is “Social Driving Stats”, which is part of the enviroCar project. Since the enviroCar website (enviroCar-WWW project on GitHub) didn’t include social media sharing functionalities, it was not possible to share enviroCar tracks in social networks. The project’s main task was to use social media APIs to allow users to share their tracks on these social media sites. This goal has been reached and it is now possible. I managed to integrate track visualizations and statistics into the shared posts. This makes them more catchy and informative than plain text messages.
You can find my development work on my
- First blog post,
- Mid term blog post,
- Demo server,
- enviroCar server repo and enviroCar-www repo.
The hot phase
Having completed the social media sharing implementation in the front end (website) before the mid term, I had to concentrate on the back end in the second phase of the project. The challenge was the back end processing needed for the track visualizations and statistics integration. For that I had to work with OSM tile services and use them to generate the visualizations needed. I also improved the core renderer to support internationalization. My mentors identified that the same imagery can be used to produce a preview of the tracks, so I also implemented that part. These were the core functionalities I had to implement to make the project a success. I implemented three main algorithms for the core rendering module:
- An algorithm to determine the relevant zoom level to cover the whole route in OSM maps.
- A routing algorithm to convert locations to image coordinates and vice versa.
- An algorithm to center the route inside the rendered map.
With these improvements, I was able to output a fully rendered route on a map as an image through enviroCar Server. This image is then used for the sharing functionalities. (Fig 1.1)
I also fixed some more issues and developed some other improvements. They include:
- Adding a public route page which can be viewed even without a enviroCar account.
- Adding the delete track functionality (Fig 1.2).
- Adding the track preview in track listing (Fig 1.3).
- Improving the sharing functionality in different languages (German – de).
- Adding an overview map on enviroCar landing page.
Most of the tasks that were decided upon at the beginning of the project have been completed. Starting from the improvements mentioned above, there are additional ways to improve enviroCar and make it a better and more convenient service. Some of them are listed below.
- The image rendering algorithms may be improved regarding its performance.
- As of now, the sharing is only possible for Google plus, Twitter and Facebook. The sharing functionality may be extended for other popular social media sites too.
- The images rendered may be used for additional tasks other than sharing and previewing.
- A tile caching mechanism may be used to reduce the tile redundancy.
Some final words
It was really interesting to work with 52°North. I’d like to thank the organization for giving me such an opportunity to contribute to their product. Throughout the project I had many experiences which will surely improve my future career. I learned lots of things about Geo-processing related products and how a system such as enviroCar functions.
My special thanks goes to my two mentors, Matthes Rieke and Dr. Christoph Stasch, who mentored me in each and every step and gave me proper guidance throughout the project. And to Daniel Nüst for the help provided as the organization admin. Furthermore, I’d like to thank Ann Hitchcock for all the help done.