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
Our map shows Australia for west (270) of Tampa. That azimuth would follow the meridian and never cross the equator. Did I miss something?
It’s often hard to think about these things without looking at a globe. I don’t have one handy, so I don’t know what it would look like. I can offer results from sites that agree with the generated map:
The Map shows the initial bearing that you should take and then follow in a straight line along a great circle to the destination. The bearing will change as you travel along the great circle, by an amount depending on the distance traveled and the latitudes that are crossed.
I can’t get this to work at all.
At work, I use Chrome and Windows 7 (I think). Also tried Internet Explorer and no go.
Doesn’t work on my phone either (iPhone 7).
At home, no go – MacBook Pro & Safari.
This is the error I continually get:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at webmaster@localhost to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log.
Apache/2.4.10 (Debian) Server at ns6t.net Port 80
¡Excelente!
Lo he difundido varias veces en mi Facebook (www.facebook.com/victorio.marzocchi )
Hice varios mapas con centro en las Islas Malvinas (Argentina) y Bases Antárticas Argentinas.
Excellent!
I have spread it several times in my Facebook http://www.facebook.com/victorio.marzocchi
I made several maps with center in the Malvinas Islands (Argentina) and Bases Antarctic Argentinas.
Thanks, this map is just what I was looking for! its incredible how wrong ones flat map intuitive geometry is when guessing the great circle direction to some far off location but you maps have cleared that up.
Thanks! Cool idea. You should improve the input data check. E.g. non English letters in the title returns “The server encountered an internal error or misconfiguration…”. Same with some arbitrary format for the coordinates. It’s possible that a malicious user could exploit this to harm the server. Not only should any character be allowed in the title but the server should also handle wrong input gracefully.
A tiny improvement: Let the user choose one or more output format for the coordinates. E.g.
– Decimal degrees
– Degrees, minutes, seconds
– Maidenhead locator
– etc.
1 Feb 2017
202 UTC
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at webmaster@localhost to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log.
Apache/2.4.10 (Debian) Server at ns6t.net Port 80
the name of the countries are very difficult to read. the coulor of the words could be more blacky or to have more definiton,
best 73’s
diego
cx4di
Hi, can you apply day night shading to the generated map?
Hi NS6T,
The map is just brilliant, it addresses my curiosity.
Thank You,
VR2VKH
Excellent idea, but printing my house as centre and a 10 mile radius, I just got a white sheet, with some points for nearby towns.
Any chance of choosing standard colour contours (from Wikipedia or Google Earth, for example) instead of just white?
March24, 2017
Using MacBook Pro OS 10.12.3 with Chrome.
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at webmaster@localhost to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log.
Apache/2.4.10 (Debian) Server at ns6t.net Port 80
@ those who get an internal server error – I got that as well, but it was simply solved by clicking the “Estimate Location” button instead of using an actual city name. Type in the city name and state (or country I assume), then click Estimate Location and it will be converted into Lat/Lon coordinates. That worked for me.
@ Author – Would it be possible to add an option for landscape orientation on the output file? The map is lovely, but I don’t like the output being tall. Maps look better (and are easier to hang on the wall) in landscape orientation, IMO. If it’s hard to add that option, maybe just provide a few of the paper sizes with the dimensions reversed, so the long edge comes first.
Great job, just got beam operational so will come in handy.
I am not even sure if this is possible but need to ask if locations (using lat/long) can be added onto a map? If possible please let me know as it would really help me greatly. K
Great software program, but how does one extrapolate this to get a long path bearing, other that pointing it away 180 deg. and know how the short path works, pointing away at 180 deg. is most likely not the correct bearing.
Thanks,
DRG
Long path is 180 degrees away from short path.
Your program has provided a great service over the past (almost) decade. Well done! Still shades land as blue sometimes eg -33.874047, 138.006486 lat/long with 500kms on A4 with lat/long grid, grid labels, countries, cities and blue background. Other than that small hiccup, it’s great. You deserve a pat on the back. 73 de Rik VK5MU from Bute, South Australia.
Is it possible to do a map in reverse?
I installed a rotor and one of The remarks on the instructions is if
most of the stations you are interested in are to the north,
install the rotor in reverse, pointing south, then one does not have to swing the full 360 degrees
to go from NNE to NNW.
Having the Azimuthal Map also in this configuration would make things much easier in such conditions.
Steven
VE3PTA.
Great job! Using iPhone 6+ iOS 10.3.2. Prints very well, only problem is size of output. But since I am installing loop antenna need to find where my nulls will point.
73 and thanks again.
May I use this map for my art works?
I want to use and make some arranges this map for print T-shirts.
And, May I sell this T-shirts?
Yes!
So nice … thank you so much for this maps … i love it …
73 greetings from carlo DG5FW/SA2KHG
Thanks for providing a great tool. It is indeed very useful now that I’m planning for new beverage antennas. However an idea popped up in my head: Would it be possible to extend the map to cover also for long path? I realize the map would look kind of weird, but theoretically it must be possible by adding the same places once again in a different direction and distance.
73
Jan, SM4UKU
Hi Tom – Is is possible to color the regions covered by the beam?
I’m in the NE USA so if my beam is 35 degrees to India, would it be possible to
color all the land with an arc of 30-40 degrees. I can send you an example if
you would like. (I just can’t figure out how to create such transparent layers.)
Love the site. Do you do freelance work? Make maps in other projections?
Hi, first of all, many thanks for this useful tool!
A question: Are those maps using magnetic or true north as reference?
My QTH is in southeast of Brazil (-21.3 W declination), where magnetic north correction can make a big difference!
I can think I am pointing to Europe and actually I am pointing to Africa…. or not!
Regards.
Hi,
Very nice work. I really enjoyed it.
But when I try to use the location “Stockholm, Sweden”, I consistently receive an internal server error.
Even is the only thing I set after entering the page and before pressing the “Create” button.
But Thanks anyway (I used the estimated location instead)
Playing with different settings and maps I came across what I think might be an error.
Rendering a map for -49.1014,-92.6577, no specified distance, paper size A3. Across the map, almost horisontally, is a line with some angles. My guess is that it is a border between countries at the very edge of the map that is rendered close to Antarctica.
The center point is diametrically opposite a region where four countries’ borders connect.
Thank you for the map.
Very well done!
I’m using it for some work on sailing distances from given ports.
Thanks!
German names of Polish cities are unacceptable! For example Lodz as Litzmannstadt
Thanks for the map tool! A little work with an engineers compass and your map and I was able to discover just how to orient my dipole to get into Europe. It turns out what I thought was North wasn’t, and I had the wrong bearing to begin with. I should have remembered from my school days what projections distort what.
Again, much thanks!
Cheers,
Jim N8AVX
Thank you so much. This is exactly what I was looking for to confirm my estimated yagi direction.
Thank you very much. This is just a very cool and marvelous tool. I am a beginner ham and I plan on going into HF and this really inspired me.
Ehm… you might want to update country boundaries and names. There is no more Yugoslavia…
Thanks for a great map generator. I’ve been looking for something like this for a while – glad I came across it. 73
Hallo
ich bin DL2BV der Jannes aus Leer. Ich hätte eine Frage wie kann ich die Azimutkarte einstellen auf mein QTH. Wir möchten ein Bastelprojekt starten mit einer Weltkugel mit einen Erdschatten darunter. Wenn ich von dir eine E.Mailadresse hätte könnte ich dir das Projekt mal vorstellen.
I agree with s53sl. The Sovient Union collapse long time ago. There are countries like ES, YL, LY etc.
Great tool – thanks!
Thank you for this outstanding map. There is a service here that can print large poster size graphics if I provide a file on a thumb drive. I would love to have your map poster size to display in my ham shack. Would that be possible?
Thanks
Doren WA6MVP
Very pretty program. How about an option to rotate the azmuth ring left or right to account for magnetic variation? or at first, maybe just a box where the mag variation can be put in as a note.
Jim, KA6TPR
Fantastically useful map generator! Thanks for not only taking the time to develop it, but also for sharing it. I’ve now printed off and laminated a map for my favourite ‘portable’ location. This will definitely help me lining up my antenna when I’m working QRP.
Thank you.
73,
Dom, 2E0WHQ
England, UK
Love it. Thanks!
When I was 15, I told my father that I worked Australia by pointing my 10m beam just north of due west. He did not believe me until I drilled a hole in my globe at Atlanta, and made that the north axis. I am now 77, and no longer have that globe. Thank you for your wonderful map generator.
Brilliant idea, but poor execution. Why is the map missing all the CIS countries e.g. (Ukraine, Kazakhstan), all the Baltic states (Estoni, Latvia, Lithuania)? I would have even printed myself a map, but it’s just such a turn off like this.
Maps generated from CN87QJ at 2000km and below have the land shaded blue and the oceans white.
Hi,
Thanks for the great mapping service.
A suggested option – allow an offset to the map centre. For instance, I’m in the UK and I’d like a map showing North America in greater detail. If I offset the map by 6000km East I’ll lose Europe but get NA in better detail.
I’m enough of a programmer that this could be very easy of very hard!
Any thoughts?
73 de M0PTB
I expected that if I put the center on Wichita, KS, the borders of the US should all be curved around Kansas. But I was surprised to find the borders all curved around the north pole like a conic projection. This suggests the wrong kind of data (a flat conic projection centered on the US?) being used as input. Am I mistaken?
Hey Great site.
I noticed that Australia and others dont have major cities and states even though I ticked the tab.
Otherwise am having fun with it.
cheers
All worked well and have it on A3 in color laminated, I did one change by adding the “Long Path” to the “Short Path” degree /numbers, saves running your eye across the map. Love it.
That is totally cool.
Now I can prove to everyone that MY town is the center of the universe.
Thanks Tom for the Azimuthal Map of St Mary’s.
Congratulations for the work.
And thanks for sharing.
One question: is it possible to make the 4-character grid?
It is useful for VHF.