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!

Using the Columbus V990 (Visiontac) GPS logger

How to use an android tablet to map these routes

This logger records gps locations at 1 second intervals to memory on a micro SD memory card (2 Gbyte max, as it only understands FAT16 filesystems). The data file format is CSV. It also allows voice recording and waypoint marking which are useful for logging sample locations as well as your (bicycle?) route.

The data files can be quite large as a trackpoint is recorded at every  1 second interval. This recording interval cannot be changed.

I have written this script ( in the   AWK  language;  yes I know I should use Perl, but I like awk! ) to eliminate excess points in the raw CSV datafile by looking for points of directional change and eliminating trackpoints which are merely intermediate points on straight line segments.

On a 90 Km, 4 hour test route it reduced the file sizes by a factor of 10, either the CSV or subsequently converted  KMZ, GPX format files.  On this test route there were 14016 trackpoints in the raw logfile and after running the script, there were 1184 trackpoints. This is useful when uploading long routes to many  internet mapsites as they often impose a maximum filesize for upload

The script requires that you have awk (or gawk) installed on your system. All linux systems have this and there are versions for windows, mac.

Run it from the command-line,   SYNTAX:     awk  -f  segments.awk  {your-input-filename}   >   {your-output-filename}

The standard mode raw data format for the Columbus V900 / V990 is:

The script works with standard mode format and should also work with professional mode log format which includes extra variables

The script output is a CSV  of identical format as the input file. Use your own mapping software to import it and convert it to GPX or KMZ etc. The program BT747 understands this format as do the java programs Time-album  and Route-Converter that come with the logger. These programs can convert the CSV to other formats.  Viking is a good mapping program for GPX data files and shows each trackpoint.

Download the file  segments.awk   here (3 KByte)  (Sorry, this shows as text in the browser, copy and paste it to a file)
A perl version which optimizes and also converts the CSV to GPX format is also available and is discussed below.

This image (mapped in the Viking software) shows the trackpoints in the raw logfile as green squares, with a connecting route line. After processing the raw logfile, the black squares are the retained trackpoints, connected by a route line.  The 2 tracks have been offset to allow comparison and it shows the difference in number of points by eliminating excess straight line trackpoints.
Although this example shows a route with due N-S and E-W roads, straight lines of any orientation are simplified.

trackpoints comparison

Using this on an ANDROID tablet

    (An android app to do this is now available here)

While traveling I carry only an android tablet (originally a Flytouch 3, android 2.1, now Amicroe with android 4.1.1, jellybean ) rather than a heavy/cumbersome laptop computer. The usual software tools to deal with Columbus CSV files do not work with android. However, I have been able to resolve this so you can transfer data from the logger, optimize it to a GPX format and use a standard existing android app to show the route. Although my tablet is "rooted", I do not think this is necessary to run any of the software here.

The first part of the problem is to get data from the logger onto the tablet. For most loggers a pseudo-serial connection over USB is used and this is impractical on android as there are no drivers to my knowledge. But with the Columbus logger you simply remove the flash memory card and connect it to your tablet, possibly with the USB-Flash adapter that comes with the logger. (Your tablet merely needs to have a USB socket) Then use any file management app (Blackmoon or Astro etc) to copy the native CSV track-file(s) onto a location on the tablet SDcard.

Now you need to convert the native Columbus format CSV track-file to a usable format and optimize it to remove unnecessary trackpoints. To do this I converted the above AWK optimization script into Perl, because awk has some limitations that make it very difficult to use on android. The new Perl script,, also converts the CSV from the columbus logger into a GPX file which can be read by (some) standard android apps and is widely used on internet map-sites.  It works with the Columbus logger in STANDARD mode. It might also work with Professional mode CSV files, which have more variables at each trackpoint, but this has not been tested and the GPX output will lack the extra variables. This script will also work on any computer with Perl such as Linux, or even windows/mac if you install a perl interpreter.

It is possible to run Perl scripts on android. First you must install the SL4A (Scripting  Layer for Android) application. Then you install the Perl for android application.  Then you must run SL4A and install the Perl capability from its selection list. You need to have a live internet connection for some of these steps as these packages add additional live downloaded files. Now you can add Perl scripts in the   /sdcard/sl4a/scripts   directory.

To run the script, start the SL4A application icon. It will show a list of available scripts, choose the script I have written. (The script name must end in  .pl  for SL4A to recognize it) Select the "terminal" to run it. The script will prompt you for the input filename and output filename. (They are simple command line prompts, not pretty dialog boxes, but work OK) The default location for the input and output files is   /sdcard/sl4a   , so you will need to specify a full pathname if you are using other directories. Upon completion you will have a GPX format file (with your chosen name) of the logger route in directory   /sdcard/sl4a    (unless you specified an alternative location).

The android application  "BackCountry Navigator PRO GPS v4.4.0" can import this GPX trackfile and merge it with roadmaps to show your route! Only a few android apps can import a GPX file in this manner as most assume you have a map on the internet rather than in a local file. This application can also merge maps saved by "mobile atlas" in sqlitedb format, used by Rmaps. I use the android Rmaps application with saved sqlitedb maps to plan my routes and it is very convenient that these offline map databases work in both applications without needing an internet connection.

Or you can upload the GPX file to many internet sites. Some websites can convert the GPX to KMZ or KML formats for you and these formats can be uploaded to your google "My Maps".

An android APP "Simplify Segments" to convert CSV to GPX while eliminating excess data points

In 2016 the above perl script was converted to Java and used to make an android app. This is available here.  (csv2gpx.apk) It runs as "Simplify Segments".
This is my first attempt at an android app and it is not very polished, but works on android 4.1 and higher. I have not tested it widely.

The app reads a CSV file and writes the converted data in GPX format to a new file, removing excess data points. You need to view this in another app such as Backcountry Navigator.

The app asks for the folder and name of the input CSV track file, assuming Columbus format as discussed above. It then asks for the folder name for the output file. It states that the output file will be called "trackout.gpx". If you do not change this, the output file will be the same name as your input file, but with .CSV changed to .GPX   .   If you change the name from trackout.gpx to your own filename, it will save to your entered filename. Note that it never actually saves output to "trackout.gpx". I warned you the app is un-polished!
This app saves only the Latitude, Longitude and elevation of each point. It removes the time, which you need if you contribute routes to Open Streetmaps.

No need to take a monster laptop while you travel. You can use the Columbus logger and an android tablet to work out your route!