A Little GPS Hacking..

March 21, 2006 | My Projects | By: Mark VandeWettering

Today I learned something interesting while surfing the web: that somebody had made a simple program that can be used to compile your own custom maps for Garmin GPSes. Since I picked up a Garmin Legend CX recently, I thought that would be a good thing to play around with. So, tonight, I tried to see how far I could go in trying to get some simple road data compiled and downloaded to my GPS.

My GPS with My Custom MapWell, as you can see from the result on the right, I managed to get fairly far. I’ll prepare a writeup on how to do this when I get the maps refined, but basically, I wrote a simple perl script that used the Geo::ShapeFile library to parse road data that I downloaded from the US Census bureau. I then (stumblingly, I’m no perl expert, I’m more of a python guy…) wrote this out in a format that could be compiled by cgpsmapper (links tomorrow, when I’m more awake) and compiled the map, downloaded it to my GPS with sendmap, et voila! You can see the street names surrounding Pixar’s location in downtown Emeryville!

It’s very cool! I’ll try to get a tutorial written up on how to do this sometime later, along with links to all the necessary software, and make my Bay Area street maps available.

[tags]GPS,Garmin,Custom Maps,Hacks,My Projects[/tags]

Addendum: Well, it’s morning, I haven’t even had coffee, but here are some links that you’ll find helpful:

  1. cGPSmapper is the most important bit: a compiler that can convert a simple textual representation of maps into the right format for downloading to your Garmin GPS
  2. MapCenter has some pre-made user contributed maps that were compiled with cGPSmapper and are available for download.
  3. I downloaded the  necessary road maps from this website, which provides a convenient interface for downloading TIGER data from the U.S. Census Bureau.
  4. The Geo::ShapeFile library will make parsing the files that you downloaded above much simpler, even if you are a perl neophyte like myself.

These resources were enough for me to create a simple script that converted the Alameda county road data into something I could download.  I need to review some of the TIGER documentation to figure out what other data I need (in myuser map, things like shortlines aren’t represented at all) but I really think that the core of what you need is very simple.   I’ll keep you all posted.

Comments

Comment from Walter
Time 12/4/2007 at 6:03 pm

Do you know someone who can help me to break the code of a GPS map made for Garmin but blocked for open usage?

Comment from zac diles
Time 6/11/2010 at 1:47 pm

Hi. I read some of your other posts and desired to understand if you would want to consider exchanging blogroll links?

Comment from Jacob Patel
Time 7/20/2010 at 9:18 pm

GPS is really needed for vehicles and also for some recreational purposes like in camping if you do not want to get lost..;’