[OSM-talk] LiveGPS plugin for josm / Mapping on the move!

Frederik Ramm frederik at remote.org
Sat Jan 20 21:01:01 GMT 2007


Hi,

    this is going to be long(ish) so I'll use the classic triptych form 
of "say what you're going to say, then say it, then say what you just said".

1. Executive Overview

Mapping on-site, i.e. while you are at the place you intend to get into 
OSM, has a lot going for it, and is certainly a field worth developing. 
A new josm plugin (by yours truly) to show your current GPS track 
exists, but handling josm on the move is difficult and needs to be
improved.

2. The Story

I know that many of you use OSM as an excuse for getting some exercise. 
Still, I was intrigued by reading a report of how the pros at TeleAtlas
and MapSource acquire their data - with specially equipped vehicles and 
a lot of gadgetry.

I wanted to give this method a try and wrote a plugin for josm that, by 
connecting to a "gpsd" process running on the same computer, acquires 
the current GPS position. It is basically the same as your ordinary
GPS track layer except that it is, well, live. (And it shows a little 
red circle at your current position.)

You can get the plugin from SVN (in the josm plugins directory, it is 
called "livegps"). Linux or BSD required as gpsd doesn't work on other 
systems.

I rented a Renault Kangoo from our local car sharing org. It seemed 
suitable because it has big windows and is wide enough to install an 
improvised desk. I took a wooden board of about 45x60 cm and screwed two 
wooden supports to it so that it made a nice little desk reaching from 
the outer armrest to the middle of the car.

I talked fellow OSM contributor Jochen Topf into trying out the 
contraption with me; first I drove the car and he operated the notebook, 
later we swapped (by his demand; I should perhaps not have said "oh come 
on, it can't be that hard" quite so often).

It was quite fun to see the "moving dot" and to be right in the middle 
of things, so to speak. But it was also very stressful - red traffic 
lights, relief! - because things tend to happen very fast even if you're 
in a residential area and going 20mph. And of course you're too proud to 
ask the driver to pull over for a minute because you don't get your work 
done.

We haven't been very productive in that first session; we would probably 
have been able to map twice as much using the traditional 
track-and-notepad approach. The idea that one could do away with 
post-processing altogether - arrive at home and upload today's work to 
OSM - seems more distant now than before.

I like josm but it is cleary not designed for this kind of use. First 
there are the little quirks that I tend to shrug off when working at my 
desktop - sometimes it doesn't quite catch my mode change click, 
sometimes it sticks segments onto existing ways in a nonpredictable 
fashion (except when you want it to), and so on. These are negligible if 
you are at your desk, but on the road they can make the difference 
between having enough time to map a feature and not having enough time.

Then there's mouse control and requesters. A lot can be done by keyboard 
already, but on the road, any windows that pops up and requires an "ok" 
button (or alt-O or whatever) is a waste of time.

A halfway reasonable mode of operation was this: First create one 
segment and make it into a way, set a name; select the last node, switch 
to "add node and connect" mode, then just click your current position 
every once in a while to add a node to the way.

Most desired, but missing, features for this mode:

* a more explicit notation of what the current "active" or "open" way is 
(the way to which new segments become added)
* a hotkey (or better: a key - no modifier keys should be required) - to 
"place node and connect", which places a new node at your current GPS 
position, connects with the previous node to form a segment which is 
added to the current way; let's call this key "A"
* a hotkey "change open way" which can be used during above operation 
and will create a new "open" way without any segments, just a name, and 
make it the current way; let's call it "X"

That way, when you are on one road and make a turn into another, you 
just press A to set the intersection node, then X to change the way (X 
could also automatically ask for the name of the new way since it is 
usually signposted at the intersection).

Hotkeys for amenities would also be nice, possibly combined with 
automatic placing in relation to current heading ("telephone booth, 11 
o'clock, 5 metres"). And keys for pre-set zoom-levels and centering on 
current position (the plugin has centering but not mapped to a key).

Also, sometimes you want to enter information "in advance", e.g. "here's 
an intersection, Main St. is to the left and Bridge St. to the right" 
even if you continue staright on. These things could be written into 
application-specific attributes of the intersection node, to be 
automatically transferred to a connecting way later on. Entering such 
information currently requires abandoning the current way, creating a 
new node and segment and way for the connecting road even if you do not 
intend to go there, set a name for it, then re-select the current 
position node to continue with "add node and connect".

For a "map-as-you-go" project to succeed, the driver, the computer 
operator and the software have to work together very efficiently. The 
driver's job is to look out of the window, drive the car and speak out 
all relevant information. The computer operator will usually not have 
time for the outside world; he has to translate the input coming from 
the GPS and that coming from the driver into the OSM data model.

Feel free to download the plugin and try it for yourself. - The 
improvised desk that I talked about is not really a requirement but 
makes things much easier especially if you want to use a mouse and/or 
your notebook is too heavy or too hot to keep it on your knees all the time.

3. Conclusion

Mapping on-site, i.e. while you are at the place you intend to get into 
OSM, has a lot going for it, and is certainly a field worth developing. 
Reports of similar activities, perhaps leading to a "best practice" page 
in the wiki, are most welcome. For effective use, josm (or the plugin) 
will probably have to be extended by a highly configurable keyboard-only 
operation mode which is more "stateful" than josm is currently. Or, 
possibly, a touchscreen-based application. I wouldn't entirely rule out 
PDAs but it is going to be difficult to represent any meaningful amount 
of data context on their little screens.

Have a nice day,
Frederik

-- 
Frederik Ramm  ##  eMail frederik at remote.org  ##  N49°00.09' E008°23.33'




More information about the talk mailing list