Garmin POI Loader
You can download "POI Loader" from the Garmin site. Then you can create simple CSV text files containing point data, and load them into a Garmin handheld with POI loader.
Many POI files
I just ran across this page, which discusses having many different POI databases. http://forums.groundspeak.com/GC/index.php?showtopic=140808
Basically you can tell POI Loader to generate output to an SD card instead of the Garmin, and rename the generated file.
- Create GPX file from point shapefile ("places.shp" => "places.gpx")
- Feed "places.gpx" to POI Loader, which generates "poi.gpi"
- Rename "poi.gpi" => "places.gpi"
The initial conversion can be done with a geoprocessing tool or with gpsbabel. Repeat the three steps for each point shapefile.
Toplevel folder is /Garmin/Poi, and you can use subdirectories too...
What exactly, one wonders, is in the .poi file? It is of course yet another damn binary format. We're not allowed to know. There is supposed to be a command line mode for the POI Loader though. I am hopeful that this works, because then I could script it.
GPX format
GPX is an open format for exchanging data between GPS/GIS apps.
CSV format
Here is the format of the file, cribbed from Garmin's docs
<Lon>,<Lat>,["]<Name>[@<Alert Speed>]["],["] [comment]["] Longitude and latitude must appear in WGS84 decimal degrees format (ddd.ddddd; negative numbers indicate West and South). If you include quotes around the name or comment, you can include line breaks in the text. The following are examples of Custom POIs in the proper format: -94.81549,38.80390,Bonita -94.79731,38.81099,Ridgeview@25 -94.74240,38.81952,Heritage Park,Perfect site for a picnic -94.76416,38.81227,Garmin,"1200 E. 151st Street Olathe,KS 66062 913/397.8300"
Download POI loader and refer to its internal docs for more information.
Custom bit maps
Name the BMP file after the POI file and POI loader will use it for all points in that file, for example "restaurants.csv" and "restaurants.bmp".
Bitmaps should be 24x24 or smaller. Magenta is transparent by default.