Satellite imagery for DSmaps
If you've played with the script from my last post you've probably noticed that gMapMaker has the ability to fetch satellite imagery from Google Maps as well as your basic street map tiles. After defining an area and zoom level and hitting go, you'll notice that two new directories are now under your cache, 'kh' with the sat pictures in Jpeg format, and 'tt' with the street map overlays as a transparent PNG. So if only we could combine these into the one PNG file, we'd be able to throw that into the QTRS to XYZ script and use them on our DSs. A bit of reading lead me to ImageMagick, which handily has a Perl module, PerlMagick.471 bytes of Perl script later we have a script to do what we want.
To use it you'll need ActivePerl which you should already have from the last script, and you'll also need to install the PerlMagick module. You can get this in the ImageMagick Windows Binaries, but the Perlmagick part of that install failed for me on XP SP2. To get mine working, after installing ImageMagick I had to follow the instructions in this post and then copy the .DLL files to my windows\system32 directory manually. If you have any trouble getting it installed, try the ImageMagick Forums for help.
After you've got those installed, drop the script in the same directory where you put the qrst2xyz one and create two new subdirectories, called 'sat' and 'streets'. Now copy the satellite .JPGs into the sat directory and their matching street map .PNGs into streets and run 'perl satcompo.pl' you should see the images being composited and dropped into your gtiles directory, all ready to be converted for DSmaps.
If you want to play with the quality of the outputted files, you can edit the line:
$sat->Set(depth=> 4);
to change the colour depth (in bits per channel). 4 is a good compromise between quality and read speed for me as my mini SD cards are a bit slow, but you may be able to get away with a value of 6 or even 8 for prettier images if you have some fast media.
Also keep in mind that DSmaps only goes down to zoom level 17, so don't bother trying to fetch and convert anything closer in than that.