Note: Google satellite and MS appear to use the same naming convention - see examples below. They cover exactly the same area, and can be converted via a simple search/replace.

Google

Examples

Satellite (jpg)
http://kh0.google.com/kh?n=404&v=17&t=tqtsqrqtrtttqsqsrrtr
Map (png)
http://mt1.google.com/mt?n=404&v=w2.39&x=329&y=792&zoom=6
Hybrid (png)
http://mt1.google.com/mt?n=404&v=w2t.39&x=329&y=792&zoom=6

Rules

http://[server].google.com/tiles/kh?n=404&v=[version]&t=[location]

  • Servers: Choice of four, encountered: kh0, kh1, kh2, kh3.
  • Version: Occasionally-updated integer, currently 17 (Feb 10).
  • Location: Array of successive zooms, starting at t for whole planet.
    • q = upper left, r = upper right, s = lower right, t = lower left.
    • Number of characters = amount of zoom, 1 = whole planet, 20 = maximum zoom for certain metro areas.

http://[server].google.com/mt?n=404&v=[version]&x=[column]&y=[row]&zoom=[zoom]

  • Servers: Choice of four, encountered: mt0, mt1, mt2, mt3.
  • Version: Occasionally-updated value, currently 2.39 and 2t.39 (Feb 10).
  • Row, Column: 0, 0 = upper-left.
  • Zoom: Lower number = tighter zoom, 1 = maximum zoom, 17 = whole planet.

Implementations

Base tile class, with conversions for Google's r/q/s/t tile naming convention
source:trunk/play/002/gmaps.py
Downloader for tiles covering all of Kinshasa (Congo)
source:trunk/play/002/Kinshasa-tiles.py

Yahoo!

Examples

Map (swf)
http://us.maps1.yimg.com/us.tile.maps.yimg.com/tile?md=200608221700&col=328&row=232&z=7
Map (png)
http://us.maps2.yimg.com/us.png.maps.yimg.com/png?v=3.1.0&t=m&x=328&y=232&z=7
Satellite (jpg)
http://us.maps3.yimg.com/aerial.maps.yimg.com/img?md=200605101500&x=328&y=232&z=7&v=1.5&t=a

Implementations

Image stitcher for generating arbitrarily-sized and -zoomed Yahoo maps based on reference tile location
source:trunk/play/002/Platial-stitch.py

Rules

http://[server,path]?[extra]&[column]&[row]&z=[zoom]

  • Server/Path: Different for every map type:
    • Roads (png):us.maps2.yimg.com/us.png.maps.yimg.com/png
    • Roads (swf): us.maps1.yimg.com/us.tile.maps.yimg.com/tile
    • Satellite (jpg): us.maps3.yimg.com/aerial.maps.yimg.com/tile
    • Hybrid (png): us.maps3.yimg.com/aerial.maps.yimg.com/png
    • Hybrid (swf): us.maps3.yimg.com/aerial.maps.yimg.com/img
  • Zoom: Lower number = tighter zoom, 1 = maximum zoom, 18 = whole planet (only 17 and lower, northern hemisphere are available).
  • Row, Column: 0, 0 = lower-left of northern hemisphere.
    • Different from Google, Microsoft: row zero at equator, grows North.
    • Variables are called col, row for road swfs, x, y for everything else.
  • Extra: Other, apparently necessary, version information:
    • Roads (png): v=3.1.0&t=m
    • Roads (swf): md=200608221700
    • Satellite (jpg): md=200605101500&v=1.5&t=a
    • Hybrid (png): v=1.1&t=h
    • Hybrid (swf): md=200608221700&v=2.0&t=h

Microsoft

Examples

Map (png)
http://r3.ortho.tiles.virtualearth.net/tiles/r0230102122203313.png?g=45
Satellite (jpg)
http://a0.ortho.tiles.virtualearth.net/tiles/a023010212220331013.jpeg?g=45
Hybrid (jpg)
http://h1.ortho.tiles.virtualearth.net/tiles/h0230102122203031121.jpeg?g=45

Rules

http://[type][server].ortho.tiles.virtualearth.net/tiles/[type][location].[format]?g=45

  • Servers: Choice of four, encountered: 0, 1, 2, 3.
  • Types: Note that this appears twice in the URL. r = road, a = aerial, h = hybrid.
  • Formats: png for road, jpeg otherwise.
  • Location: Array of successive zooms, starting at empty string for whole planet.
    • 0 = upper left, 1 = upper right, 2 = lower left, 3 = lower right.
    • Number of digits = amount of zoom, 0 = whole planet (only 1 and higher, northern hemisphere are available), 19 = maximum zoom for certain metro areas.

Ask

Examples

Map (png)
http://mapstatic1.ask.com/map/18/-1/-1?partner=7473676&tc=20
Satellite (jpg)
http://mapstatic1.ask.com/sat/18/-1/-1?partner=7473676&tc=20
Hybrid (png)
http://mapstatic1.ask.com/mapt/18/-1/-1?partner=7473676&tc=20

Rules

http://[server].ask.com/[type]/[zoom]/[column]/[row]?partner=7473676&tc=20

  • Servers: Choice of eight, encountered: mapstatic1, mapstatic2, mapstatic3, mapstatic4, mapcache1, mapcache2, mapcache3, mapcache4.
  • Types: map = road, sat = aerial, mapt = hybrid.
  • Zoom, column, row: Positive/negative integers.

OpenLayers

Provided by MetaCarta, http://openlayers.org/.

Examples

Basic (png)
http://labs.metacarta.com/wms-c/Basic.py?LAYERS=basic&FORMAT=image/png&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application/vnd.ogc.se_inimage&SRS=EPSG:4326&BBOX=-180,-90,-90,0&WIDTH=256&HEIGHT=256
Satellite (png)
http://labs.metacarta.com/wms-c/Basic.py?LAYERS=satellite&FORMAT=image/png&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application/vnd.ogc.se_inimage&SRS=EPSG:4326&BBOX=0,-90,90,0&WIDTH=256&HEIGHT=256