[GIS] Dual-unit scale bar using QGIS

print-composerqgisscale bar

I would like to create a scale bar for a map displaying a coral atoll. Ideally, showing two different measurements with kilometers being on the top division and nautical miles on the bottom division of the scale bar.

I paused to think whether this is logical and decided that it may fit nicely because I am displaying a raised atoll with surrounding reef sites for monitoring purposes. Therefore, it may be important as areas of interest are within a water body and for say navigational purposes such as a skipper wanting to know the nautical miles to each site rather than kilometers (I know she/he could convert them by head).

Is this at all possible in QGIS? I have read that it can be done in ArcGIS http://support.esri.com/technical-article/000011784

Open to your views and suggestions.

What I am trying to achieve:

what I am trying to achieve

Best Answer

I think there's a few steps involved and you may need three scalebars (instead of the two in my previous comment).


  1. Create your first scalebar showing kilometers:

    kilometers scalebar


  1. Create your second scalebar showing nautical miles:

    Nautical miles scalebar


  1. Select the nautical mile scalebar and copy/paste it below (Ctrl+C, Ctrl+V will do, thanks to @Oto Kaláb for this very useful tip!):

    Copied scalebar


  1. Modify the original nautical scalebar and set its Font colour to match the background colour:

    Item Properties > Fonts and colours > Font colour
    

  1. Then modify the copied scalebar and set its Font colour to black and its Line colour to transparent:

    Item Properties > Fonts and colours > Font colour
                                        > Line colour
    

    Colour settings


  1. Align both nautical scalebars so that the numbers are below the ticks. Then select both these nautical scalebars and group them:

    Group items


  1. Select the kilometer scalebar and raise it (this is needed for the next step):

    Raise


  1. Select and align the grouped nautical scalebars over the kilometer scalebar so that the line overlaps. The raise setting avoids little artifacts such as white gaps from showing. You can change the X and Y positions for the grouped nautical scalebars from the Position and size properties to align it perfectly:

    Item Properties > Position and size
    

  1. Finally, select the grouped nautical scalebars and the kilometer scalebar and group these. Now, hopefully, you should have a dual-unit scalebar:

    Result