Hack 98. Give Your Great-Great-Grandfather a GPS

Learn how to geocode historic documents.

Tracklogs are simply a series of points. We don't need a GPS to create a series of points. In this hack, we'll take an Oregon Trail diary and geocode it to create a series of waypoints. You can thus create tracklogs of events that predate the creation of the GPS system.

Alfred Korzybski wrote, "The map is not the territory." And nowhere is this more clear than when following the traces of your ancestors. Taking a drive along the Oregon Trail, spending a long weekend eating convenience store food and camping in the car, clambering over fences in order to stand exactly where your great-great-grandfather stood or, more likely, simply passed by with a tired sigh, is an experience of assembling an internal reality, an experience of connecting with the past. As must be the case, these connections are one-way. But does that matter? Does it matter that those particular Missouri farmers had less in common with me today (aside from a bit of genetic material) than I have with today's members of the Locative Media Lab spread around the world?

I don't think that it matters. I spent an awestruck evening on top of Independence Rock in Wyoming, feeling the rock as though it were a reliquary, whispering thanks to my great-great-grandfather for having taken the journey that he did and, by so doing, giving me a context for my own existence. Well, maybe I was giving thanks to the myth of a great-great-grandfather that I had constructed. The evening twilight winds of Wyoming have their own power.

I look upon the extract of the Park Service Oregon Trail map in Figure 9-13, and I can read what it says about Register Cliff: "Of the thousands of names carved by emigrants into the soft sandstone, several hundred are still legible. Some trail ruts, as deep as five feet, are three miles west."

Figure 9-13. Part of the Oregon Trail in Nebraska and Wyoming

To my great-great-grandfather, Register Cliff might have been an evening's campsite and the lark of carving his family's names in the soft stone. But it is more likely that he rolled on past, driven by the endless whisper of the coming winter snows. And that map is not the territory that I traveled; yet, it is precisely the territory that I traveled. But my territory looked more like Figure 9-14 and included strange creaking sounds at night, a mix of the modern and the historic, the whispering from remote trail graves reachable only by traveling past new oil and gas pipelines, and always the wind and the sunsets.

Figure 9-14. Register Cliff in Wyoming

And all of that brings us to one particular diary of a typical journey on the Oregon Trail. Some of the entries are relatively precise, such as the entry for May 5th, 1852: "Encamped in the Missouri Bottom near Kansville." A web search of the Geographic Names Information System (GNIS) Gazetteer [Hack #85] at http://geonames.usgs.gov/gnishome.html comes up empty. A quick search on Google reveals the alternate spelling "Kanesville." The GNIS lists "Kanesville Center," and "Kanesville Tabernacle and Visitor Center," among other entries. These are all near Council Bluffs, Iowa. So geocoding this location is a simple matter of picking one at random as being "close enough."

Other entries are less clear, such as "Camped three miles east of Chimney Rock." Chimney Rock is a well-known Oregon Trail landmark. But if you didn't know that, searching for "Chimney Rock Oregon Trail" brings up many links and reveals that it is located in Nebraska. A return to the GNIS reveals "Chimney Rock National Historic Site," along with a latitude and longitude.

A good set of maps of the trail will help puzzle out where these sites are. But what is one to do with two weeks worth of entries of the form, "Made 18 miles, camped near the river" and "Made 20 miles and camped near a snow bank"?

One approach is to use maps of the trail and follow along, measuring distances. An alternative is to do the same thing within a GIS program like GRASS or QGIS. Doing a Google search for "Oregon Trail shapefiles" returns some promising links.

Another technique is to interpolate position. In [Hack #11], we learned how to add spatial extensions to Excel. You can download the sample worksheet from that hack from http://www.mappinghacks.com/geospreadsheet/geodata_sample.xls. The sheet myer_diary contains sample work on geocoding the 1853 Oregon Trail diary of Nathanial Myer.

If we simplistically assume that they traveled in a straight line for the points that we have trouble geocoding (I looked for "snow bank" in the GNIS without great success), then we can use the Bearing, newPosLat, and newPosLong functions to calculate a position based on their reported progress each day:

=Bearing(lat1, lon1, lat2, long2) =newPostLat(la1, lon1, bearing, distance) =newPostLon(la1, lon1, bearing, distance)

I was initially skeptical of the mileage claims in the diary, so I used the posDist(lat1, lon1, lat2, lon2) function to compare the diary-reported distances with the straight-line distance between my best guess of the positions that I was able to pin down with some confidence. Most of the mileage claims are reasonably close to the straight-line distances. I get numbers like 138 miles, when the straight-line distance is 134 miles. The distances Nathanial reported seem close enough to be usable.

A helpful hint is to see the trail points over aerial photos. If we export our points from Excel into a tab-delimited file, we can read them into Terrabrowser [Hack #52] . Terrabrowser can then save our work in GPX-format files that can be read in a wide variety of other tools.

In Figure 9-15, we see a series of waypoints marking a portion of the Oregon Trail through Mitchell Pass. These came from a GPS-enabled ramble over this section of the trail, and so show a much higher level of detail than we can get from our historic documents. But even in this detailed image, we can see areas that are "obviously" part of the trail but are not marked. In Terrabrowser, we can Ctrl-click to bring up a context menu that allows us to mark or copy the location under the click. We can use this to clean up our rough geocoded and interpolated locations.

Figure 9-15. Detail of Mitchell Pass (Scott's Bluff) on the Oregon Trail

The Terrabrowser context menu also includes the "measure distance" tool. Bring up the context menu, select "measure distance," then move to another point, bring up the context menu, and select "measure distance," and the distance will be displayed in the side pane.

The possibilities are as deep as the past when geocoding historic documents. Sailing ship logs? Where you've lived in the past? Historic trails? It doesn't cost anything (except for your free time), so give a GPS to your great-great-grandfather!

9.7.1. See Also

Maps of the Oregon Trail, Gregory M. Franzwa, The Patrice Press

The Oregon Trail Revisited, Gregory M. Franswa, The Patrice Press

The Magic Mountain, Thomas Mann

Категории