Applied mineral exploration methods, hydrothermal fluids, baro-acoustic decrepitation, CO2 rich fluids
Newest Topics:
For the latest news, see the NEWEST TOPICS page.

Google is too dumb to let me put the list of news in this column and falsely claims that all my pages are self-duplicates.


Google's so-called "Artificial Intelligence" is an abuse of the concept of intelligence!

Displaying GPS tracks as maps on the web

There are now many brands of GPS tracking device which allow collection of routes for incorporation into maps.

Although there are some websites that allow upload of these GPS tracks, there are problems with the different data formats used by different devices and also file size limits imposed by some websites. Some of the tracking devices make unnecessarily large data files which aggravates the problems.

The problems in using this tracker data are:

These are the procedures I use to resolve these problems.

Transfer of the data to a computer

Many trackers use a USB connection to a computer to transfer the data off of the (small) memory in the tracker. These tend to use a virtual serial transfer over the USB connection and a device driver is required to implement this. Holux trackers and many others use this method. But drivers are not available for all operating systems and Linux and Android systems cannot be used easily, if at all with these trackers. I use the Columbus V990 tracker because it logs to a micro memory card, which can be removed and easily connected to any computer, including android tablets. This avoids the requirement for special device drivers for the tracker and computer system in use.

Data format conversion

Many trackers save the data as a CSV or text-like file which can be read by spreadsheet programs. But this format is not suitable for direct use to display a map of the route. Software to convert the data format often comes with the tracker. But conversion can also be done with web sites, such as . Or the conversion can be done with simple perl scripts such as this contributed file at which converts a columbus CSV file to a gpx format file. These conversions do not try to minimize the size of the data file by removing unnecessary line segments. Other common map format files are kml (google maps, google earth) or kmz (compressed kml, also used by google maps and google earth).

Reducing the data file size

Most trackers record positions at regular time or distance intervals, which can be inefficient. We really only need position information when the route changes direction. It is not too hard to process the tracker data file and eliminate unnecessary straight line points. This is discussed here where the perl script I wrote to do this is available. This perl script also converts the CSV input format to a gpx output file while eliminating unnecessary data points. It assumes the CSV format provided by the Columbus tracker in standard mode, but you can easily change the script to match the format of other trackers. The optimized gpx file can then be considerably reduced in size by converting it to a kmz file, which can be done online at . (or with gpsbabel software)

The reason the data file size is important is not just for speed of display on a website, but because some websites, such as google "my maps" have a very small file size limit of about 50 Kbyte. Even using the gpsvisualizer website can be a problem if you try to upload a file larger than about 1 Mbyte. To avoid this, upload the gpx file for conversion to a web location and then provide the URL of the file instead of using the file upload feature. (This problem may be because of a slow internet connection and no fault of the gpsvisualizer website.)

Display of the route on a website

You now have an optimized route file in compressed kmz format. But it is still likely to be some 300Kbyte or more in size, and many map display websites will not allow upload of route files this big. You can however display such files using the mappingsupport website. You do need to upload your route kmz file to a web location to use this website. Read the FAQ on the website for details, but you simply add the URL of your kmz file to the mappingsupport precursor. This will then display your kmz file in a user interactive (pan, and zoom capable) map with a background you can choose, such as roads or terrain etc.

An example is the route map of my cycle tour in NZ 2013. This was 2400 Km long and collected some 500,000 GPS coordinates, about 10 Mbyte of CSV data. This would typically result in a gpx file of about 50 Mbyte. But after optimization and KMZ compression this route file is just 300 Kbyte.


Now you have a user interactive display of your route on the web

Many thanks to
Joseph Elfelt for his excellent website which solves the major problem of effective display of large-ish route files.

And thanks also to
Adam Schneider for the great file conversion capabilities at