Global Map Download Tool

Global Map Download Tool
For Windows

Requires Microsoft .NET 2 from

Unpack the file and navigate to /bin/Debug subfolder

Google (and Local.Live) Maps Download is a replacement/supplement for the cygwin scripts originally included with Map This! it supports downloading map tiles from a variety of sources, as well as creating compatible tiles from custom maps. It also allows downloading and import of POI (Point Of Interest) and directions to be used with Map This!

Manuals edit



Thanks to outsider for doing these.

Video Manual edit

I'm going to make an attempt at creating a video manual to show how the app works (mp4 videos created by Snapz Pro X, playable with Quick Time or VLC -

Downloading a map of LA with US GeoData (5:20 11.5 MB):

(note: is used as the source - do NOT post videos of Google, VE, etc. being used as sources (USGS is fine), part of the area is deselected - that area is not downloaded at closer zoom levels to save space).

Toporama (Canadian topographic maps) edit

GMDL prior to 0.4.17a from 22-Jun-2007 only worked with MapCruncher 3.0.2, so redownload it to use with later versions

Downloading a Canadian topographic map with MapCruncher automatically rendering it:

Note: probably best to try it on a small map first.

1. Install MapCruncher ( )

2. Specify a map name at the top of GMDL

3. Select Canadian Toporama as the Map Source in GMDL, read and click OK on the message box

4. Navigate to your desired area (test using Preview 1x and 2x)

6. Click 800x800 tile to MC.yum and click Yes to render automatically

7. Wait, the images are being downloaded

8. MapCruncher will pop up and render - it will show progress, while GMDL will be unresponsive

9. GMDL will come back into focus, build the GPSFS files (showing progress), and say that GPSFS is done (the GPSFS is in _map_name you specified, copy it to your PSP, _map_name_MC_rendered contained the rendered tiles, you can delete it, _map_name_source contains the source images, you can also delete it)

Important notes that haven't been placed anywhere else edit

In Gimp: image > mode > RGB if transparency problems on save

YUM Assembler: alt lat is only for the bottom row images

Custom geodata: it's searchable as street

Version History edit


Galileo (iOS app) 2.0.1 map export fix

0.5.14 - not dead yet

Galileo (iOS app) map and POI export

MBTiles map export (tested on not tested on the iOS app)

probably some other updates/fixes, since it has been a very long time since a release


Kosmsnimki in the process of being fixed

New custom sources and browser being worked on

x64 support (replace System.Data.SQLite.DLL in the Debug directory with the one from the "x64 SQLite" directory)

Google Maps Terrain fixed again (Mar 23, 2010)

Random tile delay (optional, on average 0.075sec)

More informative progress message (time remaining, tiles missed, updates when done)

Detail selection screen improvements (button to uncheck all, number of tiles)

Export of Transit Maps (iPhone app) compatible tiles from the View screen

Google Transparent source (just the streets part of hybrid, useful for Google Earth overlays (note: GPSFStileserver keys on the map directory having "transp" in its name for non-overlapping display))

Separate app: GPSFStileserver 0.3a (an http-server to serve GPSFS files as tiles and KML for Google Earth overlays) on


Confirmed as working with iPhone firmware 3.0.1 (make sure you click copy in, and use OfflineMaps_3.0_PREVIEW_iphoneos-arm.deb, move the map a bit if tiles do not load right away)

Google Maps Terrain (and others) fixed

binhusc's geodata changes from the 0.5.10b mod (southern hemisphere)


Google Maps fixed as a source (map, hybrid, China, MapMaker)

Output to iPhone fixed (hybrid and sat now work again) - nothing done for OS 3.0 yet


iPhone screen can now convert maps to xGPS format - works with 1.2.7 - choose the (new) option

Goole Maps fixed once again (including for China)


Yet another fix for a change in the format used by Google

Google Map Maker added as a source

Kosmosnimki fixed as a source

Canadian Toporama fixed as a source (and now uses 2000x2000 tiles which is faster)

MapCruncher fixed as a source for small maps (when 1/2/3/4 . jpg/png was missing)

iPhone firmware 2.2 compatible (tile size change from 64x64 to 128x128)


Another fix for a change in the format used by Google


gps.txt (GPS path recorded by Map This!) can now be read in (Direction tab) and saved as a POI file for use with Map This! or as a KML file for Google Earth

Fix for a change in the zoom numbering used by Google


Resume functionality (previously broken by the addition of is now fixed

Costa Rica ( added as a source

Google now has the English version of the map as the default (switch back to local language by unchecking en)

Save 8192x8192 Tiles, in View, now have x&y swapped (for convenience)

0.5.05 is now partially supported (US - native 256x256 instead of 258x258, all works except for overlay)

Export to iPhone (SQLite 64x64 tile DB), pretty much done now, imports pins from KML, may add directions later; see:

Basic resume functionality, resume.txt stores: source, zoom, x, y, min_zoom, force_jpeg (create a map and read resume.txt for instructions)

POI now has a Limit: setting (100 by default) since Google seems to disregard area constraints is added (not really GPS compatible, but roughly in the correct map area)

Start of vector data - it's in the code - nothing works yet


Update in line with google maps page changes

Fixes a user-agent problem that seems to be caused by a recent windows/i.e. update


City names in geodata are now no longer padded with spaces

Google Terrain added as a source (fixes the problem with the terrain layer becoming the default)

A problem with the GPSFS viewer fixed (would crash on loading under certain conditions)


directions_translation.txt replace is now case insensitive thanks to dloading

YUM Assembler fix (, to .)

Custom CSV geodata now handles 3.583.333 as a decimal format (to 3.583333)

Pull and merge non 256x256 tiles (for use in MapCruncher) -> then YUM then Tile Level Pull Merge: note: rendering large (30k x 40k) images takes days in MapCruncher, on a dual 3GHz Xeon with 2GB of RAM, due to scaling

Canadian Toporama no longer asks to set higher spans as MapCruncher (3.1.3) under .NET 3 seems to handle large (within reason) YUM files without problems (may be slow - just wait)

MapCruncher will now render JPEG tiles directly (from YUM Assembler and Canadian Toporama), greatly reducing the amount of space required (note - the JPEG checkbox needs to be checked/not checked throughout)

Ability to stop the download of Google geodata (creates geodata.dat out of what downloaded)

CSV to geodata.dat - option to supply your own zip codes, in the first column (will add states later)

All (including Tile Level Pull Merge) downloaded tiles are now checked (loaded as a bitmap) - this addresses 404/error pages that did not throw an error before

Google layer version numbers are now set on startup once again (I think something changed somewhere - wasn't really a problem, but fixed now)

New Canadian geodata statcan_rnf_v3 that may fill in some gaps (L and R ranges are now split up) - this is a minor change

Google (semi-auto) geodata with a local cache is in - there will probably be some fixes after somebody tests it (e.g. ) is now a source - but not GPS compatible (6m resolution instead of Google's 15 and 25m for parts of Russia e.g. )

Downloading tiles in random order is now an option (Rnd checkbox under Advanced)

Updates are now fed from (which redirects to the latest zip) providing a permanent link

Icons swapped to comply with Map This 0.5.20 changes


Warns if can't find sounds.txt and icons

UK postcode geodata is fixed (single zip center was falling outside of the map area, it's now split by the first part of the postcode), temporary note: keep Street 1 checked and search for 1 post code (e.g. 1 EC4Y) to bypass the wide search reset bug in Map This! on subsequent searches

Note on the Google direction's dislike of pedestrian streets (also affects Nieko's web interface)

Ability to set the cookie from the web browser

The 4x zoom and area selection screen now has a size estimate based on the loaded tiles, allows deselection of 1x and shows an estimate of the map/layer sizes

directions_translation.txt for translating the part of directions that's in English (sounds.txt is applied before this)

Geodata from querying Google (all street numbers are 1) that seems to work with international encodings (please provide feedback)


Layout fixes (anchoring, map sources in tabs with translation.txt present)

YUM Assembler fixes (CSV changes, ; delimited CSVs - no ; in file names though, actual image counts) - now with a manual:

Disabled the default copying of icons and sounds, and synced up the ones bundled with GMDL

Sloppy interface fixes - thanks zsc

WMS/NASA error handling fixed (failed tiles remained with the text error message)

Google Hybrid is a single option again (underneath it works the same, just an interface change)

New USGS TIGER geodata, now covering all states, you can delete C:/GMDL/usgs_tiger (usgs_tiger_v2 is now used)


Fully decoded Swedish geodata

Google directions option to avoid highways (multistage, and manually dragged directions work as well)

Toporama auto render now uses the latest version of MapCruncher, and allows to specify a drive other than C to look for it

Option to convert tiles to JPEG while downloading (but you are much better off using GPSFS_util by MIB.42)

Sounds are on by default (directions), see .zip in GMDL for mac scripts to create message mp3s

Custom geodata (from a CSV file), now with ; delimiter support

YUM Assembler for MapCruncher (contact me if you want a walkthrough) - see:

Option to save directions at various encodings and UPPERCASE (e.g. Default and UPPER for the Russian Map This!)

Changes to keep up to date with the update

Saving to a different location edit

If you do not put in the map/POI/directions name the set/save dialog box will now appear (allowing to save directly to the memory stick for example).

In 0.2.14a there was a bug that prevented saving to an existing/created directory, this is fixed as of 0.2.15a so you can now:

  • specify a directory that does not exist - it will be created
  • choose an empty existing directory
  • create a directory (via the Make New Folder button in the Browse For Folder dialog box)

Creating a POI File edit

Click on the POI tab

Local.Live/Google/Yahoo edit

1. Enter your search term into the Search for: text box

2. Navigate the map to your desired area (you can use the Search Maps)

3. Move the map around a bit

4. Click "Get Numbers" and make sure Lat/Lon/S text boxes get populated

5. Click the Local.Live/Google/Yahoo radio button (if Google, choose relevant

6. Click "List" and make sure the datagrid is populated with your POIs

7. Enter a file name, starting with _, into the Save POI (start with _): text box

8. Click Save POI (start with _):

9. The file will be created in the same directory as the application, place it into the corresponding map folder

Directions that follow the roads edit

Directions from Google now have the distance remaining to next way-point, and remove excessive path points (so you can have a long road mapped out without ending up with thousands of POIs).

1. Click on the Directions tab

2. Check the Google radio button

3. Check the Create intermittent every: check box

4. Either select a zoom level from the drop down list or enter the value by hand on the right (0.0001)

5. Enter From:/To: or search for the directions and click Get Values

6. Click List, make sure you get less than 400 POIs, else increase the intermittent value and repeat this step

7. Click Save POI (start with_):

8. Place the resulting file into the corresponding map folder

Translation edit

to load:

drop translation.txt into the application directory

run the application

German edit

0.4.0b courtesy of nforce100 [1]


0.4.0b (older) courtesy of nforce100 [2]

0.2.15a courtesy of nforce100 [3]

Format of translation.txt edit

works as follows:

to create:

click Generate translation.txt

edit the translation.txt file, the format is as follows:


ORIGINAL_TEXT is just there for your information, but does need to be there for the file to work, ()= is fine

lines without TRANSLATED_TEXT are fine - they are ignored

sample file:


GMdl.UserMode(Advanced)=Other Options

to save after load:

move translation.txt out of the application directory

click Generate translation.txt

translated values are preserved

new/missing controls are added - this is so that you can upgrade your translation.txt files

What doesn't translate: dialog boxes and other forms - will be in the next version

Other Platforms edit

The short answer: edit

Writing for Windows was a decision based on the maximum number of people being able to run the application (while it is possible to run Windows applications on Mac/Linux using Wine/emulation/virtualisation the reverse is not the case unless you run an alternative OS in a virtual machine).

The long answer: edit

I looked at having a version written on Objective-C for mac at the start, and at porting using Mono more recently. Maintaining two branches - one in ObjC and one in C# would not have worked, while transitioning to Mono is something I would still like to do (this is not going to happen any time soon) - once the code becomes stable.

In the meantime - it is not only the exe - the full (Visual Studio 2005 C#) source code is there if anyone wants to begin porting it.

If you just want to run it - it works fine under Parallels and Windows XP SP2 on an Intel mac, and I would imagine you would also get reasonable performance under emulation in VirtualPC (there is not really anything processor intensive).

As for working under Wine (already out for Intel Macs as well), and maybe on PPC - I'd appreciate any reports on if it does. (No, it doesn't!)

Creating a Custom Map (MapCruncher) edit

1. Align and render your map with MapCruncher ( ) which has quite a comprehensive manual.

2. Launch GMDL and select MapCruncher as the Map Source

3. Click Set next to that and select the directory containing the tiles (Layer_NewLayer by default)

4. Read the informative message box (main part is that you click Pull Tiles under Advanced rather than Download The Map)

Creating a Custom Map (old) edit

1. Click Advanced

2. Click Custom Map

Simple (without coordinates) edit

3. You need to have a source PNG file (without transparency)

4. Click Load Any PNG

5. Select your image file

6. Once it loads (you can see a close up by clicking on the image, click on zoomed in to close)

7. Specify/create the map directory via Set Dir or it will create one with the automatic name in the application directory

8. Click Save Tiles

9. Message box will tell you when it's done, then move the map directory to your memory stick

Repairing an Existing Map Directory edit

1. Click Advanced

2. You need to know and specify zoom, x, y (these are not the ones in coords.txt), min zoom (this is in coords.txt), and set w and h to 2

3. Click Set Dir and choose the map directory

4. You need to have the map tiles in plain (non GPSFS) form, so, if needed, extract using <-GPSFS and move the contents of GPSFS_Extracted to the map directory, delete GPSFS_Extracted and GPSFS through GPSFS4

5. Check Repair Existing Directory

6. Click Pull Files and the missing tiles (and coords.txt) will be created followed by the GPSFS conversion

7. Note: Checking Trigger Map Abort will not delete the map directory if Repair Existing Directory is checked

Moon & Mars edit

As of redownloading 0.4.0b in January 2007 or later

Navigate in earth equivalent and use preview or, in Advanced, just set x,y to 0,0 and zoom to 16 to the min you want.


elevation 16 to 9

visible 16 to 8

infrared 16 to 8

Moon 16 to 11 (10- is cheese)

(careful - it's cheese all the way down)

16,0,0,11 is cheese free

Note to self: need (diff) sat test?

sounds.txt edit

Place your sound files into the sounds directory named as following: message00N.mp3 (message001.mp3 ... message999.mp3), note that the mp3s need to be over one second (you may want to test them on your PSP first).

sounds.txt is a CSV that has the message number followed by the words it corresponds to.

the first line will be used for waypoints that do not correspond to anything else (but not for MIDPOINTS).

sounds.txt is read sequentially, so if you have 4,left then 5,left message005.mp3 will get used for directions containing left.

it is not indexed, so 4,left then 4,gauche is valid.

Note: you'll have to copy the message00N.mp3s to old map directories manually, and obviously any directions files will have to be rerun.

Map Sources edit

Working edit

Whatever is in GMDL, pretty much anything that matches the google tile projection, see: (something like that, except with x,y,z addressing)

MapABC (the map source used by seems to be significantly offset from Google Earth (this may be due to a different projection/grid in China, that was not converted correctly).

Custom maps via specifying the URL with parameters edit$x$_$y$_$17-z$.png$0123$.png

(there are a few more overlays at )

Requests edit

Note: if you have found an online map that you think may be usable, add it here Map of Baku city, Azerbaijan. No alternatives on the web at all! Please add this map

Tiles are compatible, URL looks reasonably straight forward

Not GPS compatible but could be manipulated into giving 256x256 tile stack

More precise source for Brazil

Not Working edit

Note: please give a reason (e.g. sample tiles that do not coincide)

Projection not compatible

Projection not compatible, tile addressing is a two part system

uamap_cuid=cm46a5bf3db2d41 -- session id that requests map

st=19 -- number of map requested

Projection not compatible, tile addressing is a two part system (same as above)

Incompatible tile projection (256x256 tiles so could pull non-gps)

Not true anymore. Czech developer Kexik has already managed to create a modified version of GMDL + updated MapViewer

200x200 tiles

incompatible projection

Map is rendered on request as a 500x500 image

Can't find the map


As far as I know the maps are stored in vector form, and there is no way to export them as a single image

Vector Java based maps

Non-Java version ( , right? ) does not have compatible tiles (not even square)

Incompatible tile projection

Incompatible tile projection, watermarked when accessed directly (referrer/session id check?)

Incompatible tile projection

Pre-rendered 430px ? 555px maps

Incompatible tile projection, encoded URLs;d29oXzAwNDVtX3IwMg==;MDAwMDAwMDAwNTAwMDAwMDAwMDc=

Mac How

Incompatible tile projection

GMDT's map data incompatible with xGPS on iPhone - fixed as of 0.5.10b (but may break if xGPS changes its database format again)

Hardware: iphone 3G/16Gb/international/jailbreaked

Software: xGPS 1.2.7

xGPS force quit to sprinboard when loading map data

GeoData.DAT edit

As of GMDL 0.4.4b the GeoData creation app is now part of GMDL, requiring pre-processed USGS TIGER or StatCan RNF files, a full set (550MB or 30MB) of which can be downloaded from

USA edit

Covered via USGS TIGER.

Canada edit

On version 2.

Covered via StatCan RNF and NRC GNSS.

Sweden edit

Appears to be done as of GMDL 0.4.17a on July 1, 2007 - I would really appreciate some bug reports on this though.

You will need the .PBA files and lktab.txt if you want city names (101 files all together) - more details on that in the app.

1. Open GMDL

2. Click GeoData

3. Select the Sweden (PBA) tab

4. Set the directory containing the .PBA and the lktab.txt files

5. Click Process

6. Wait, and it will tell you where the geodata.dat was generated, place that into your map directory on the PSP

Where to get the files (once you got the Kartex app)

PBA files can be found on the Kartex CD:

Kartex\Tatorter\CITY NAME\CITY NAME.pba

It is probably a good idea to just search for *.pba and copy all 100 of them into a directory.

lktab.txt gets created after you install Kartex, and can be found in [C:\Program Files\ I think] Stadkart\lktab.txt

Technical notes:

The PBA files have RT90 coordinates (converted to lat lon via PROJ.4 in GMDL), however within the PBA files the coordinate data is mixed with some sort of index (looks like they wanted to get an even spread, probably due to the search algorithm that they are using). The format is roughly ENCODED.#CODE where ENCODED is the encoded RT90, # is redundant, and CODE is a code that translates into a DIVISOR to get RT90:

x: RT90 = 6098185 + ENCODED * 2 / DIVISOR
y: RT90 = 1098185 + ENCODED * 2 / DIVISOR

DIVISOR can be generated by using 4 (probably less, but will take longer, scan i up to 2000 for the 4 seeds below) seeds, as following: seed_code * i, take the last 3 digits, if they match the code, make a note of i, seed_divisor * i, take the last 3 digits - that's the divisor.

seed_code    seed_divisor
374          2
61           3
435          5
809          7

UK edit

Postcodes only, from various public sources, semi abandoned at this point.

Custom edit

Appears to be done as of GMDL 0.4.17a on July 3, 2007 - I would really appreciate some bug reports on this though.

Get your data into a CSV with the following format (with column names by default, or you can uncheck that in GMDL):

Mandatory (this is so you can convert the same CSV into a POI file):


Optional (extra columns, after city, are ignored for POI conversion):

lon,lat,name,city (description),min number,max number

Note: city (description) is what the geodata file will be segmented by (it should be a geographical area, it is fine being the same for all rows if you have a reasonably small set), if it's not specified rounded lat/lon will be used

Note: If your CSV is delimited by ; instead of , (e.g. if the decimal point is a decimal coma, like in French, German, Russian, etc.) check the CSV is delimited by ;... checkbox

For example (the NZ txt extract), open Excel, open the txt, leave the import on Delimited, with Tab, and Finish, select all cells except the header row, and sort AtoZ (this eliminates the empty rows). Re-arrange the columns as follows: LONG, LAT, FULL_NAME and delete the others. Save-as a csv (Yes to keeping in the CSV format).

Open GMDL, click GeoData, select the Custom (CSV) tab, set the file and click process, place the resulting geodata.dat into your map directory.

Sample source:

Creating GeoData.DAT for an existing map edit

1) Click GeoData (top left)
2) Select the StatCan RNF tab if you are adding Canadian geodata
3) Click 1/3 - Select map and select the map
4) Click 2/3 - Select for map
5) Click 3/3 - Save geodata.dat
6) Wait, and that's it.