|
|
|
@ -3,36 +3,36 @@ Windshaft-CartoDB
|
|
|
|
|
|
|
|
|
|
[![Build Status](https://travis-ci.org/CartoDB/Windshaft-cartodb.svg?branch=master)](https://travis-ci.org/CartoDB/Windshaft-cartodb)
|
|
|
|
|
|
|
|
|
|
This is the CartoDB map tiler. It extends Windshaft with some extra
|
|
|
|
|
functionality and custom filters for authentication
|
|
|
|
|
This is the [CartoDB Maps API](http://docs.cartodb.com/cartodb-platform/maps-api.html) tiler. It extends
|
|
|
|
|
[Windshaft](https://github.com/CartoDB/Windshaft) with some extra functionality and custom filters for authentication.
|
|
|
|
|
|
|
|
|
|
* reads dbname from subdomain and cartodb redis for pretty tile urls
|
|
|
|
|
* configures windshaft to publish ``cartodb_id`` as the interactivity layer
|
|
|
|
|
* configures windshaft to publish `cartodb_id` as the interactivity layer
|
|
|
|
|
* gets the default geometry type from the cartodb redis store
|
|
|
|
|
* allows tiles to be styled individually
|
|
|
|
|
* provides a link to varnish high speed cache
|
|
|
|
|
* provides a ``infowindow`` endpoint for windshaft (DEPRECATED)
|
|
|
|
|
* provides a ``map_metadata`` endpoint for windshaft (DEPRECATED)
|
|
|
|
|
* provides signed template maps API
|
|
|
|
|
(http://github.com/CartoDB/Windshaft-cartodb/wiki/Template-maps)
|
|
|
|
|
* provides a [template maps API](https://github.com/CartoDB/Windshaft-cartodb/blob/master/docs/Template-maps.md)
|
|
|
|
|
|
|
|
|
|
Requirements
|
|
|
|
|
------------
|
|
|
|
|
|
|
|
|
|
[core]
|
|
|
|
|
- node-0.8.x+
|
|
|
|
|
- PostgreSQL-8.3+
|
|
|
|
|
- PostGIS-1.5.0+
|
|
|
|
|
- Redis 2.4.0+ (http://www.redis.io)
|
|
|
|
|
- Mapnik 2.0 or 2.1
|
|
|
|
|
|
|
|
|
|
[for cache control]
|
|
|
|
|
- CartoDB-SQL-API 1.0.0+
|
|
|
|
|
- CartoDB 0.9.5+ (for ``CDB_QueryTables``)
|
|
|
|
|
- Varnish (http://www.varnish-cache.org)
|
|
|
|
|
|
|
|
|
|
[for running the testsuite]
|
|
|
|
|
- Imagemagick (http://www.imagemagick.org)
|
|
|
|
|
- Core
|
|
|
|
|
- Node.js >=0.8
|
|
|
|
|
- npm >=1.2.1
|
|
|
|
|
- PostgreSQL >8.3.x, PostGIS >1.5.x
|
|
|
|
|
- Redis >2.4.0 (http://www.redis.io)
|
|
|
|
|
- Mapnik 2.0.1, 2.0.2, 2.1.0, 2.2.0, 2.3.0. See Installing Mapnik.
|
|
|
|
|
- Windshaft: check [Windshaft dependencies and installation notes](https://github.com/CartoDB/Windshaft#dependencies)
|
|
|
|
|
- libcairo2, libpango1.0, libjpeg8 and libgif for server side canvas support
|
|
|
|
|
|
|
|
|
|
- For cache control (optional)
|
|
|
|
|
- CartoDB-SQL-API 1.0.0+
|
|
|
|
|
- CartoDB 0.9.5+ (for `CDB_QueryTables`)
|
|
|
|
|
- Varnish (http://www.varnish-cache.org)
|
|
|
|
|
|
|
|
|
|
- For running the testsuite
|
|
|
|
|
- ImageMagick (http://www.imagemagick.org)
|
|
|
|
|
|
|
|
|
|
Configure
|
|
|
|
|
---------
|
|
|
|
@ -74,59 +74,16 @@ there may be out-of-sync records in there.
|
|
|
|
|
Take a look: http://redis.io/commands
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
URLs
|
|
|
|
|
----
|
|
|
|
|
|
|
|
|
|
**TILES**
|
|
|
|
|
|
|
|
|
|
[GET] subdomain.cartodb.com/tiles/:table_name/:z/:x/:y.[png|png8|grid.json]
|
|
|
|
|
|
|
|
|
|
Args:
|
|
|
|
|
|
|
|
|
|
* sql - plain SQL arguments
|
|
|
|
|
* interactivity - specify the column to use in UTFGrid
|
|
|
|
|
* cache_buster - Specify an identifier for the internal tile cache.
|
|
|
|
|
Requesting tiles with the same cache_buster value may
|
|
|
|
|
result in being served a cached version of the tile
|
|
|
|
|
(even when requesting a tile for the first time, as tiles
|
|
|
|
|
can be prepared in advance)
|
|
|
|
|
* cache_policy - Set to "persist" to have the server send an Cache-Control
|
|
|
|
|
header requesting caching devices to keep the response
|
|
|
|
|
cached as much as possible. This is best used with a
|
|
|
|
|
timestamp value in cache_buster for manual control of
|
|
|
|
|
updates.
|
|
|
|
|
* geom_type - override the cartodb default
|
|
|
|
|
* style - override the default map style with Carto
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**STYLE**
|
|
|
|
|
|
|
|
|
|
[GET/POST] subdomain.cartodb.com/tiles/:table_name/style
|
|
|
|
|
|
|
|
|
|
Args:
|
|
|
|
|
|
|
|
|
|
* style - the style in CartoCSS you want to set
|
|
|
|
|
* style_version - the version of the style for POST
|
|
|
|
|
* style_convert - request conversion to target version (both POST and GET)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**INFOWINDOW**
|
|
|
|
|
|
|
|
|
|
[GET] subdomain.cartodb.com/tiles/:table_name/infowindow
|
|
|
|
|
|
|
|
|
|
Args:
|
|
|
|
|
|
|
|
|
|
* infowindow - returns contents of infowindow from CartoDB.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**MAP METADATA**
|
|
|
|
|
|
|
|
|
|
[GET] subdomain.cartodb.com/tiles/:table_name/map_metadata
|
|
|
|
|
Documentation
|
|
|
|
|
-------------
|
|
|
|
|
|
|
|
|
|
Args:
|
|
|
|
|
The [docs directory](https://github.com/CartoDB/Windshaft-cartodb/tree/master/docs) contains different documentation
|
|
|
|
|
resources, from higher level to more detailed ones:
|
|
|
|
|
The [Maps API](https://github.com/CartoDB/Windshaft-cartodb/blob/master/docs/Map-API.md) defined the endpoints and their
|
|
|
|
|
expected parameters and outputs.
|
|
|
|
|
|
|
|
|
|
* infowindow - returns contents of infowindow from CartoDB.
|
|
|
|
|
|
|
|
|
|
Examples
|
|
|
|
|
--------
|
|
|
|
|
|
|
|
|
|
All GET requests are wrappable with JSONP using callback argument,
|
|
|
|
|
including the UTFGrid map tile call.
|
|
|
|
|
[CartoDB's Map Gallery](http://cartodb.com/gallery/) showcases several examples of visualisations built on top of this.
|
|
|
|
|