About The ACME Mapper

This is a front-end for Terraserver, a large geographical database. Improvements made here:

The software is fairly simple. The six CGIs are Bourne shell scripts. The UTM/Lat-Long coordinate conversions are done by two programs I wrote. The image manipulation for the Save command is done using the pbmplus package, which I also mostly wrote.

Most of the map data is just referenced from Terraserver, it's not stored at acme.com at all. This makes it feasible to host the mapper service on my puny box. I hope the Terrasever folks don't mind. They do have a very liberal policy on linking to their images. Actually, I hope they pick up my improvements, or better yet hire me to implement them.

While Terraserver has topo maps in all scales, they only have aerial photos up as far as 64 meters/pixel. To get around this limitation, I fetched the 64 m/p photos for the entire USA and used them to create larger scale photos, all the way up to 1 km / pixel. These maps are stored here at acme.com, not on Terraserver. This tiny subset of Terraserver's maps takes up 400MB in 46,000 files; the larger-scale versions I created take up 136MB in 17,000 files.

The geographical names data is from the USGS's GNIS project. The mapper uses the "concise" dataset, with only forty thousand entries. The full dataset has almost two million entries! ZIP code data for the Find page comes from the U.S. Census Bureau.

Some Q & A about the ACME Mapper:

What datum do you use?
WGS-84.
How accurate is the placement of the cross-hair icon?
It seems to be very good. I've tested it against hundreds of good GPS readings and the mapped location has always come up dead on.
Why do you only have maps for the USA and not the rest of the world?
Because that's all that Terraserver has. The strange thing is, they used to have the rest of the world. Dunno why they got rid of it.
Can I have the source code to run on my own system?
The shell scripts are not distribution-quality. However by far the most important part of the code is the two UTM-long/lat coordinate conversion programs, which are freely available. Aside from that, the main issue is understanding Terraserver's URLs. Here's a comment block from my main shell script:
# A Terraserver tile URL looks like this:
# http://terraserver-usa.com/tile.ashx?t=1&s=10&x=2809&y=20964&z=10
# 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 ).
ACME Labs / ACME Mapper / About