Azimuthal Projections Info

Example azimuthal map
Azimuthal projection from ARRL headquarters

This all started when I was interested in calculating the distance and bearing between amateur radio stations. I found this reference on calculating the great circle distance and bearing. Ultimately, this interest led to a web form for producing azimuthal maps.

For those who never heard of an azimuthal map, it is a special kind of map that prioritizes correctly showing the great circle distance and bearing from the center reference point. Azimuthal maps are particularly useful for ham radio operators with a directional antenna. For example, if you’re in Connecticut and you want to talk with someone in Cameroon (Africa), the azimuthal map will tell you to point your antenna to a bearing of 90° on a compass (technically you also must adjust for the difference between magnetic north and true north).

It occurred to me that this the bearing and distance calculation was the fundamental tool for making an azimuthal projection. All I needed was a database of land and political boundaries expressed in latitude/longitude pairs.

The azimuthal project is always made from a particular reference point on the globe, and I can convert the points in the  land and political boundary database into bearing and distance using the great circle calculations. This gives me a collection of points in polar coordinates (r, Θ) which is what I need for the azimuthal projection.

For the land and political boundary information, I used the database from the CIA World Databank II; however, it required some massaging. First it was too detailed, and I had to filter the data to an appropriate resolution. Next, I wanted land masses and water bodies to be represented by closed paths. The CIA World Databank II is a collection of unconnected paths, so I had to write a program to patch them together and reorder the points to be clockwise. Having closed paths of points ordered in clockwise orders is necessary to have water and land colored differently. Lastly, I had to identify which closed paths represent land and which represent water. Unfortunately, this work is incomplete. You’ll notice some lakes that aren’t colored blue.

Initially, my Ruby program was generating raw PostScript. However, I recognized that it would be easier for people to use if it generated a PDF.  Rather than using a Postscript to PDF convertor, I changed to generating PDFs directly using the Ruby PDF::Writer. By using PostScript or PDF, I get vector graphic output that is scalable from small to very large sizes without having to make a huge raster graphic files.  There is a limit to the resolution of the continent & political outline data, so at very large sizes, the outlines may not appear smooth.

Ultimately, I used the great circle distance formula from Wikipedia. According the article, it’s accurate for both long and short distances.

The hardest part of the whole project was getting the water blue. There are still some maps where the program gets it wrong, and you’ll see weird coloring. Things tend to go wrong when the reference point is inside a particular small region of land or water. In these cases, the floating  point accuracy seems to cause the colors approach to fail.

My plans for future improvements include:

  • add small tables of bearing & distance for important world cities around the margins
  • add US and world cities to the map (particularly for area map)
  • adjusting political boundaries and labels to be more accurate
  • adding more views to allow people to report lakes that aren’t colored correctly

472 thoughts on “Azimuthal Projections Info”

  1. Hi Tom, great site. For VHF Ham, it would be interesting to print the small squares of the two digits as 36 of JN36 to assist in the orientation of the antennas!
    Thanks Jean Paul f5AYE

  2. This is a great program, I’m map crazy and I use it all the time for all kinds of stuff. For instance I was just wanting to see if a failed Proton rocket launch from Baikonur could have gone down in china. Be nice if you could package this up (.deb) and sell it for a few bucks.

  3. Good job Tom,
    For us ham nerds with computers having a significant presence in our stations, I would like to have the map be a background on my desktop. Available in a flash if I want it and then back to business … er… hamming.


  4. Excellent work, useful product, and very benevolent of you! I was a programmer (retired) and appreciate the work you had to to to put this out there for consumption. Thanks much!
    73 de N4LAG, Andy, Asheville, NC.

  5. I would appreciate an extended map with an additional radius for the shaft of the pointer. My remote control of the rotor has a shaft of 8mm diameter. This hole cuts out almost all of Europe on a 12cm diameter map.
    I am sure that the algorithm for 5mm starting radius is not the ultimate trouble for you.

  6. Thanks for the map tool!

    I am using a locator of CM87VM.

    I find that when I turn off the background blue color, there is still a small blue area somewhere in Asia.



  7. Hello,

    Nice… Some remarks: The Netherlands and The United Kingdom names are written over eachother. Maybe there are others too. Also some coors in the country would be nice. 🙂

    Other than that: Great feature !!!

    Kind regards,

    Henk de PH5HP

  8. Great Job in creating this map. I do have a request. I know that you created the map and we are able to print it. I know you deserve credit. But, what I ask is that it is not front and center and not right on top of center. Could you put your Map is created by the Courtesy of Tom (N6ST) in the bottom right corner? As a matter of fact add all the header information as well. That way it’s a nice clean look. Kind of the way that Architectural plans are created. I make a calendar every year and I do it exactly the same way as I am requesting.

    But GREAT JOB!!!


    David, aa6rv

  9. just found this on a post in facebook. very nice idea for a tool! im getting a server error however so cant comment on the product. ive tried in both firefox and chrome and ge the same error: 500 server error A misconfiguration on the server caused a hiccup. Check the server logs, fix the problem, then try again.

  10. Hello,

    A great tool, Thanks! Is it possible to add Amateur Radio Prefixes automatically to the map?


    1. I am working on a new program that has a variety of improvements including Amateur Radio Prefixes. I am not sure when it will be completed. Currently, I am working on scoring the 2014 California QSO Party.


  11. Could this be set up to print 4 QSL cards on an 8.5×11 inch sheet of paper with each map centered on the card recipient’s QTH? It would make a most useful and memorable QSL card.

  12. Thanks for a beautiful Azimuthal map from UA3SMM and RK3SWB! It will be very usefull for us.

  13. Darxus, thanks for your suggestion about extending my map to produce an “equal area azimuthal projection”? Reading the wikipedia article, it says that it focuses on getting equal area, but it doesn’t get accurate angles. Accurate angles are crucial for an azimuthal map for ham radio because it is meant to show what direction to point your antenna. Thanks for the suggestion, but unless I’ve misunderstood the point of the map, I won’t be following up on this.

    1. Oof, I’m sorry it took me three years to notice your reply.

      Yes, I believe you misunderstood, because that article is worded poorly. I believe when the azimuthal equal-area projection article says “it does not accurately represent angles”, it is referring to something also true of the equal distance projections you’re currently using: Angles between any two non-central points on the globe are not easy to determine from these maps.

      But if you look at any of the example azimuthal equal-area maps, I think it’ll be clear that the angle from the *center* of the map (the direction to point your antenna), which is all that matters, is always accurate.

  14. Dear Tom,
    I am a Geographer, Cartographer and also a Radio Amateur Operator (IZØCLX and YV5MX).
    All I can say is that I take my hat off and give you a standing ovation for your excellent program and contribution to the Ham community. Fantastic you also give several paper size options.
    My sincere appreciation.
    Best regards,
    Sergio De Agostini

  15. Tom, the azimuthal equal area projection still preserves the right angles between meridians and parallels if centered on the North or South pole. However, neither the equidistant nor equal area projections preserve *all* angles. The equal area one does distort them more than the equidistant. What you are thinking of, the azimuthal conformal projection, is more commonly called the stereographic projection. I suppose you don’t want to use it, however, because distances from the center point do get exaggerated further from the center in this projection (although not nearly as badly as in the Gnomonic projection….). You can play with the stereographic on this page:

    There is also a panoramic street view version of Google Maps that uses the stereographic projection, where mouse wheeling zooms:,.696,-.691,-.131&z=.926&mz=17&p=23.95701,-100.01620

    Think those little planets look really weird? Well, the rectilinear projection, which keeps straight lines in 3D straight, dramatically distortes areas, angles, and distances, and has at most below a 180 degree view (the gnomonic projection is the equivalent from a sphere). The stereographic and azimuthal equidistant (fisheye-type stuff) are more realistic views.
    The stereographic projection still can’t fit all 360 degrees in a finite view (most conformal maps can not), and it distorts areas more than the azimuthal equidistant.

    That being said, you have done a lot of hard work on this site and the resulting images are sufficient for classroom world maps and can give overall better representations than Mercators and other cylindrical projections. Why fit the surface of a spheroid into a rectangle?!? hahahahah I came to check this out because the azimuthal equidistant is my favorite projection. Thank you for all the discipline.

    NOTES: I would like to have an option to get rid of the radial lines from the center of the projection (of course, they indicate which distances are correct). I prefer the latitude and longitude lines and having both types gets pretty cluttered.

    Also, some country and especially city labels are very small, leaving a bunch of white space. If you are thinking of adding land mass colors and topography or more city labels, this makes more sense. Thank you again.

  16. I admit, those bearings around the circumference are one of the main purposes for this map, I apologize, although I may rather have latitude and longitude labeled. I didn’t pick the center for the sake of radio work but for representing all major land masses reasonably.

  17. Putting up rotor and hexbeam here. The azimuthal map porgram with compass bearings worked fine. thanks,

  18. Thank you very much for your time and effort in creating this tool. This has been very, very helpful to me.

    One question I have regarding how to interpret the map, after it is created: when I look at the degrees (let’s use Zero, as an example), would I then point my antenna directly North from my location…for instance the street in front of my house runs North-South, so for a heading of Zero degrees I would point my antenna parallel to the street, or do I need to compute where “magnetic north” is relative to my home? Still new to this type of map, so I apologize if this is a basic question.

    Thank you again for the time and effort you put into this project.

    1. The bearings on the map are true — not adjusted for magnetic north. In your example, you would point your antenna parallel to the north south road assuming it’s pointing to true north.

      If you were setting up a field station with a compass, you would find magnetic north and then apply the magnetic declanation to find true north. The true north direction would correspond to 0 degrees on one of my maps.

  19. Seeing the server error below when trying to center a 5000km map on Idaho Falls, ID:

    500 Server Error

    A misconfiguration on the server caused a hiccup. Check the server logs, fix the problem, then try again.

  20. Tom, Excellent tool. Thanks very much. Had been looking for one of these for a long time.
    John, N9NA

  21. Very nice tool, but … please check and rename cities in Lithuania and check borders with Russia. The names are 100 years old 🙂 And Lithuania IS NOT in Russia any more 🙂

    Thank you 🙂

  22. Visiting Phnom Penh, Cambodia and will be working the WWDX contest, but cannot get a great circle map for this area. Just wanted to let you know so that the problem can be addressed.

  23. Your website generates far and away the best looking and highest quality azimuth maps I’ve been able to find. I’d like to use one for a background image for a PC/arduino antenna rotor controller I’m working on building, but I may end up publishing a write-up on the project, so I wanted to make sure I had proper permission to use the image. I’m not planning any commercial use/application at all, though it may appear on a webpage for remote control of the station by other operators.

    If you are ok with me using one of your maps, the grid overlay has caused some graphical issues and has proven difficult to remove in photoshop. Is there any chance you would be able to generate one from the backend without the grid overlay?

    Thanks for providing a great resource! You’d be amazed how many hams have no idea what an azimuth map is, and also have no idea that Europe is *not* due east of New York!

  24. Partly same observation as “Kestutis” made earlier;
    Some of the east-european borders are missing!
    I couldn’t produce them in any zoom level or setting, so I guess the actual data is missing.

    Thanks for the awesome tool!

  25. sorry this has never ever worked for me..have tried all of this as per:
    My location at Feb 21, 2016 10:26:55 is:

    Latitude: 45.68195034
    Longitude: -62.7043655

    (45:40.91702, -62:42.26193)
    (45:40:55.02122, -62:42:15.7158)
    (UTM: 20 T 523,022.5e 5,058,753.6n)

    Click one of hyperlinks below or insert the hyperlink URL into your browser’s address bar to see my location on a map:

    Google Maps:,-62.7043655&z=15

    Bing Maps:,-62.7043655

    Sent From my Android By Polaris Navigation

    The data in the form contained errors in the following fields:
    [“LOCATION \nLocation must be either a Maidenhead grid square (e.g., IO91um),\na latitude, longitude, or the name of a prominent city. Latitude/longitude \ncan be specified by a pair of signed floating point numbers separated by a\ncomma (e.g., 51.504, -0.268), or as space separated integers indicating\ndegrees, minutes, and seconds (e.g., 51 30 0N, 0 20 0W). In the third \nform, you can leave out the seconds or minutes (e.g., 51N, 0 20W or\n51 30N, 0 20W). The absolute value of the latitude must be less than \nor equal to 90, and the absolute value of longitude must be less than\nor equal to 180. The database of city names is far from complete. For \nUS cities try city comma state, and for international cities try the city\nname by itself.\n”]
    Please try again.

    yes did try all of the above…many times from many computers…all win 10 and xp..but never did get any results only the please try again..

    am closest to the major Canadian City of Halifax, Nova Scotia, Canada, eh! so please help me..thanks

  26. Great job, is there anyway to get the map to print on a larger size paper like 30″x40″



  27. Hi,

    the old style paper OSCARlocator maps from ARRL are $1 per copy, which is reasonable, but postage, especially outside of the US is expensive. And only one size is available. The online map generator doesn’t seem to like 90 degrees north as the center of the map. Would you be interested in making a digitized version? I’d thought about, if the resolution was high enough, of putting a large copy on a wall. Thanks, Ron VE8RT

  28. Is there a way to “turn off” the bearing ring numbers and associated radials. I am very pleased with the ability to select the center point (example: 57N 40W with a 3200 mile radius) and to turn on the red lines of Lat. & Lon. I desire to print this generated map as a .pdf showing an excellent example for a “great circle” route across the North Atlantic.
    Thanks, WB6UMJ

  29. Hi

    I like your map generator and have a question about copyright, just to be on the safe side of things.

    We are going to have a large scout camp in sweden next summer and I am responsible for the amateur radio tent there. I want to generate a series of your maps all centered on the camp with different scale to print and put up on the tent. Is that ok with you? If yes, is that also ok with you on future similar events (large and small)?

    /Johan Bengtsson, SA7AKG

Leave a Reply

Your email address will not be published. Required fields are marked *