Parsa Posted September 18, 2006 Posted September 18, 2006 When GPX files transfer waypoint icon information they do it as an icon name code. Is there a list or table of symbols for how various GPS units display these icon names. I want to pick names for a GPX file that won't give funny looking symbols on different receivers. My Magellan eXplorist seems to have 42 standard symbols (plus geocaching symbols), and these bare no resemblance to the Garmin symbols. When looking at GPX files others have made, I get really funky looking stuff on my screen. The only list I've seen is for some older Garmin models, and this lists code numbers: http://home.online.no/~sigurdhu/12MAP_symbols.htm What are the standard accepted name codes for gpx? (Another relevant thread at TopoGraphix: http://forums.topografix.com/index.php?showtopic=295 ) Quote
robertlipe Posted September 18, 2006 Posted September 18, 2006 The GPX spec doesn't recommend values for the sym tag. Yes, this makes providing portable GPX files a huge pain. GPSBabel solves this by having big tables with aliases accepted for input. That way if you have one that has either "home" or "residence" and you're sending it to a Garmin, for example, it gets mapped to the same numeric value. The Garmin icon table that GPSBabel uses is at: http://www.gpsbabel.org/htmldoc-1.3.0/GarminIcons.html I've been meaning to provide similar tables for Lowrance and Magellan, but just haven't gotten around to it. They're in the source code if you're interested. Quote
Parsa Posted September 19, 2006 Author Posted September 19, 2006 The GPX spec doesn't recommend values for the sym tag. Yes, this makes providing portable GPX files a huge pain. GPSBabel solves this by having big tables with aliases accepted for input. That way if you have one that has either "home" or "residence" and you're sending it to a Garmin, for example, it gets mapped to the same numeric value. The Garmin icon table that GPSBabel uses is at: http://www.gpsbabel.org/htmldoc-1.3.0/GarminIcons.html I've been meaning to provide similar tables for Lowrance and Magellan, but just haven't gotten around to it. They're in the source code if you're interested. Thanks, that's interesting. Is this the set for Magellan? ___________________________________________ static icon_mapping_t map330_icon_table[] = { { "a", "crossed square" }, { "b", "box" }, { "c", "house" }, { "d", "aerial" }, { "e", "airport" }, { "f", "amusement park" }, { "g", "ATM" }, { "g", "Bank" }, { "h", "auto repair" }, { "i", "boating" }, { "j", "camping" }, { "k", "exit ramp" }, { "l", "first aid" }, { "m", "nav aid" }, { "n", "buoy" }, { "o", "fuel" }, { "p", "garden" }, { "q", "golf" }, { "r", "hotel" }, { "s", "hunting/fishing" }, { "t", "large city" }, { "u", "lighthouse" }, { "v", "major city" }, { "w", "marina" }, { "x", "medium city" }, { "y", "museum" }, { "z", "obstruction" }, { "aa", "park" }, { "ab", "resort" }, { "ac", "restaurant" }, { "ad", "rock" }, { "ae", "scuba" }, { "af", "RV service" }, { "ag", "shooting" }, { "ah", "sight seeing" }, { "ai", "small city" }, { "aj", "sounding" }, { "ak", "sports arena" }, { "al", "tourist info" }, { "am", "truck service" }, { "an", "winery" }, { "ao", "wreck" }, { "ap", "zoo" }, { "ah", "Virtual cache"}, /* Binos: because you "see" them. */ { "ak", "Micro-Cache" }, /* Looks like a film canister. */ { "an", "Multi-Cache"}, /* Winery: grapes 'coz they "bunch" */ { "s", "Unknown Cache"}, /* 'Suprise' cache: use a target. */ { "ac", "Event Cache"}, /* Event caches. May be food. */ { NULL, NULL } }; __________________________________________________________ I seem to remember those last symbols for caches before I started using the geocache feature and its special icons. How do the letters work in all this? Magellan seems kind of icon-poor compared to Garmin. Quote
robertlipe Posted September 19, 2006 Posted September 19, 2006 Thanks, that's interesting. Is this the set for Magellan? For 330, STMap, Meridian, and explorist families, yes.Magellan seems kind of icon-poor compared to Garmin.I know of no Garmin that actually supports all of the ones in the table I cited and - perhaps worse - it's totally hit-and-miss as to what icons are supported by any given product/firmware version combination. So "Geocache found" may or may not be supported on any given Garmin. So it's not quite the blowout that the raw tables would imply, but the average 200[56] era Garmin does support more icons than the average Magellan of similar vintage. Quote
Parsa Posted September 20, 2006 Author Posted September 20, 2006 (edited) I created a file with a waypoint for each eXplorist symbol. I named and noted each with the name of the symbol. I then converted the "upt" file into a GPX file using GPSBabel. I looked at it in Terrabrowser, which uses Garmin symbols, and not one icon transfered. All were the default "zero" icon which is an ANCHOR. This may not of course be what a Garmin would do, since some of the fault may lie in the set used by TerraBrowser, and that it seems to be case specific. Granted, many of the eXplorist icons are stupid choices. For some reason there are many more icons on the detailed maps than there are available to the user. I suggest the following mapping for the main Magellan icons to Garmin: crossed square <--> Waypoint box <--> Green Square (or Waypoint) house <--> House aerial <--> Ultralight Area or Airport or Glider Area airport <--> Airport amusement park <--> Amusement Park ATM <--> Bank auto repair <--> Car Repair boating <--> Boat Ramp camping <--> Campground exit ramp <--> Exit first aid <--> Medical Facility nav aid <--> Navaid, Green/Red bouy <--> White buoy (or Navaid, Green or Navaid, White, or Green Diamond) fuel <--> Gas Station garden <--> perhaps a Red Circle? golf <--> Golf Course hotel <--> Hotel hunting/fishing <--> Fishing Area large city <--> City (Large) lighthouse <--> light major city <--> City (Capitol) marina <--> Marina medium city <--> City (Medium) museum <--> Museum obstruction <--> Danger Area or Skull and Crossbones park <--> Park resort <--> Lodging or Ski Resort (or some generic symbol) restaurant <--> Restaurant rock <--> Reef scuba <--> Diver Down Flag 1 RV service <--> RV Park shooting <--> Hunting Area sight seeing <--> Scenic Area small city <--> City (Small) or Small City sounding <--> Bottom Conditions or Elevation Point sports arena <--> Stadium tourist info <--> Information (although Magellan maps seem to use this for any tourist site) truck service <--> Wrecker or Truck Stop winery <--> Green Circle?? wreck <--> Shipwreck zoo <--> Zoo Some of the more common Garmin symbols could be made to map as appropriate Magellan ones such as: Bell ----> museum (because that's the museum symbol... a bell) Beacon ----> lighthouse That way you won't always get the default crossed square. Some comments on the eXplorist symbols in case somebody from Magellan may ever read this (fat chance): <stepping up on soap box> With only 42 symbols, you want ones that will be used commonly by the most people. I have problems with some of the obscure symbols: sounding: Unless you work for NOAA or something, who's going to be doing soundings much? They tend to be on charts, or people are going to have the equipment to give depth anyway. This seems pretty obscure even for the average boater. buoy: the buoy should not be green. That's too specific since green has a definite meaning. It should be white preferably in order to be generic. A red buoy labeled as green would be confusing. Most buoys don't move around unless they were ripped out by Katrina or something. They should be on charts anyway. lighthouse - that's silly. Lights are pretty much all automatic now. It should be "light" or "major light" (and "minor light" if you have a second). auto repair and truck service and RV service - I really don't think you need three. An RV will know they want RV service, and a trucker will know they want truck service. Just have one symbol. rock - "worst symbol ever". What kind of rock is that? winery - really... how many areas are going to need this? France, California, maybe a few other places. It's a big waste. hunting/fishing - this is one where there should probably really be two symbols. It would be better to have hunting/shooting. aerial - no offense to balloonists, but this is a waste too. ATM and bank - just have one! </stepping off soap box> Edited September 21, 2006 by Parsa Quote
norman-ramsey Posted January 19, 2007 Posted January 19, 2007 The GPX spec doesn't recommend values for the sym tag. Yes, this makes providing portable GPX files a huge pain. Yes. Bad, bad GPX spec. I was very disappointed. GPSBabel understands a great many sym values. Is there some easy way to discover which ones are supported by my combination of hardware and firmware? Might there be a good central place to keep such information? A thread on this forum perhaps? Quote
robertlipe Posted January 19, 2007 Posted January 19, 2007 Well, the GPX guys understood how icky this problem is and they did the only sane thing - run away! Of course, this leaves it up to the software guys to figure out how insane they want to get when trying to solve this. (It wasn't until GPSBabel's adolescent years that it tried to solve this problem at all...) GPSBabel knows a gazillion symbols and I try to keep it alive. Just this week I added about two dozen that were just discovered in the beta of Mapsource that hatched earlier this week. If you really want the table, they're in the appendix at http://www.gpsbabel.org/htmldoc-development/GarminIcons.html - I've meant to make similar appendices for the other formats but honestly they're less turbulent. Of course, since GPSBabel is open source, I do point the truly curious right to the source. I've leaned on Garmin pretty hard for tables or, better yet, a way for programs to interrogate/negotiate icon and related capabilities. I don't see it happening. Mapsource itself just sprays icons to the unit in the hope that they'll stick and living with the default if they don't. Icons come (and sometimes go!) from version to version. I figure if the manufacturer itself doesn't solve that problem, a table of 100 units time who-knows-how-many firmware versions just isn't a problem I want to tackle. If you'd like to do it, go nuts. :-) I don't recall seeing Parsa's post above when it came out. I should mention that GPSBabel does have many of those very aliases on the Garmin side. It will map "Small city" to "City (Small)" on the way to a Garmin. That's the reason "ATM" and "Bank" both appear above - it's a (rare) example of one of those mappings on the Magellan side of the house. Quote
norman-ramsey Posted January 19, 2007 Posted January 19, 2007 (edited) I was wondering if it might be possible to apply Ken Thompson's dictum: when in doubt, use brute force. Suppose I use GPSBabel's internal table to generate a .gpx file containing every <sym> field known. Then I attempt to load it into my eTrex. Then I ask the eTrex to send me its list of waypoints. It looks as if the Garmin doco says the device will change any code it doesn't understand to a generic dot symbol. Thus, it might be possible to write a program to: - back up all waypoints to set B - delete all waypoints - add test waypoints - get test waypoints back from device - compute the set of symbols the device understands - delete all waypoints - restore waypoints from set B It's to do stuff like this that I wish GPSBabel were scriptable in Lua :-) Edited January 19, 2007 by norman-ramsey Quote
robertlipe Posted January 19, 2007 Posted January 19, 2007 Another UNIX philosophy is to connect reusable tiny tools and reuse existing little languages. inum=0 while [ $inum -lt 100 ]; do echo "<gpx><wpt lat=\"0\" lon=\"0\"><name>JUNK</name><sym>$inum</sym></wpt></gpx>" | gpsbabel -i gpx -f - -o garmin -F usb: gpsbabel -i garmin -f usb: -o gpx -F got.$inum let inum++ done From there, it's a mere matter of text processing. Here are the first ten on whatever model I happen to have attached: got.0: <sym>City (Small)</sym> got.1: <sym>Bell</sym> got.2: <sym>City (Small)</sym> got.3: <sym>City (Small)</sym> got.4: <sym>Diver Down Flag 1</sym> got.5: <sym>Diver Down Flag 2</sym> got.6: <sym>Bank</sym> got.7: <sym>Fishing Area</sym> got.8: <sym>Gas Station</sym> got.9: <sym>Horn</sym> ...so all you have to do is to have one of every receiver and iterate through all the firmware versions to answer your original request. After all, it's a mere matter of brute force. :-) If you get back a number instead of words, that means I need to add that icon to GPSBabel's internal table that correlates numbers to words. Quote
norman-ramsey Posted January 20, 2007 Posted January 20, 2007 (edited) Another UNIX philosophy is to connect reusable tiny tools and reuse existing little languages. Sweet! The key thing you knew that I didn't was that you can put a number in the sym field. Rock n' roll! so all you have to do is to have one of every receiver and iterate through all the firmware versions Not hardly. All I have to do is finish the shell script, then everybody can know for his or her own receiver. Which is the point after all :-) Edited January 20, 2007 by norman-ramsey Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.