Design a site like this with
Get started

KOContour Help


Thank you for your interest in my contour display program. Please let me know if anything is unclear, or things do not work as expected.


KOContour reads in elevation data files from your computer and displays them as contour maps. A typical data file would look like this:

type latitude   longitude   altitude (ft)  name         desc
T   53.231479474 -6.299506408 1672.9         Stillorgan   Ireland
T   53.231479474 -6.299119017 1678.8
T   53.231479474 -6.298731626 1687.9
T   53.231479474 -6.298344235 1698.1
T   53.231479474 -6.297956845 1704.0
T   53.231479474 -6.297569454 1708.2
T   53.231479474 -6.297182063 1709.2

The example above assumes tab separated columns, which I would recommend so that your description field can then use commas. In the sections below I’ve created some screenshots showing how the main features work, and annotated them using my legendary creative skills for drawing wobbly red arrows. Think of me as being like Banksy, but with virtually no artistic talent.

Creating the Input Data Files

If you have access to a data source, and the technical wherewithal to do so, you can create your own file in the format above. I give mine the extension .tsv to distinguish them from ordinary text files, but that’s up to you. The easiest way to make data files is to use the “Generate GPX file” button to create a GPX track file, and then feed that into Download the result file, rename it as <Placename>.txt or .tsv where <Placename> is replaced by the place you chose, then copy the file from Downloads to your data folder – I created a subfolder, named ContourMaps, under my Pictures folder to hold my map data, screen snapshots, and GPX files. This process looks a little complex at first, but you only need to do it once per new map area, and it is pretty simple when you’ve done it a few times. Let’s run through an example.

“Are you crazy? Just let me download a data file!”

Sigh. OK, here’s a link to download Maui.tsv, which is a tab-separated data file for Maui. As always, do virus scan just as you would for any file you download.

Example: Create data for Maui

To generate a GPX grid for Maui, go to your favourite regular map source, e.g. Google Maps, and enter Maui into the search box. Copy the coordinates of the centre of the area of interest – with Google maps right-click on the chosen spot and left-click on the coordinates which pop up, which will put them in the Copy/Paste buffer. In this example it will be something like 20.800841499225772, -156.32722033846065 . Then click on the GPX button, and the following dialog will appear.

Click on the field labelled Paste lat,lon here and paste the coordinates you just copied. This will fill the Latitude and Longitude fields. You can also fill in those fields individually if you prefer – they will stay in sync (that was fiddly to program, along with the validation, but you don’t care. At least take a moment to appreciate it). Then fill in the other fields until they all indicate that they are valid, with a green border. The grid generated will be a 500×300 (lon x lat) grid, regardless of the extent you choose. When the Generate GPX File button becomes enabled, click on it and save it via the file save picker, as Maui.gpx for example.

Then go to;, and add the file you create above using the control marked 1 in red above, and set the Add DEM elevation data: to best available source with the control marked 2 in red below.

Click the green Convert button, marked 3, and wait for the file to finish processing. There will be a download link when it is done, so click on that and then open the Downloads folder.

Rename the file to something like Maui.tsv, and copy or move it to your preferred folder under the Pictures folder. You are now ready to load the data into KOContour.

Loading the Input Data Files

Click the highlighted button which will show a standard file picker that lets you select one of the input files you created in the section above. A contour map of Maui will be generated from the data you created and should look similar to the picture below.

When you load a data file it gets added to the Show Favourites list dialog list, and you can double-click on entries there to load the data again. The entries are sorted with the most recently loaded at the top of the list. Superimposed on the map you can see the zoom and pan controls, along with the height scale to the left and the distance scale in the lower right.

Adding and Editing Places

Click the highlighted button to show the Add or Edit a Place dialog. This lets you enter a place name, description, coordinates and elevation of a new place, and add that to the list of places in the Show Places list dialog. If you double-click on a place in that list, it will also invoke the Add or Edit a Place dialog where you can add or modify an entry. If the place does not have elevation data (you’ll see the elevation listed as empty or -1000000 for such cases) and it is in the currently loaded map data, then the elevation field will be highlighted in purple, and a suggested value filled in. Click the Update Place/Add Place button to save the data or Cancel to exit without making a change.

Bring up the dialog and let’s add Lahaina.

Use Google maps as described above to get the coordinates for Maui, and paste them into the dialog, and add the other details.

Lahaina will pop up on the map and be highlighted, as shown.

Try it with another place, such as Waikapu. Leave the elevation unset, and save the new place. Go on to the next section and look up Waikapu in the places list dialog.

Showing the Places List

Click the highlighted button to show the Show Places list dialog. The places are maintained in alphabetical order. If you double-click on an entry, it will launch the Add or Edit a Place dialog so that you can modify the entry. If the place does not have elevation data (you’ll see the elevation listed as -1000000 for such cases) and it is in the currently loaded map data, then the elevation field will be highlighted in purple, and a suggested value filled in. Click the Update Place/Add Place button to save the data or Cancel to exit without making a change.

Try looking for Waikapu, if you added it as described. You can jump to the W section by pressing the W key on the keyboard. Double click on Waikapu, and if you left the default elevation (-1000000 means undefined), it will suggest an elevation based on the closest contour line and highlight as shown below.

Click Update Place to modify the entry to have the suggested elevation, which will then show up on the map under the place name.

Finding the Elevation

To find the elevation of a point, click on the map at the desired location. A marker will appear as shown above, giving the elevation, along with the latitude and longitude. To get rid of it, click again in the centre of the crosshair.

Distances and Compass Bearing

To find the distance between two points, hold the Ctrl key and click on the map at the first location. A marker will appear showing the first point. Keep holding the Ctrl key and click the second point. A line will be drawn between the points, showing the distance and compass bearing. To get rid of the measurement tool, click again in the centre of either crosshair.

Showing the Favourites List

Click the highlighted button to show the Show Favourites list dialog. The favourite data files list is maintained in last access order, with the most recent first. If you double-click on an entry, it will load that data file, if it exists.

If the file no longer exists, you will be asked if you would like to remove it from the list.

Toolbar Option Checkboxes

The Light Theme and Load at startup checkboxes on the toolbar are, respectively, to switch themes to a light background which is sometimes better for printing, and to cause the app to automatically load, at launch, the last successfully loaded data file, if it still exists. These are persisted across launches. The Show places option is not persisted.

Everything else is pretty easy to figure out from the tooltips and prompts, so have fun exploring!

%d bloggers like this: