One of the reboot presentations that intrigued me the most was the one by Steve Coast on the OpenStreetMap project.
The goal of the project is to assemble an freely available set of street map data, data that will enable the building of interesting map application free of the encumbrance of costly and complicating map data licenses. To this end they’ve built a robust set of tools to allow grassroots users to gather data about streets using inexpensive GPS devices, add them to a central data set, and then convert them into “ways” — streets to you and me — with names and directions and connections.
In other words, the kind of project that has “I’ve got to get this started for Charlottetown” written all over it.
So I’ve started. Here’s how I do it.
First, my “gather GPS traces” setup. I’ve installed Python for S60 on my Nokia N70. This lets me run the excellent and free S60 Python NMEA Bluetooth GPS Info Viewer tool that logs GPS traces to an NMEA-format file. The GPS stream itself comes from my GPSlim 236 Bluetooth GPS which talks to the phone, as you might imagine, via Bluetooth. Here’s what the process of getting things running looks like:
Start the nmea info application.
Select the Bluetooth GPS receiver to use.
The logging of GPS traces starts automatically.
Once I’m done, I find the nmea_gga_log.txt file in E:\System\Apps\nmea_info…
…and I send it to my desktop for processing.
Now I’ve got a file on my desktop called nmea_gga_log.txt that’s in the NMEA format. To send this to OpenStreetMap I first need to convert it to GPX format. Fortunately the (excellent) GPS Visualizer website has a tool for this job:
I end up with a GPX-format file that I can upload to OpenStreetMap:
Once my traces are uploaded and processed, I can use the OpenStreetMap web-based edit applet to see my traces:
That’s a trace of a walk from the office to home, followed by a cycle, via Water St. and Grafton St., back to the office. The next step — which I’ve yet to do — is to convert those raw traces into “real streets.” I’ll document that process once I’ve done it once!