User:Subhodip/GSoc2008

From OpenStreetMap Wiki
Jump to navigation Jump to search

Improved GPS workflow In Java Open Street Map Editor or JOSM

Introduction


JOSM or Java Open Street Map Editor is popular offline editor used for

  • Changing a large set of data
  • Changing data without having any immediate effect (try something out).
  • Displaying taken photos during your track and on the position they were taken.
  • The use an offline editor and going to edit an area, which is believed to be changed by other people. JOSM supports merging changes and conflict resolving from changed areas (remember to do a download prior every upload).

Gpsbabel is currently an completely different tool used to upload GPS traces to a computer from a GPS device.It is used for converting way points, tracks, and routes from one format to another, whether that format is a common mapping format like Delorme, Streets and Trips, or even a serial or USB upload or download to a GPS receiver such as those from Garmin and Magellan.


Problem


The GPS traces need for mapping is uploaded to a computer using tools like GPSBabel, and then using JOSM to edit or use those traces which is pretty difficult for an average user/contributer . The above procedure is also cumbersome and is difficult to manage the GPS traces/way points.


Proposal



The proposal can be best explained with the help of an example :

Example

Tom has a GPS device,He did some mapping using his GPS device . He comes back to his computer,plug in his GPS device,starts JOSM. JOSM imports the gps traces,provides him an ability to save for future edits,uploads it to OSM Server .

This not only help him by letting him manage all his GPS traces but also let edit his work before he upload that to OSM server and finally helps in uploading it to OSM Server .



So the tasks can be defined the three main parts :

    • 1. Gpsbabel plugin for Java Open Street Map Editor
    • 2. Direct GPX upload from Java Open Street Map Editor
    • 3 . Ability to Edit GPX in Java Open Street Map Editor .

So this actually leads to the combined effort of converting data from GPS receiver to a file then uploading to OSM then opening the file in JOSM,all integrated into a single step on JOSM.

Modules




Gpsbabel Plugin for Java Open Street Map Editor or JOSM.

Since there are lot of gps devices involved with open street mapping,details can be found here http://wiki.openstreetmap.org/index.php/GPS_Reviews

Most Gps devices have their own protocol so it is pretty difficult to write it from scratch .This is where gpsbabel comes in play .

The idea is to write a gpsbabel plugin that will call the gpsbabel binary .The call to the external gpsbabel should work platform-independent on Windows and Linux. This is to be explicitly written. The gpsbabel since already in use (though separately) will produce a user acceptable GPS file Since Gpsbabel is written in C and JOSM in Java so a little bit work is to be done so that the plugin works .


Direct GPX upload from Java Open Street Map Editor

This is actually the main skeleton of the proposal. The gps file retrieved from the GPS device need to OSM protocol compliant before it can be upload to the OSM server.

- retrieving gps files from the devices, - making it OSM Protocol compliant - Ability to save the file for future edits. - Uploading to main OSM Server.


OSM protocol for retrieving gps traces can be found here http://wiki.openstreetmap.org/index.php/OSM_Protocol_Version_0.5#Retrieving_GPS_tracks

OSM protocol for uploading gps traces to the OSM Server can be found here http://wiki.openstreetmap.org/index.php/OSM_Protocol_Version_0.5#Methods_for_GPX_Traces

Some work have been started regarding this module

    • Initial set of discussions :

http://lists.openstreetmap.org/pipermail/dev/2006-December/002591.html

    • A trac ticket regarding this module :

http://josm.openstreetmap.de/ticket/407

    • Bare Beginning of support :

http://josm.openstreetmap.de/changeset/402

This is regarding raw gps data ,but according to OSM protocol the implementation should be as GPX Data.Details about GPX Data can be found here :

http://en.wikipedia.org/wiki/GPX_(data_transfer)



Ability to edit GPX in Java Open Street Map Editor.



[ This part is currently left out as its still not decided whether its needed or not .]

The way of uploading gps can have two possible solutions

- Uploading the full data set . - Uploading GPS traces in simplified version in accordance with OSM Protocol . along with : - Abilty for the user to edit and annotate his traces (otherwise, if user delete the tracks from GPS unit, every day he has to upload the old data again!)

OSM way for valid GPX to be uploaded can be found here ;

http://wiki.openstreetmap.org/index.php/FAQ#Why_didn.27t_my_GPX_file_upload_properly.3F

Work Flow with Modules



Since all of these modules are important and are big enough to be completed within Google Summer of Code .My primary goal is

  • Gpsbabel plugin for Java Open Street Map Editor.
  • Direct GPX upload from Java Open Street Map Editor.

and subsequently

  • Ability to edit GPX in Java Open Street Map Editor.

Time Line


  • Milestone 1


1 .Read docs,codes et al.

2. Draft design of GPSBabel and JOSM work together.


  • Milestone 2 (May 10th)


3. Work on integration with JOSM.

4. Coding for GPSBabel plugin .

5. Debugging,testing first tool until satisfied.


  • Milestone 3 (1st July) .


6 . Work on Direct GPX upload from Java Open Street Map Editor.


  • Milestone 4 (third week of July) .


8 .Starting with Ability to edit GPX in Java Open Street Map Editor module.


  • Milestone 5 ( 3rd august) .


9. Testing Debugging

10. Documentation

11. Time runs out .


  • Milestone 6 (24th August)


12 . Submission.


    • I kept the time line a little bit flexible so that I can extend it a little bit as and when required.

About Me



I am a computer Science and Engineering student at Dr.B.C.Roy Engineering College ,Durgapur which is state of West Bengal in eastern part of India. I have been contributing to open source since last three years in various projects. I have even taken part in FreeMapIndia2008. This is where I got introduced to superb utility tools like JOSM and felt that my contribution can make it even better.

I am pretty enthusiastic with this proposal because this can make JOSM a real easy tool and an user even with very less computer experience be able to use it.Hence OpenStreetMap getting more contributers.