Maidenhead Locators

By | July 14, 2014

Locators, or as us Brits call them, Maidenhead locators. Named after a town in Berkshire that isn’t close to the meridian but held a meeting by a bunch of VHF chaps in the early 80’s. In fact the now de facto method for looking something up (Google & Wikipedia) give us:

‘The Maidenhead Locator System is a geographic co-ordinate system used by amateur radio operators. Dr. John Morris, G4ANB, originally devised the system, and a group of VHF managers, meeting in Maidenhead, England in 1980, adopted it. The Maidenhead Locator System replaces the older QRA locator system with one that is usable outside Europe.[1]

Maidenhead locators are also commonly referred to as QTH Locator, grid locators or grid squares, despite having a non-square shape on any non-equirectangular cartographic projection. Use of the terms QTH locator and QRA locator was initially discouraged, as it caused confusion with the older QRA locator system. The only abbreviation recommended to indicate a Maidenhead reference in Morse code and radio teleprinter transmission was “LOC”, as in “LOC KN28LH”’

But more to the point how do you calculate one? Easy if you know Perl (apparently – thanks again Wikipedia)

#!/usr/bin/perl -w
# (c) 2012 Chris Ruvolo.  Licensed under a 2-clause BSD license.
if($#ARGV < 1){
  printf("Usage: $0 <lat> <long>\n");
  exit(1);
}
 
my $lat = $ARGV[0];
my $lon = $ARGV[1];
my $grid = "";
 
$lon = $lon + 180;
$lat = $lat + 90;
 
$grid .= chr(ord('A') + int($lon / 20));
$grid .= chr(ord('A') + int($lat / 10));
$grid .= chr(ord('0') + int(($lon % 20)/2));
$grid .= chr(ord('0') + int(($lat % 10)/1));
$grid .= chr(ord('a') + int(($lon - (int($lon/2)*2)) / (5/60)));
$grid .= chr(ord('a') + int(($lat - (int($lat/1)*1)) / (2.5/60)));
 
print "$grid\n";

But what happens if its all Dutch to you (It is to me)?

Well I put together a simple spread sheet that does the calculation. Its nothing special but deciphering what several different people have put into explanations that include adding your birthday, taking away your dogs maiden name and that kind of thing. Hopefully it’ll help you understand where those numbers come from and how to calculate them. So help yourself and if it doesn’t work then fix it and share it ( I tested it with 3 locators and lats / longs and it seemed to work). I also learnt a few more things about Excel so its all handy.

Here it is then

Leave a Reply