90 lines
3.0 KiB
Markdown
90 lines
3.0 KiB
Markdown
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 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
|
|
* 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 a [template maps API](https://github.com/CartoDB/Windshaft-cartodb/blob/master/docs/Template-maps.md)
|
|
|
|
Requirements
|
|
------------
|
|
- 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-dev, libpango1.0-dev, libjpeg8-dev and libgif-dev 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
|
|
---------
|
|
|
|
Create the config/environments/<env>.js files (there are .example files
|
|
to start from). You can optionally use the ./configure script for this,
|
|
see ```./configure --help``` to see available options.
|
|
|
|
Look at lib/cartodb/server_options.js for more on config
|
|
|
|
Build/install
|
|
-------------
|
|
|
|
To fetch and build all node-based dependencies, run:
|
|
|
|
```
|
|
git clone
|
|
npm install
|
|
```
|
|
|
|
Note that the ```npm install``` step will populate the node_modules/
|
|
directory with modules, some of which being compiled on demand. If you
|
|
happen to have startup errors you may need to force rebuilding those
|
|
modules. At any time just wipe out the node_modules/ directory and run
|
|
```npm install``` again.
|
|
|
|
|
|
Run
|
|
---
|
|
|
|
```
|
|
node app.js <env>
|
|
```
|
|
|
|
Where <env> is the name of a configuration file under config/environments/.
|
|
|
|
Note that caches are kept in redis. If you're not seeing what you expect
|
|
there may be out-of-sync records in there.
|
|
Take a look: http://redis.io/commands
|
|
|
|
|
|
Documentation
|
|
-------------
|
|
|
|
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.
|
|
|
|
|
|
Examples
|
|
--------
|
|
|
|
[CartoDB's Map Gallery](http://cartodb.com/gallery/) showcases several examples of visualisations built on top of this.
|