GARMIN GPS
Custom POI Alerts & TourGuides
Dave@Brillharts.com

Adding Custom POIs [Points of Interest] to your GPS is relatively easy. Adding alerts to those Custom POIs is also very easy. This note will explain how to do that.

The process can be intimidating your first time through. So I'll break it to you in stages. But having gone through this guide once, it'll make sense and be very easy the next time. The sections you'll find here include:
Disclaimer: My device is a Garmin Nuvi 350. I believe these instructions are generally applicable to many of the newer Garmin models. The TourGuide section might only apply to those with MP3 capability, however I would hope the non-MP3 models (such as the 260) would work too, but without the MP3 narrative playback. Regardless of your model, you might find this helpful as you work with your device.

There are fundamentally two types of alerts. The kind that warn you that the POI is coming up on the road/route you are on (ignoring POIs that are very close by but on a different road), or the kind that tell you if the POI is nearby (without regard to it being along the road you're currently on). Both are useful, but require different approaches.

For example, say you'd like to know if there is a crater or waterfall within 5 miles of you as you drive on vacation, or  maybe 1/2 mile from a national monument. You'd like your GPS to alert you and you might choose to go check it out. For that, you'd want a non-route alert. On the other hand, you might load in the redlight cameras POIs, or rest stop POIs, for which you only care about them if they are on the same road as you.

Alerts are not needed for destinations that you'll ask your GPS to direct you to, rather they are for alerting you about POIs that you'd like to be reminded about whenever you happen to be near them. There are also alerts for speed, if you'd like to be warned that you are going to fast near a particular POI (eg: a notorious speed trap, school zone or pot hole in the road).

ORGANIZING YOUR POIs
Before we talk about alerts, let's discuss how to create and organize your POIs. That's very easy. You simply need the GPS (latitude and longitude) coordinates and a description.

There are various communities on the net where you can get free files loaded with interesting POI collections. These are refined and validated and generally very accurate. Register for a free account at http://www.poi-factory.com. From there you can download any of hundreds of free files. There are 61 craters in the US, and over 13,000 FM radio station towers. I've grabbed the following collections that cover the entire US.
National Monuments, Caves, Craters, Geysers, Lighthouses, Rapids, Trails, Waterfalls,  Rest Areas, and Radio Stations.
You can also grab your "favorites" that you've "saved" using your GPS. Just plug in the USB cable and grab the "current.gpx" file. You can open this in an editor or browser and view the GPS coordinates and other info.
You can also open up a mapping program like the free (and incredible) Google Earth program and determine precise GPS coordinates for anywhere on the Earth. Say for your favorite fishing hole, or athletic practice field, or buried treasure. Here is the precise location of the center of the Oval Office, thanks to Google Earth. Note that I'm viewing the coordinates in "decimal" form, rather than the default "degree, minute, second" format.


However you collect them, you'll want to create a CVS (comma separated) file of the related POIs in the following format:
-82.34856,29.64992,UF Florida Field
-81.32381,28.57703,Favorite Fishing Hole,Light-colored worms
-81.19467,28.54175,School Zone@20,Discovery Middle School
The key here is that the LONGITUDE goes first (generally a negative number in the US), followed by the LATITUDE, then a Name, and finally an optional description.

You can do this in Excel, and save as a CSV file.

Name the file:
your_filename.csv
That's all there is to creating the file! Now, when you load it into your GPS, you'll be able to select from your Custom POIs, just like the other 6 million or so built-in POIs. Here is a sequence to select from one of the waterfalls in the waterfall file from http://www.poi-factory.com:



LOADING CSV FILES INTO YOUR GPS
You'll want to download the free tool called "POI Loader" from Garmin.
http://www8.garmin.com/products/poiloader/
Running this, you'll be able point it to your USB attached GPS and the directory in which you've stored all your POI files. I suggest you keep all of (and only) your POIs (CSV and GPX files) in a single directory. Everytime I reload any custom POI file, I use POI Loader to first remove all my custom POIs from my GPS, and then re-run it and reload my complete set. It only takes a few extra seconds and ensures I have a clean set. You can use Express mode, or if you want to not load all of the files, you can use the Manual mode and bypass some files.



SETTING UP SIMPLE ALERTS
Now that you have a collection of CSV files that you can create, update and load using tools as simple as Google Earth, Excel (or a text editor) and POI Loader, lets assign some alerts to some of these POI.

With the alerts, you'll be automatically notified when you're approaching any of the POIs for which an alert is set.

There are five ways to do alerting, based on your requirements.

1. Add a keyword (eg: redlight or speed) to the CSV filename.
2. Use the "manual" mode in POI Loader to specify proximity or speed.
3. Add @## to the end of select POI names for speed alerts for each POI
4. Convert to a GPX file and adjust proximity and/or speed setpoint for each POI

5. Use the advanced TourGuide technique.

We'll cover the first of these techniques (the easiest) in this section. And then proceed to explain the other techniques.

Let's say you have two CSV files. One is a list of all 6,800 Starbucks (starbucks.csv) cafes in the United States. The other is a list of School Zones with strict 20mph speed enforcement (s_zones.csv) in your home town.

In order to be alerted 1/4 mile (about 1300 feet) in advance of a Starbucks that is on the road you are on, just add the keyword "redlight" to the filename. That's it! This is a keyword linked to "redlight enforcement cameras". which results in a 1/4 mile proximity alert for all the POIs in the file. The alert will beep once, and the visual alert on the screen will remain on until you pass the POI (the Starbucks cafe or list of potholes, or whatever you want to be alerted to).
starbucks_redlight.csv
Now, let's say you are also concerned about speed. You want to be warned to slow down if you are exceeding a set speed. Just add the keyword "speed_20" to the filename. This will result in both a proximity alert with a 36 second warning (regardless of your speed), as well as a speed alert if you are exceeding the speed setpoint. Note that you can't have a speed only alert (which is too bad). And you can only have a 36 second proximity alert associated with a speed alert. This means your proximity alert varies with speed (to provide a 36 second advance warning).
s_zones_speed_20.csv
In both cases, no changes to the file content is needed. Just change the filename. Be careful with alerts. They are cool and helpful. But if they occur too frequently you'll get frustrated and disable them altogether.

ADDING ICONS AND SOUNDS
Now that you have setup basic filename based alerts, let's add a custom icon and a custom audio clip to replace the "beep" alert.

The 24x24 pixel "bmp" images can be homemade, or downloaded from a free library of icons from:
http://www.poi-factory.com/gps-icons
The MP3 file can also be homemade, or you can generate a decent compute generated voice recording of a phrase by typing in your message in this free tool (TTS = text to speech). For example, I typed in the phrase "Rest Stop Approaching in a quarter mile." I saved the WAV file to my system, and then converted it to an MP3. I use Goldwave, but there are several programs out there that can do this conversion easily. One free approach is to burn a CD with the WAV files, and then "rip" those tracks to MP3 using Microsoft Media Player.
http://www.research.att.com/~ttsweb/tts/demo.php
It is easier than it might sound. Bottom line, just drop a BMP file and an MP3 file into the same directory as the CSV file, with the identical name, as shown below. Then the POI Loader will associate those files.

The only problem is that the MP3 audio clip overrides the proximity tone and the speed tone for Speed Alerts.  That's probably okay... just use a phrase like "Slowdown, speed zone ahead". It'll tell you once with 36 seconds advance warning. And will only say it again if you are exceeding the speed. But, you can't have one sound for the proximity alert and another for the excessive speed alert.

MANUAL MODE ALERTS
You now know how to set up alerts and custom icons and audio clips. Pretty cool. But what if you need something other than a 1/4 mile advance warning for "redlight" files? Or, what if you have a s_zone_speed_20.csv file and you'd like to change the speed to 25 quickly without changing the filename?

Just use the POI Loader and change from Express Mode to Manual Mode. This mode allows you to adjust the proximity range or the speed setpoint. The Manual Mode setting overrides the filename setting.

You can't adjust both the proximity distance AND the speed setpoint at the same time for a given file. The speed alert will still give you a fixed 36 second advance warning.

POI SPEED SETTINGS
Whew... now you're cooking with gas. But there is more. Say your speed zones are not all the same speed. Some are 20 mph, some are 25 mph, some are 30 mph, etc.  There is a technique to allow you to vary the setpoint speed for each POI. This setting overrides both the filename and the Manual Mode settings. All you have to do is add "@35" to the end of the POI name, as follows:
-81.23456,28.23456,School Zone1@20,Sunrise Elementary School
-81.12345,28.12345,School Zone2@30,Discovery Middle School
-81.34567,28.34567,School Zone3@35,Timbercreek High
-81.45678,28.45678,School Zone4,Central State University
Let's say the filename is "s_zone_speed_25.csv", and you use POI Loader in Manual Mode and set the speed to 40. In this case, the Zone #4's speed will be 40 (based on the Manual Mode setting), and the others will be set to the @ value in the file (since that trumps all).

GPX FILES
This is where we move into advanced topics. There are two options here. First, let's say you would like to specify proximity distance for each POI in your file, rather than apply the same distance to all? Or, you'd like more or less than 36 seconds of advance warning for a speed alert? If so, you need to use the GPX format rather than the CSV format. These are essentially XML tagged files that appear much more complicated.

You can edit these files manually using a text editor, or you can grab a great GPX editor here:
http://geepeeex.googlepages.com/
You can easily and freely convert a CSV file to a GPX file using the following converter:
http://cbrom.myby.co.uk/3.html?submenu=2
Here is one waypoint in a GPX file, which has both a Speed and Proximity setting.

What this means is that this is a SPEED alert (which, remember, also has an associated proximity alert) goes off with only 11 seconds of warning (do the math, or let GeePeeX do it for you). It is not really a true 500 foot proximity alert, unless you happen to be going exactly 30 mph. By setting the proximity distance AND a speed setpoint, you really are just modifing the advance warning time. If you were going 60mph, you'd get a 1000 foot advance warning (still 11 seconds).

If you have a Proximity setting but no Speed setpoint, then it does become a true proximity alert that can be different for each POI in the file.


TOURGUIDE FILES - THE ULTIMATE ALERTS
If you've made it this far, you're doing GREAT. And you're in for a treat.

All the previous examples only trigger an alert if the POI is on the road you are on. But, what if you'd like to know if you're, say, 600 feet (or 5 miles, or 20 miles) from a point of interest, as-the-crow-flys, regardless of it being on the same road as you. A favorite fishing spot, a rare POI like a great waterfall or impact crater, or buried treasure. Say you're walking along a "tour" and want to know when to stop and observe.

Think about a map with a circle drawn around the location. If you get within that circle, you'll trigger the alert.

It gets better... you can also attach a JPG image and a long MP3 narrative to play when you get within the radius of the POI.

Let's take an example. Say you take the Geysers.csv collection from www.poi-factory.com.  There are 116 of them in the US. And you're really into them. You convert the CSV file to a GPX file (because TourGuides only work in the GPX format). And you edit the file to insert a proximity of 3200 meters (about 2 miles) for each entry (there has got to be a better way to do that than manually editing 100+ XML sections).

Here is Old Faithful at coordinates: -122.60139,38.59722. You can enter that in Google Earth (just reverse the order of Lat/Lon) and check it out. The red circle is the 2 mile radius. If you get anywhere inside the circle, the alert will tell you you are near a Geyser.



So, let's create a TourGuide Alert with a single waypoint for Old Faithful. Doing this for 100 waypoints is just a simple extrapolation of this example.

STEP #1. Create a TourGuide directory called TourGuide_Geysers. You might call it Freedom Trail, or whatever you're doing that requires non-route proximity alerts.

STEP #2. Create the GPX file that includes all the waypoints with the appropriate proximity distances in meters. For a walking tour, 0.15 miles (about 250 meters) is about right. For driving and being alerted to a rare but interesting POI, you might consider 10-20 miles (16000 to 32000 meters). This GPX file has some special characteristics. Note the LINK line, which is the key to this file, as it associates each POI in the GPX file to a special sub-directory into which the MP3 and JPG files are placed.

STEP #3. Name the GPX file to include the special key word (case-sensitive) "TourGuide":
geysers_TourGuide.gpx
STEP #4. Create the directory (or multiple directories in the case of more than one POI) specified in the LINK line.
LinkName1 (in this case)
STEP #5. Place a single JPG image (320x240 is optimal for my Garmin 350 unit, but larger is okay and will scale). And a single MP3 file, and if desired a single BMP icon file, in this directory. Create the MP3 by recording yourself, or use the TTS utility I mentioned earlier.

STEP #6. Load this GPX file into your GPS using the POI Loader program.

That's it! Now, when you drive or walk or fly within the radius of the circle circumscribed by the proximity distance, you'll get a visual alert on your GPS device, and the audio will start to play. You can stop the audio (and restart it) using a little button icon on screen. And you can click on the alert bar and see more info (the comment and description fields), and be able to view the JPG image in full screen mode.

Actually, I'm not sure about the flying part. Since "elevation" is in the file, I wonder if this is a sphere, rather than a circle?

Be careful with these as well. Don't go overboard and don't set the distance too large for POIs that are not rare. Because  the alert will remain active on your screen until you leave the circle. That could be days if you are on vacation in the area of the POI type. And you can't dismiss the alert (which is a bug, I think). And you can't delete the POI from the unit without connecting to your system (unless you choose to delete ALL custom and favorite POIs).

There is a S/W package that claims to help develop TourGuides. I have not tried it, but you might find it helpful:
http://travelbygps.com/software.php#GPStourAuthoring
I hope this has been useful to you. I'm new to my Garmin 350 device. Writing this guide has helped me understand how it works. And how I can make better use of the Custom features and flexibility.

Let me know if you have suggestions and/or corrections for this guide. You can e-mail me at:

Dave@Brillharts.com

"Enjoying the Journey, Anticipating the Destination"