If you offset the tiles by 50% you only need to calculate the N/NE/NW neighboring tiles, so you can have a 2x2 grid of metatiles (just 16 variations per terrain type) further if you use an alpha channel and render several layers in multiple passes you can limit yourself to 16 tiles per terrain type, and also have feature tiles to go on top.
The base set you show there looks like suitable input for Tiled's terrain (which basically does the handling of simple edge blending, where you can draw solid grass or stone, and it uses your blending tiles to make stuff fit in.). I mention this because that means you can make your (single layer) tilemap with the smaller 'metatiles' and then generate the needed full size tiles from a bitmap export of the map.
This would be a very interesting thing to try and program on a random level generator in games via RPG maker or Flash; if: variant.soliddirt = 2x.2y(); addChild.externaldirts(1-8);
Sorry; got some pseudo ActionScript 3.0 codes stuck in my head after class today, and I don't even like programming; however, thinking about its potentials is a different matter, and this resource you made got me to thinking in regards to 2D random level generators It's very well done!
Yeah, a pretty advanced form of metatiling programming system that a program hobbyist could work with. I was thinking along the lines of Flash and/or from pure scratch. Like I said: I had Flash on the brain since I got back from that class today, and the code writing we did was brutal to my minor language-disabled mentality
Funny, I had the same idea of making a random level maker that would stack up meta tiles on basic ones which would yield advanced level designs. Though, it would have to take many variables into account, so I don't know if it would be efficient in practice.