Just a Tech Guy


I’ve put it off long enough and it is time for me to shake the laziness and finally find a ‘round TUIT’. I will now go into more depth about GeoCaching.

GeoCaching is a modern day ‘Treasure Hunt’ system run by the very people that do the hunting. What I mean is, anyone can search and anyone can hide these little ‘treasures’ assuming you follow the few basic rules and own a GPS system. This is great fun for people and families of all age ranges and is virtually free entertainment minus the initial purchase of a GPS system and gas money.

Coordinates and locations to these locations can be found at GeoCaching.com. To give you an idea of size of this WORLDWIDE phenomenon and what it holds for those interested I’ve mapped out about 600+ within 25-30 miles of my home alone, most of which are in Raleigh but are also in the surrounding towns and cities. As of now I’ve only located 11 but finding time to do it seems to be the biggest challenge.

Most of the ones I’ve found so far are small (Micro) Caches only containing log books/rolls. BYOP (Bring your own Pen/Pencil) types of caches. There have been several with containers containing odds and ends including marbles/stamps/toys/etc. The key to this ‘Treasure Hunt’ is that if you take something with you, leave something of equal or greater value behind for someone else. There are GeoCoins and GeoBugs which are have a little more specific agendas but the aforementioned rule is the general basic.

So while learning the process of downloading the cache locations to my GPS I noticed that the default icon is wiped and a generic (?) stood as the icon. My OCD kicked in and I had to once again fix it. The .gpx files that I was using as the medium to transfer the files to my Magellan are merely XML files and that made it a lot easier to fix the issue. I spent some time searching through the texts and found the common threads of two keys that seem to reference the icon used. I then wrote a Powershell script to read the file and change all of the (?) references to the (Traditional Cache) references and viola! OCD appeased, all is good. Basically if the first part of this paragraph made no sense here’s the skinny: On your GPS there is an icon that shows the location of a cache. The export from the website for some reason only gave it a generic symbol (a question mark)~(?). This means something else so I wanted to fix all of them so they had the little shoebox symbol as they were supposed to. Instead of looking into the (code, if you will) and changing the same line twice for every cache loaded (i.e. 1200 lines to change for the 600 I snagged) I wrote a script to change all of the references to (?) to the (shoebox). (i.e. I changed all the “A’s” to “B’’s” and “C’s” to “D’s”) No not literally!

If that confused you then skip it and continue, its not important. If you did understand it and have the same issues then the script I wrote is posted below. In all reality you only need to do this if you don’t have a membership and are forced to use the .loc files to build your own GPX files. It’s almost worth the membership in order to get all of that info in the original GPX files.

This sport can be addictive but you must find a balance or you’ll drive yourself nuts!

I realize now that I jumped around the subject and rambled almost incoherently so if you have any other questions, feel free to post them or ask.

And now… for your moment of Zen:




The code below is to replace all ‘Other’ references to ‘Traditional Cache’ in GPX files.

$fileIn = “C:\GPS\export.gpx”
$fileOut = “C:\GPS\fixed_export.gpx”
$defaultType1 = “<type>Geocache\|Other</type>”
$tradType1 = “<type>Geocache|Traditional Cache</type>”
$defaultType2 = “<groundspeak:type>Other</groundspeak:type>”
$tradType2 = “<groundspeak:type>Traditional Cache</groundspeak:type>”

(Get-Content $fileIn) | ForEach-Object {$_ -replace $defaultType1, $tradType1} | Set-Content $fileIn
(Get-Content $fileIn) | ForEach-Object {$_ -replace $defaultType2, $tradType2} | Set-Content $fileOut


– Jason

Leave comment

Your email address will not be published. Required fields are marked with *.