| TileStache.Providers | index | 
The provider bits of TileStache.
 
A Provider is the part of TileStache that actually renders imagery. A few default
providers are found here, but it's possible to define your own and pull them into
TileStache dynamically by class name.
 
Built-in providers:
- mapnik (Mapnik)
- proxy (Proxy)
- vector (TileStache.Vector.Provider)
- url template (UrlTemplate)
- mbtiles (TileStache.MBTiles.Provider)
 
Example built-in provider, for JSON configuration file:
 
    "layer-name": {
        "provider": {"name": "mapnik", "mapfile": "style.xml"},
        ...
    }
 
Example external provider, for JSON configuration file:
 
    "layer-name": {
        "provider": {"class": "Module:Classname", "kwargs": {"frob": "yes"}},
        ...
    }
 
- The "class" value is split up into module and classname, and dynamically
  included. If this doesn't work for some reason, TileStache will fail loudly
  to let you know.
- The "kwargs" value is fed to the class constructor as a dictionary of keyword
  args. If your defined class doesn't accept any of these keyword arguments,
  TileStache will throw an exception.
 
A provider must offer one of two methods for rendering map areas.
 
The renderTile() method draws a single tile at a time, and has these arguments:
 
- width, height: in pixels
- srs: projection as Proj4 string.
  "+proj=longlat +ellps=WGS84 +datum=WGS84" is an example, 
  see http://spatialreference.org for more.
- coord: Coordinate object representing a single tile.
 
The renderArea() method draws a variably-sized area, and is used when drawing
metatiles. It has these arguments:
 
- width, height: in pixels
- srs: projection as Proj4 string.
  "+proj=longlat +ellps=WGS84 +datum=WGS84" is an example, 
  see http://spatialreference.org for more.
- xmin, ymin, xmax, ymax: coordinates of bounding box in projected coordinates.
- zoom: zoom level of final map. Technically this can be derived from the other
  arguments, but that's a hassle so we'll pass it in explicitly.
  
A provider may offer a method for custom response type, getTypeByExtension().
This method accepts a single argument, a filename extension string (e.g. "png",
"json", etc.) and returns a tuple with twon strings: a mime-type and a format.
Note that for image and non-image tiles alike, renderArea() and renderTile()
methods on a provider class must return a object with a save() method that
can accept a file-like object and a format name, e.g. this should word:
    
    provder.renderArea(...).save(fp, "TEXT")
 
... if "TEXT" is a valid response format according to getTypeByExtension().
 
Non-image providers and metatiles do not mix.
 
For an example of a non-image provider, see TileStache.Vector.Provider.
| Modules | ||||||
| 
 | ||||||
| Classes | ||||||||||||||||||||||||||
| 
 
 
 
 
 
 | ||||||||||||||||||||||||||
| Functions | ||
| 
 
 | ||
| Data | ||
| global_mapnik_lock = <thread.lock object at 0x1004b3180> | ||