I thought I’d share some cheap and easy ways to solve two kinds of map problems using Google Earth and Google Maps. The first problem is how to generate a series of GPS waypoints using a low-resolution map (such as may be found in books or on the Internet) of historical movements, like migrations or military campaigns. The second is a way to create a cheap gridded topo map for any given place on the planet earth. This exposition requires a familiarity with Google Earth and Google Maps, both of which are available for free.
To solve problem number 1, get a decent printed map of a military campaign, such as this old sketch map of Walter Kreuger’s campaign to capture the city of Baguio from Yamashita. Save it to your hard disk as a .jpg file. If the map is on paper, such as in a book or map in the library, scan it and save it as a .jpg as well. Now you have a .jpg of the map.
Next, fire up Google Earth and navigate to the general coverage of the .jpg map. From the menu, go Add/Image Overlay and use the browse button to bring in your .jpg which Google Earth will overlay onto its layers. You now have a sketch map floating above Google Earth. Using your pointing device, size and stretch the image until the geographical points (cities, promontories, rivers, etc) coincide with those shown on Google Earth. Then, choose “Clamp to Ground” which will make the sketch map follow the terrain and Voila! you’ve got the sketch map sitting as a layer on Google Earth.
Next, run your pointing device along the route indicated by the sketch map. Google Earth will read out the Lat/Long of the cursor’s position. In this way you can generate waypoints which you can write down on a piece of paper or onto Excel. Load the coordinates of the waypoints into your GPS either using an software uploader or (in case you’ve got a cheap GPS) by entering them manually. It’s not a terribly accurate method, but if you’re planning to do a battlefield tour of Europe, or a follow in the steps of Alexander the Great or somebody like that, then you’ve got “good enough”.
The second problem is a little harder to solve. Google Earth generates a geographical grid which you can print as a map, but it’s too cluttered to suit me. What I want is the terrain map such as is generated by Google Maps, such as for example of this arbitrary place in California. It’s got nice topographical values and readily recognizable geographical features, like hills.
The problem is that while I can create a map like this of virtually any place on earth Google Maps won’t let you print it with a grid. So if you plan on tootling around that spot, you are reduced to buying a real topo map of the place or relying on purchaseable GPS map libraries. But that costs money and may not be available if you’re going on a vacation to some exotic foreign country. What about free? I’ve looked at the Google Maps API and there’s no obvious way to generate a gridded map and print it. Is there a kludge? There is.
Right click on a town in the Google map or a landmark off the road and choose “Add a destination”. Google Maps will generate an icon to mark it. Now, if the town is known to Google Maps, it will be known to Google Earth. You can navigate to the same place on Google Earth to get it’s coordinates. If the point you choose is off the road, Google Maps will generate a coordinate. Either way you wind up with coordinates for the icon.
Here comes the tedious part. Using Google Earth or any utility, convert the coordinates for the icon to UTM. UTM is denominated in Northing and Easting in meters. In other words, using the scale at the bottom of the printed Google Map you can create grids of that size. The coordinates for any point on the grid are simply plus or minus that many meters from the icon both north and south, east or west. So print of your Google Map and from the Icon, simply generate your grid north and east according to the scale in meters with a T-square and triangle — or failing that, a ruler and a triangle. That will give you the ability to navigate to any place on the map using your GPS — don’t forget to set it to UTM coordinates.