In the first post of this series, I compared the features of custom POIs (Points Of Interest) and waypoints for a Garmin handheld GPS unit (like my 60Cx). This post will show how to create a POI datafile that can be uploaded into a Garmin GPSr.
Each POI can have up to four different sets of data:
- Longitude (required): Decimal format, negative for West, positive for East
- Latitude (required): Decimal format, negative for South, positive for North
- Name (optional): Text, 1 to 2 lines, typically 20-25 characters per line (theoretical maximum of 48 per line)
- Description (optional): Text, 1-4 lines, typically 20-25 characters per line (theoretical maximum of 48 per line)
3/6/2010: The newer Colorado/Oregon/Dakota GPS units can store and display more data; see this Oregon Wiki page for more information.
Some websites state that the maximum name length is 44 characters in total, and the maximum description length is 88 characters. That’s not really correct; the Garmin GPS unit will display characters until they fill up a display line of text, and then wrap them around to the next line if they exceed it. Different characters take up different widths on the display, and so the number of characters that will fit on a single line will depend on the total width of the set of characters.
For example, you can fit 48 of the letter “i”, the thinnest small letter on a Garmin, onto a single display line of text in a POI data screen. For the widest small letter, “w”, only 16 of those will fit on a single. For capital letters, the corresponding numbers are 29 “I”s on a single line, but only 18 “W”s. Here’s a POI display for a dataset where the “Description” data has one set of 48 “i”s in a row, one set of 16 “w”s in a row, and then two sets of 17 “w”s in a row.
If a single line of text exceeds the total display length, it will wrap the remaining characters over to the next display line by themselves. If there is no available “next display line”, the additional text characters will be truncated on the GPS display. In the above example, the second set of “w”s is too long to fit on the line, so the final “w” wraps over to the next line; since there’s a maximum of 4 lines of “Description” text, the final set of 17 “w”s doesn’t show up.
The Garmin POILoader software, currently the only way to directly upload POIs to compatible Garmin units, can accept POI data in two different formats, each with advantages and disadvantages.
CSV (Comma-Separated Values):
This the best format for POI data, since you can create and manipulate it a number of ways:
- A plain text editor (like Notepad), or word processor (for the latter, be sure to save it in plain text format)
- A dedicated CSV editor, like the freeware program CSVed
- A spreadsheet program like Excel or OpenOffice’s Calc
The format for a line of data is Longitude, Latitude, Name, Description, as in this example:
-110,35,Test of CSV file,Here is an example of a data line in a POI CSV file that you can load into a Garmin GPS unit and display associated with a name and position
The above is one continuous line of text, with no carriage return or linefeeds, and no quotes around the text. Loaded into a GPS, the data screen looks like this:
Notice that the description text fills a line to the maximum possible length, and then wraps over to the next line. Also, text that won’t fit onto the four available lines is truncated.
If you want to force breaks in the data so that it will display in a new line, you can do that by enclosing the text (either the Name or Description or both) in quotes, and then separating each desired block of text with a carriage return. If I modify the data above to look like this (<CR> means a carriage return, or Enter):
-110,35,”Test of a<CR>
CSV file with breaks”,”Here is an example<CR>
of a data line<CR>
in a POI CSV file<CR>
that you can load into<CR>
a Garmin GPS unit<CR>
and display associated with a name and position”
Now the POI display looks like this:
There are now two lines of Name data, because I inserted a carriage return after “a”, and the first four lines of text of Description data, with each line defined by a carriage return; the extra lines are truncated. If a single line broken by a carriage return doesn’t fit into a single line on the display, it’s wrapped over to the next line.
If you create or edit the CSV file in a text editor, it’s easy to add carriage returns to the text. In Excel, you can also add carriage returns to a text cell with Alt-Enter. But CSVed doesn’t support embedded carriage returns in a CSV cell, and OpenOffice’s Calc doesn’t seem to have a way to enter a carriage return directly into a text spreadsheet cell, either. I’ll cover a simple way to get around this limitation using OpenOffice’s “Write” program in an upcoming post.
Once you’ve created the CSV file, use Garmin’s POILoader to upload it into your GPS:
Select the folder that contains the CSV POI file you want to upload (it must have the .csv file extension to be recognized. The standard default POI file currently on your Garmin GPS will be erased by this process, but there are ways around this that I’ll cover in an upcoming post. The other options (“units … for distance and speed” and “Express vs. Manual”) are for setting proximity alarms and speed alarms, the latter for auto speed traps; I won’t deal with those now (the help file has more info).
If there are multiple CSV POI files in that folder, all of them will be uploaded at the same time and combined into a single POI file on the GPS unit. You can access a list of the closest POIs, and browse through the list by name, by using your unit’s “Find” command, and selecting “Custom Points Of Interest” from the menu screen. Uploading the sample point above, and then displaying it on the map screen:
The default POI icon is a plain dot; I’ll cover creating custom POI icons in another post.
The Garmin POILoader can also upload GPX waypoint files as POIs, but data creation, manipulation and display options are limited with that format. First off, most GPX editing programs (like EasyGPS and GPS Trackmaker) limit the length of the name to 14 characters, and the description data to 30 characters, well below what you can do with a CSV file; they also don’t support embedded carriage returns in the name or description. If you create a GPX waypoint file with Garmin’s MapSource program (aka Trip and Waypoint Manager), it lets you exceed those limits and does support embedded carriage returns in the Description (labeled “Comment” in the Waypoint Properties window). But creating POIs manually one at a time with MapSource will get tiresome quickly.
If you have a GPX file, and don’t want or need to add additional data to it, that’s fine. But if you want to edit it to take advantage of the extra room for data that POIs give you, you can convert it to a CSV file using the free program GPXtoPOI:
Just select the GPX file you want to convert, specify the output file name and location, and click Convert to create a CSV file in the proper POI format; you can then edit that CSV file to add additional information and formatting. This program will also take a CSV POI file and convert it to the GPX format, which is handy if you want to convert POIs to GPS waypoints.But if your CSV POI file has embedded carriage returns in either the Name or Description fields, and/or the length of the Name or Description data exceeds the limits for a waypoint, you will probably lose some Name/Description data in the conversion process.
You can also convert KML point files into Garmin-POI-compatible CSV format using the KML CSV Converter.
Next: Creating custom icons for a POI, and managing multiple sets of POI data.