Garmin POI Loader: Difference between revisions

From Wildsong
Jump to navigationJump to search
Brian Wilson (talk | contribs)
Brian Wilson (talk | contribs)
mNo edit summary
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
You can download "POI Loader" from the [http://Garmin.com Garmin] site.
== Overview ==
Then you can create simple CSV text files containing point data, and load them into a Garmin handheld with POI loader.


== Many POI files ==
The scope of this page has been expanded beyond just the POI Loader as a I learn more about the POI format.


I just ran across this page, which discusses having many different POI databases. http://forums.groundspeak.com/GC/index.php?showtopic=140808
You can download "POI Loader" from the [http://Garmin.com Garmin] site.
 
Then you can create simple GPX or CSV text files containing point data, and load them into a Garmin handheld like a [[Garmin ETrex Vista HCX]] or PND like a [[Garmin nuvi 855]] with POI Loader.
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 ==


[http://www.topografix.com/gpx.asp GPX format]
== File formats ==


GPX is an open format for exchanging data between GPS/GIS apps.
[http://developer.garmin.com/schemas/ Garmin's official file format site]
 
== CSV format ==


=== CSV format ===


Here is the format of the file, cribbed from Garmin's docs
Here is the format of the file, cribbed from Garmin's docs
Line 44: Line 28:
</pre>
</pre>


Download POI loader and refer to its internal docs for more information.
I don't use CSV but you can download POI loader and refer to its internal docs for more information.
 
=== GPX format ===
 
GPX is an open format for exchanging data between GPS/GIS apps, not just POIs.
Generic information [http://www.topografix.com/gpx.asp GPX format]
 
GPX POI files
 
Rather than an extensive specification I just show an example of what I use.
Sample POI file in GPX format consists of a header, metadata, POI's, and a closing tag. There is a lot of flexibility in what fields can be used. Look up the official specs. This is what I settled on.
 
Header section, put anything you want for the "creator" attribute
 
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<gpx xmlns="http://www.topografix.com/GPX/1/1" creator="Wildsong" version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd"
 
Metadata section, this tells about the POI file.
Most everything here is optional, just helps keep things organized.
I put the time that the GPX file was generated into the TIME field.
The bounds is a bounding box enclosing all POIs in the list, I just threw that line in there.
 
 
<metadata>
  <name>San Francisco</name>
  <desc>San Francisco Points of Interest</desc>
  <author>
    <name>Brian Wilson</name>
    <link href="http://wildsong.biz/index.php?title=Garmin_POI_loader">
      <text>POI Loader Information</text>
    </link>
  </author>
  <link href="http://wildsong.biz/index.php?title=San_Francisco_POI">
    <text>San Francisco POI download page</text>
  </link>
  <keywords>Cliff House, SF Zoo, SF Botanical Garden,
California Academy of Science,
Transamerica pyramid, Union Square
  <time>2008-07-14T06:37:02Z</time>
  <bounds maxlat="44.0933480" maxlon="-123.0636833" minlat="44.0269667" minlon="-123.1179900"/>
</metadata>
 
Here is a sample poi entry; there can be many.
 
<wpt lat="37.7685" lon="-122.4697">
  <ele>74.0</ele> <!-- elevation in meters, optional -->
  <name>San Francisco Someplace</name>
  <cmt>This short description shows up in the Garmin.</cmt>
  <desc>This long description shows up in the Garmin. Some people put the exact same text in both the cmt and desc fields.</desc>
  <link href="Data/Location3649-3"/>
  <sym>Waypoint</sym>
  <extensions>
    <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3">
      <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
    </gpxx:WaypointExtension>
  </extensions>
</wpt>
 
Closing tag, after the list of POIs you need to close the file with this.
 
</gpx>
 
What can I use for the sym tag???
 
* Waypoint
* Flag, Blue
 
What can I use for the gpxx:DisplayMode tag?
 
* SymbolAndName
 
=== GPI format ===
 
You can convert the GPX/CSV files into GPI format and upload them to the GPSr in one step with Garmin's POI Loader, or you can use gpsbabel to convert the POIs to a GPI file and then just work with that file. (Copy it to device either via SD card or via mass storage mode.)
 
== Using 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 the trick is to rename the generic poi file on the device so that when you upload a new one via POI Loader it does not overwrite existing points.
 
# 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 file.
 
Top level folder is /Garmin/Poi, and you can use subdirectories too...
 


== Custom bit maps ==
== Custom bit maps ==
Line 52: Line 125:
Bitmaps should be 24x24 or smaller.
Bitmaps should be 24x24 or smaller.
Magenta is transparent by default.
Magenta is transparent by default.
== Software Tools ==
GeePeeEx editor http://geepeeex.googlepages.com/
[[Category:GPS]][[Category:Garmin]]

Latest revision as of 16:13, 11 February 2013

Overview

The scope of this page has been expanded beyond just the POI Loader as a I learn more about the POI format.

You can download "POI Loader" from the Garmin site. Then you can create simple GPX or CSV text files containing point data, and load them into a Garmin handheld like a Garmin ETrex Vista HCX or PND like a Garmin nuvi 855 with POI Loader.

File formats

Garmin's official file format site

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"

I don't use CSV but you can download POI loader and refer to its internal docs for more information.

GPX format

GPX is an open format for exchanging data between GPS/GIS apps, not just POIs. Generic information GPX format

GPX POI files

Rather than an extensive specification I just show an example of what I use. Sample POI file in GPX format consists of a header, metadata, POI's, and a closing tag. There is a lot of flexibility in what fields can be used. Look up the official specs. This is what I settled on.

Header section, put anything you want for the "creator" attribute

<?xml version="1.0" encoding="UTF-8" standalone="no" ?> <gpx xmlns="http://www.topografix.com/GPX/1/1" creator="Wildsong" version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd"

Metadata section, this tells about the POI file. Most everything here is optional, just helps keep things organized. I put the time that the GPX file was generated into the TIME field. The bounds is a bounding box enclosing all POIs in the list, I just threw that line in there.


<metadata>
 <name>San Francisco</name>
 <desc>San Francisco Points of Interest</desc>
 <author>
   <name>Brian Wilson</name>
   <link href="http://wildsong.biz/index.php?title=Garmin_POI_loader">
     <text>POI Loader Information</text>
   </link>
 </author>
 <link href="http://wildsong.biz/index.php?title=San_Francisco_POI">
   <text>San Francisco POI download page</text>
 </link>
 <keywords>Cliff House, SF Zoo, SF Botanical Garden,
California Academy of Science,
Transamerica pyramid, Union Square
 
 <bounds maxlat="44.0933480" maxlon="-123.0636833" minlat="44.0269667" minlon="-123.1179900"/>

</metadata>

Here is a sample poi entry; there can be many.

<wpt lat="37.7685" lon="-122.4697">
  <ele>74.0</ele> 
  <name>San Francisco Someplace</name>
  <cmt>This short description shows up in the Garmin.</cmt>
  <desc>This long description shows up in the Garmin. Some people put the exact same text in both the cmt and desc fields.</desc>
  <link href="Data/Location3649-3"/>
  <sym>Waypoint</sym>
  <extensions>
    <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3">
      <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
    </gpxx:WaypointExtension>
  </extensions>
</wpt>

Closing tag, after the list of POIs you need to close the file with this.

</gpx>

What can I use for the sym tag???

  • Waypoint
  • Flag, Blue

What can I use for the gpxx:DisplayMode tag?

  • SymbolAndName

GPI format

You can convert the GPX/CSV files into GPI format and upload them to the GPSr in one step with Garmin's POI Loader, or you can use gpsbabel to convert the POIs to a GPI file and then just work with that file. (Copy it to device either via SD card or via mass storage mode.)

Using 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 the trick is to rename the generic poi file on the device so that when you upload a new one via POI Loader it does not overwrite existing points.

  1. Create GPX file from point shapefile ("places.shp" => "places.gpx")
  2. Feed "places.gpx" to POI Loader, which generates "poi.gpi"
  3. 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 file.

Top level folder is /Garmin/Poi, and you can use subdirectories too...


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.

Software Tools

GeePeeEx editor http://geepeeex.googlepages.com/