I started writing a program that would automatically read USGS DEM files (elevation maps), stitch them together, and then algorithmically choose terrain textures for each pixel based on the elevation and slope. For example, it would paint farmland on low lying flat areas (no barns on the sides of mountains), forest land on foothills, alpine meadows at high altitude, rock on steep slopes, snow at high elevations etc. However, I gave up because AH only allows 12 textures (and their 12 clutter sets) per entire terrain, so I figured I'd do all that work and the terrains would just end up looking the same anyway. (The other problem was water: the elevation data is trivial to read, but the data that specifies where water is located is a pain and an half.)