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 lead 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 much 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
Share on Facebook

97 Responses to “Azimuthal Projections Info”

  1. Ray Brown says:

    The azimuth mapper works just fine on my IPhone but I get a connection problem notice when I try to produce a map after filling in data on my PC. Windows XP. Your site fits the bill for custom sizing and concentric circles. Thanks-Ray-Seattle

  2. NS6T says:

    I am glad to hear it works on an iPhone. I’ve never tried it on any mobile devices. Your problems making maps from a Windows XP PC are a mystery to me. Generating maps takes quite a while, so your PC browser might be timing out before the map starts sending.

  3. Great program!
    It works great on my laptop running 64 bit Window 7 and prints great on an old HP plotter.
    Thank you!
    Mike M / K1MJM

  4. Perrin says:

    Excellent!

    Works GREAT in IE browser, but would not open the map in Firefox 7. (This is not an issue for me, the actual map the page creates is fantastic – I just wanted to let you know)!

    Thanks!!!

    Perrin VK3XPT

  5. Keith G says:

    This is great. I used it for maps centered on Los Angeles and Tokyo. Extremely helpful. THANKS!

  6. Joe says:

    I would like to make an azimuthal map for my location in Memphis, but have not figured out where to start doing it on your website. I see information on how you proceeded to create it, but do not see where to begin.

  7. Fernando says:

    congratulations for the excellent and useful program.
    Thank you!
    Fernando PY2NL

  8. Johan says:

    This is a great map resource! Very nice! Thank you. If there is anything that could be added it would be to be able to display callcodes (countrycodes) along woth country names. As a beginning ham I would find that very usefull.

    /johan

  9. Valdemir says:

    Great program!
    Congratulations!

    Valdemir PY6BC

  10. Mike says:

    Steve,

    Thanks for your efforts, I’ve printed wall sized versions of your maps that I use in VHF contests from the Sierra Foothills. My only request would be to have the option of outlining 4 character grid squares instead of the current 2 character ones.

  11. Victor Marinov says:

    Hello Tom!

    I use on-line azimuthal map tool. It works perfect!

    Some of my suggestions:
    - include option to place ham radio prefixes instead of country names
    - draw the border lines between former Yugoslav republics – Croatia, Slovenia, BiH, Montenegro, Kosovo
    - the same situation – ex-USSR : Ukraine, Moldova, Russia etc

    Best regards!
    73! Victor / LZ1NY

  12. NS6T says:

    Do you know of any online sources for the borders of former Yugoslav republics and ex-USSR?

    Tnx!
    Tom NS6T

  13. Tony Smith says:

    Thanks for making this terrific resource available. Looks like it was a huge effort. Having only 8.5×11 printing capability, I could wish for a way to print it out in quadrants that could be taped together.

    regards, Tony Smith

  14. Alex VE2AMT says:

    It works very well.

    It would be great to see the call sign prefixes for each country.

    73, Al VE2AMT

  15. NS6T says:

    If you have a Kinkos nearby, they can print it at larger sizes.

  16. NS6T says:

    Yes, call sign prefixes would be good. It’s on my to do list.

  17. f5len says:

    Hi Tom,
    great cartographic work. I try several level of detail (radius) and I would be very interesting to know how you can place the name of city without conflict. IE overlays between two place names wich are very close to each other . Sorry for my english. hi.

  18. NS6T says:

    Thanks! It sounds like you’re encouraging me to find a better name placement algorithm, but I am not positive. The approach I used was to consider each name as a rectangle and then avoid placing two rectangles on top of each other. It’s a conservative approach, but it’s relatively quick.

  19. f5len says:

    >It sounds like you’re encouraging me to find a better name placement algorithm
    No! You found a very good way for placement! I’m using GMT for mapping and it’s always a big problem with “pstext” to do placement without overlays. Gongrats!
    73 Pascal

  20. Jose says:

    Good job. This is a great map, very practic
    Lw6dml Jose

  21. John Wiley says:

    This is GREAT!!!! Thanks.

    However I would like to print a few distances for my HF station and VHF go kit for ARES so I have a feel for “range” on 75, 40, and 2M. Got charts displayed on the screen which will be helpful but I could not get them to print.

  22. John Wiley says:

    I would like to print a few distances for my HF station and VHF go kit for ARES so I have a feel for “range” on 75, 40, and 2M. Got charts displayed on the screen which will be helpful but I could not get them to print.

  23. NS6T says:

    There is an option on the web form “View in browser”. Try deselecting that option.

    73 de NS6T

  24. zolnowski75@gmail.com says:

    I am having issues on my android phone with a paper size argument. I have office suite and adobe. No setting I choose seems to work….can anyone help me out please

  25. Hardy Landskov says:

    I generated an azimuthal plot and tried to print it but it locked up my printer. Don’t have a clue why.
    N7RT

  26. Hardy Landskov says:

    Tried to print but it locked up my printer.

  27. NS6T says:

    What type of printer and system queuing to it? You might try playing with the printer settings in your PDF viewer.

  28. Philip Sadler says:

    I love this program and would like to use it for teaching celestial navigation. Is there is any way to make these changes, it would definitely increase its utility:
    1. Not plot the azimuth rays from the map’s center, but keep the degree markings and labels on the perimeter.
    2. Not plot the distance from the circles at all center circles at all.
    2. Plot longitude meridians at 5 degree intervals rather than 20 degree intervals.
    3. Plot latitudes at 5 degree intervals rather than 10 degree intervals.
    5. Be able to shut off the country outlines when necessary (navigators have a need for the coordinator systems only).

  29. Congratulations! Exellent instant ready and sharp like what! Will try to get a BIG map to glue it on my wall.
    Will be a fine decoration and useful to point my antenna ;-)

    You can be proud!
    And me satisfied.

    Fall greetings from Finland EU

    Seppo (80) and Tuula OH2NZA

  30. Was so happy that remembered not tell my gears -
    Novells OpenSuse, 2 x 64 and printers HPLaserJet 1200 :-D plus HP Photosmart wireless – use naturally other printing layouts for big printings…

    Linux and printers working without any problems already for 4 Years. Automatic updates and I can only use them.

  31. Remco says:

    Hello Tom,

    Thank you for your efforts to make this publicly available!

    I have a suggestion:

    - an option to label (and draw) sub grids, i.e. when ‘label grids’ is ‘on’, one level
    deeper, and optionally label the sub grids and their boundaries from 00 – 99.
    Useful for VHF/UHF/SHF-operators and ‘square hunters’ to colour their worked squares.

    - if the above can be realised, optionally remove the tapered compass rose inside the
    the as the azimuth is (already) displayed at the circumference.

    Kind regards,

    Remco

  32. Wessie ZS1VV / ZS2A says:

    Fantastic program ! Thanks for all your work.

    Regards

    Wessie ZS1VV / ZS2A

  33. Dear Tom,

    No words are enought to thank you for such an amazing work you have done to get this Az map. I have just created one for the location I live now, near Lolol ( Chile ) , and beleive me when I say I will use it !!!
    I made one , 25 years ago , centered in Stgo Chile , but no computer at that time, I drawed it completely by hand , and used self sticking letters for all the prefixes known then !! With the help of a couple of friends we made it print 1000 copies, and spread it among hams in Chile ……You can easely imagine I had the fun of my life. But I have seen that amateur friends still keep it in hanging on their walls HI !
    That’s recomforting .

    Thank you very much again !!!
    Michel – now XQ 3 DPD/4 -

  34. Harlan Rogers says:

    I am a first time user and found this to be a terrific program and very easy to use. Thanks for making this available.
    — Harlan, K6BS —

  35. Eric G says:

    Merci Monsieur pour votre programme !

    Merry Christmas and Happy New Year .

    73s
    Eric
    ICA01

  36. Mike says:

    Excellent website, straight-forward. The possibility to enter the input in various formats without having to fiddle around adds to its excellence. Congratulations, and thanks, Tom
    De Mike k9mw

  37. Ben says:

    Hi Tom,

    I want to report a bug.
    (For the rest your maps are fabulous, you really have made something unique and of very high quality!!!)

    If I create an azimuthal map of Europe (center JO33he, distance 2000 km), the program makes a mistake in land and water. the continent shows up blue, the Atlantic Ocean as white, and England (which is an island) is also white.
    This problem is not present in maps with the same center and a radius of either 1000 or 300 km.

  38. Ben PA5BW says:

    Hi Tom,

    I am very impressed with the quality of your maps!

    For a demo of WSPR at my work, I have just created a MatLab program to get WSPR spots of our 100mW beacon out of the WSPR-net database and plot them on an NS6T azimuthal map. On the firsts few tests the beacon has already been heard in the USA (7000 km) ! I’m sorry that I cannot post any pictures here. Can I mail them to you?

    When we get more distant spots, I switch to a map with greater maximum distance. For that purpose I downloaded and save a couple of maps with different distances first. Seeing the spots on an azimuthal map is great, much beather than the Carthesian map on WSPRnet!
    As soon as the software is stable (almost, doing some cosmetic things today) I will share it on MatLabCentral as open source and send you a link and some examples too.

    As we have a demo to give, I focused on a solution for our location only, so another user will need to download his own maps first. If I have some time later, I will try if I can get that done automatically for any user QTH. I cannot read PDF maps with MatLab, JPG, EMF and the like are not a problem. so have to find out how to solve that problem.

    When this works in MatLab, maybe I can someone else can translate the idea in a more common language or make a webpage for it… Later :-)

    Kindest regards, 73,
    Ben

  39. Tim says:

    Thanks Tom, that was just what I was looking for… EXCELLENT.

    De VK5ML

  40. NS6T says:

    First of all, sorry that there is a delay between when you post a comment and when it appears. I get around a thousand WordPress comment spams per week even with the reCATCHA plugin, and it takes a while to filter through them and find actual comments.

    I would be happy to see your WSPR-net maps, and I could post them here. I’ve thought about adding a feature to allow people to upload a KML file that would add items to an azimuthal map.

    There are tools that can convert PDF to a bitmap graphic format.

    Thanks,

    Tom
    NS6T

  41. NS6T says:

    Yes, I’ve seen this bug before. Unfortunately, my program uses a heuristic to determine what the inside of the curve is, and in some cases, it doesn’t get the right answer. I’ve had some ideas on how to improve it, but I’ve had no time to implement them.

    Tom

  42. Hermann, DK3EG says:

    Hi Tom, your world maps a great! You made a nice job.
    I found a minor problem by enter my location JO41js and a distance of 3000, paper size A4. There comes a nice map of europe – but there is no England, no Ireland and no Islands at all. I can see the names of the british cities but no country border. The bug is witth distances between 2000 and 3000. at 1500 or less and 3500 or more it works fine so donot worry.
    vy 73 de Hermann

  43. NS6T says:

    Thanks for the compliment. I tried reproducing the bug, and it doesn’t happen for me. I’ll try following up by email.

    73 de NS6T

  44. Pete VK5NAQ says:

    worked very well Thanks

  45. KK6BQX says:

    Hi Tom, it is the great tool!

    One suggestion: It will be a great to have an option for projection of polar zones on the map.

    What do you think?

    Mikhail

Leave a Reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>