Skip to main content

Tools to generate tiles from WMS or Mapnik, to S3, Berkeley DB, MBTiles, or local filesystem in WMTS layout using Amazon cloud services.

Project description

TileCloud Chain

The goal of TileCloud Chain is to provide tools around tile generation on a chain like:

Source: WMS, Mapnik.

Optionally using an SQS queue, AWS host, SNS topic.

Destination in WMTS layout, on S3, on Berkeley DB (bsddb), on MBTiles, or on local filesystem.

Features:

  • Generate tiles.
  • Drop empty tiles.
  • Drop tiles outside a geometry or a bbox.
  • Use MetaTiles.
  • Generate the legend images.
  • Generate GetCapabilities.
  • Generate OpenLayers example page.
  • Obtain the hash of an empty tile.
  • In the future, measure tile generation speed.
  • Calculate cost and generation time.
  • In the future, manage the AWS hosts that generate tiles.
  • Delete empty tiles.
  • Copy files between caches.
  • Be able to use an SQS queue to dispatch the generation.
  • Post processing the generated tiles.
  • ...

Legacy features:

  • bsddb support
  • sqlite (mbtiles) support
  • mapnik support (should be updated for Python3)

Screenshot

Screenshot of the admin page with queue stored on PostgreSQL:

TileCloud Chain

Get it

Create the config file tilegeneration/config.yaml see as example.

Support

Only the latest release is supported and version < 1.11 contains security issues.

From sources

Build it:

git submodule update --recursive
python3 -m venv .build/venv
.build/venv/bin/pip install -r requirements.txt
.build/venv/bin/pip install -e .
.build/venv/bin/pip install -r dev-requirements.txt

Run prospector

.build/venv/bin/prospector

Run the tests

Setup your environment:

touch tilecloud_chain/OpenLayers.js
docker build --tag camptocamp/tilecloud-chain .
docker-compose -p tilecloud up

To run the tests:

docker-compose -p tilecloud exec test python setup.py nosetests --logging-filter=tilecloud,tilecloud_chain --attr '!'nopy3

Documentation

As documentation you can read the USAGE.rst and the configuration reference.

VSCode

You can add that in your workspace configuration to use the JSON schema:

{
  "yaml.schemas": {
    "../tilecloud-chain/tilecloud_chain/schema.json": [
      "tilecloud-chain/tilecloud_chain/tests/tilegeneration/*.yaml"
    ]
  }
}

Contributing

Install the pre-commit hooks:

pip install pre-commit
pre-commit install --allow-missing-config

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tilecloud_chain-1.21.0.tar.gz (175.6 kB view hashes)

Uploaded Source

Built Distribution

tilecloud_chain-1.21.0-py3-none-any.whl (204.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page