Flutterby™! : Tom Harrison Maps

Next unread comment / Catchup all unread comments User Account Info | Logout | XML/Pilot/etc versions | Long version (with comments) | Weblog archives | Site Map | | Browse Topics

Tom Harrison Maps

2005-05-10 19:54:29.606902+00 by Dan Lyke 3 comments

As I mentioned in the comments to my entry about the 30 mile hike, I'm impressed with the Tom Harrison Maps I've seen for areas that I'm familiar with. The ones for Marin had more trails and appeared to be more accurate distance and detail wise than the other maps I've used.

[ related topics: Nature and environment Bay Area Maps and Mapping ]

comments in ascending chronological order (reverse):

#Comment Re: made: 2005-05-11 14:01:45.856001+00 by: ebradway [edit history]

I can't tell much from their site, but the little clip they give looks like a National Geo topo with better symbology for the trails. When I made my maps for the Colorado Trail last year, I used the NG Adventure Paper, waterproof, stretchy, works in ink jets, cool stuff! But I also hand drew lines of magnetic declination on the map. Harrison's maps seem to leave that out. For orienteering with a compass, having the lines of magnetic declination makes correcting for the different between true north (top of the map) and magnetic north easier. Of course, I didn't have to use the compass once the entire trip and the one really hard to figure out spot, my maps conflicted with the guidebook maps. The guidebook map would have put us on the wrong side of a creek that quickly dropped into a raveen.

FYI: Here's a great map showing variation in magnetic declination:

#Comment Re: made: 2005-05-11 19:35:54.797757+00 by: Dan Lyke

Yeah, I think that his value-add is a lot of time on foot with a decent GPS and logging software.

But that got me to thinking: It's been a long time since I tried to pinpoint myself with a basic Silva, but the geometry of how I usually figure position only depends very grossly on notions of North. Yeah, one landmark and a path will give you a position, but my memory from spending extended time in the woods back in the 1980s was that often I picked my mountain tops wrong, so finding two landmarks and a path, or three landmarks, was a good check against myself.

Once you're using that much in the way of reference, all that matters is that North be consistent enough that you can get angles between landmarks.

Of course this brings me back to "if I had infinite time...".

#Comment Re: made: 2005-05-11 19:38:37.352973+00 by: Dan Lyke [edit history]

Speaking of "if I had infinite time...", this could give you the topos to make your own...

import osr
import math
def UTMZone(lon, lat):
    return int((lon + 180) / 6) + 1;

# A Terraserver tile URL looks like this:
# The parameters are as follows:
#   T: theme, 0=relief 1=image 2=topo
#   S: scale, ranges are:
#        T=0: 20-24
#        T=1: 10-16
#        T=2: 11-21
#   X: UTM easting / pixels per tile / meters per pixel
#   Y: UTM northing / pixels per tile / meters per pixel
#   Z: UTM numeric zone
# Pixels per tile is 200.  Meters per pixel is 2 ^ ( scale - 10 ).
def TileURL(theme,scale,easting,northing,zone):
    pixelsPerTile = 200
    metersPerPixel = 2 ** (scale - 10)
    x = int(easting / pixelsPerTile/metersPerPixel);
    y = int(northing / pixelsPerTile/metersPerPixel);
    return 'http://terraserver-usa.com/tile.ashx?t='+str(theme) \
           + '&s=' + str(scale) \
           + '&x=' + str(x) \
           + '&y=' + str(y) \
           + '&z=' + str(zone)

if __name__ == '__main__':
    lat = 41.395304
    lon = -73.310067
    wgs84 = osr.SpatialReference()
    utm = osr.SpatialReference()
    wgs84.ImportFromProj4("+proj=latlong +datum=WGS84")
    utm.ImportFromProj4("+proj=utm +zone="+str(UTMZone(lon,lat))+" +datum=WGS84")
    wgs84toutm = osr.CoordinateTransformation(wgs84,utm)
    (x,y,z) = wgs84toutm.TransformPoint( lon, lat )
    print x,y
    print TileURL(1,10,x,y,UTMZone(lon,lat))
#    lon = -2.05948851735331 * 180 / math.pi
#    lat = 0.575958653158129 * 180 / math.pi
#    print "Zone", UTMZone(lon, lat)
#    print "This should give roughly", 406582.22287004953, 3651730.9737433353
#    print wgs84toutm.TransformPoint( lon, lat )