Some of the tools I use or have used for planning my trips.


Vital information for any paddling river trip.

Some states in Australia provide free current and historical data for many of the rivers. Data from the other states does not seem to be freely available. The Murray Darling Basin Authority also provides historical data for many locations in the basin. The Bureau of Meteorology (BoM) also provides current river flow and flood watch data.

Once you have the data, I like to get the monthly quartiles to see how the river usually behaves. In Australia we have just had two decades of reduced rainfall and it is a trend that seems to be staying around. As such the recent data appears to be more meaningful than the older pre-2000 data. I tend to just use Excel and a box and whisker plot (or just box plot) provides a great way to visualise the data. I usually use the 95% percentile rather than including the flood events that obscure the data.

If dates of previous trips are known, you can correlate the flows and the paddlers account, allowing you to estimate what could be low, good or high flows.

Aerial Images

Less of a tool and more of a resource to get up to date and historical images.

The first main use is to find the actual river path as it crosses the landscape. This allows for more accurate distance estimates (see below) as well as possible shortcuts.

You can also look at various lake levels at various times, allowing you to estimate the lake lengths. For example, Lake Hume is approximately 50 km paddle if full and you paddle it in a straight line, or a 85 km paddle along the old riverbed if it is nearly empty.

For rivers with erratic flows, historical images can show the extents of the floodplains when coupled with the river gauge data. This can allow you to determine what channel is best to take in what flow.

These are also a way to assess possible camping locations in relation to the location of homesteads or other features that are best avoided if you have to find somewhere to covertly camp.

The final other main usage I get is to locate possible dangers. These can be weirs, levies, strainers (downed large trees). and potentially mining or industrial sites that could have access issues.



I used a variety of methods to calculate distances in the past. The first was a simple length of string. Before starting, I would use the map scale and a pen to mark distances along the length of the string. Then you simply overlay this along the path of the river on an actual physical map. Simple and fairly accurate but you require physical copies of the maps.

The next method I used was with the Google Maps measurement tool as well as the Distance - Find My Distance app by myice92. (Google Play / App Store). You simply trace the river and keep track of the distance.

Eventually I found the excellent open source QGIS project. You can use a variety of image sources and trace the various vector layers, exporting these in a variety of formats for your GPS unit or for embedding the information online in interactive maps. QChainage plugin provides an excellent way to generate mile markers automatically too.

Google / Bing / OpenStreet Maps can be both your friend and your worst enemy. Many tracks, roads and other trails have been entered in from various maps and satellite imagery. These can be cross-referenced with topological data and accurate distances, elevation gains / losses and even rough times can be pulled out of the data. Heck you may even get a bird’s eye view of things. However, many of the more obscure and or remote roads / tracks may not even exist. If in any doubt cross reference with two or more other sources.

Finally, real distances on smaller rivers & creeks are likely greater than suggested in any official maps, as seen in the animated GIF showing the differences in the Australian National Topological Map and the actual aerial photographs. This is from the Condamine River, between Kilarney and Warwick. The actual distance was nearly 50% longer than the drawn river's length!

As of May 2022, the procedure for calculating lengths and working out the km markers or chainage is as follows:

Step 1: Set up a QGIS project for your locality.
For the MDB, this is a project that uses a CRS (Coordinate Reference System) of GDA94 (EPSG:4283) and I set the Measurements to metres. If doing something in just a small area, say the rivers of SE Queensland, I could use GDA94 MGA Zone 56 (EPSG:4283), but the MDB runs over both MGA Zones 53, 54 and maybe 55.
Step 2: Obtain the river track.
First port of call is to check OpenStreetMaps and to import this into QGIS if it is available and reasonably accurate. I use the plugin QuickOSM that uses the Overpass API to query and download the OSM data. This is as simple as zooming into the area that contains the river and to query "waterways" from the current "canvas extent". Select the lines that form the river and paste these into a new layer and join these together.
Step 3: Clean Up.

It would probably be best to actually contribute to the OSM project directly, but time constraints usually mean I work locally. This simply means ensuring the OSM line follows the satellite images. Of those available from the QuickMapServices, Bing and Google seem to be the most accurately projected, but ESRI seems to have the best quality images. Using all three in conjunction helps to determine the real path of the ephemeral rivers. Using a drawing tablet is recommended to avoid RSI.

NSW also has a web interface for their data services, both the NSW Base Map and Aerial Images. I connect the WMS/WMTS Layers into QGIS too. These are:

  • NSW Base Map:
  • NSW Imagery:

The Federal government also has a useful data source especially as you leave NSW.

  • National Base Map:

If required, I drew parts of the river manually.

I run the Simplify plugin at 0.00002 degrees, which is ~2m, to help clean the final track. This produces no visible change but usually reduces the length by a few percentage points.

Step 4: Length.
This is a fairly trivial step. Create a new field on the track layer and calculate the length using $length / 1000 for the length in kilometres.
Step Five: Chainage.

For this I use the QGIS plugin QChainage, but there is a trick to get accurate distances.

Firstly project the track into a WGS84 geographic CRS and run QChainage on that. This is due to a limitation in the plugin as it only handles flat or cartesian CRS. Convert these points back into an ellipsoidal project such as GDA94 and you will have fairly accurate chainage markers.

I usually make labels using a "name" field. Edit the QChainage layer and add a new integer "name" field and update it with this equation similar to this:

cngmeters / 1000

Step 5: Making Maps.

This is still experimental, but I've generated a series of GeoTiff maps and I'll see how these perform in the field on my next big trip. This one has a number of steps that I'll briefly cover below.

Decide if you want the satellite or topo maps, what layers you want to show and export.

There are obviously heaps that you can do with the maps before you generate these. I have left a thin track of the river along with the QGIS chainage overlayed on top of the base map. With limited time, I didn't do too much more, but I did also overlay the maps with the known weirs / locks that I already had access to the geo files, and I imported major populated centres from OSM plus some homesteads.

For the distances, I created conditional "Rules based labelling" to only show every fifth label. My files store the distance in the name field so this was done using the following conditional equation:

name % 5 = 0

For the placenames I converted any polygons to centroids, (I am unsure if I needed too), hid the symbol and centred labels to show the place names.

For the Weirs and ferries, I used custom SVG icons.

And the steps to actually create the GeoTiff maps:

Step 5A: Create Outlines

This step is a bit hacky. I export the "Map to an Image", then import it back into QGIS as a raster layer using the Freehand raster georeferencer. I simply use the "Add rectangle from Extent" tool to trace the edges of the raster and the the "Copy and Move" tool to replicate the outlines. I've to play with using the right projection again as this method creates slightly differing sized polygons which should be easy enough to avoid.

Step 5B: Create Centroids

Use the Geometry tools to find the centre locations of each polygon outline.

Step 5C: Create the Maps

This is basically exporting the "Map to an Image". The tricky part is getting the print coordinates, and this is where the centroids are helpful. Zoom in and centre the map around the centroid. Then zoom back out to the desired zoom level using the zoom settings on the footer toolbar. This ensures that the map stays centred. Hide the centroids layer unless you want a centre dot to show.

Now using the "Map to an Image" export set the dimensions that you want to export. The zoom should be automatically set, I leave the resolution at 96 dpi, and create A1 sized exports. These are 9933 px by 7016 px at 96 dpi.

Step 5D: Compress / World Files

I haven't managed to set the export preferences directly, so the exports of this size are fairly large, about 300 MB each. So I compress these using the command line tools that come with the OSGeo package that QGIS uses.


Where SRC and DEST are the file paths for the original GeoTiff (SRC) and the compressed version (DEST). These are georeferenced, but the TFW option creates a World file that can be used to georeference a TIFF again if you lose the geographical information that is stored in the TIFF if you edit it in an image editor like Photoshop. From memory, the command to reassociate the World file is:

gdal_translate -of GTiff SRC DEST