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.22.0.tar.gz (175.8 kB view details)

Uploaded Source

Built Distribution

tilecloud_chain-1.22.0-py3-none-any.whl (204.0 kB view details)

Uploaded Python 3

File details

Details for the file tilecloud_chain-1.22.0.tar.gz.

File metadata

  • Download URL: tilecloud_chain-1.22.0.tar.gz
  • Upload date:
  • Size: 175.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for tilecloud_chain-1.22.0.tar.gz
Algorithm Hash digest
SHA256 c61cd96c2fc6b568e173399dd8171fa43f4e29dd4c62b584f1892ce66890c21c
MD5 5477120f937c15db1ee35ef06e1c2541
BLAKE2b-256 13ffb0a36fa37b06a6547915c651ab52d2fd1c49a570dc569e2a1307e9b8f2eb

See more details on using hashes here.

File details

Details for the file tilecloud_chain-1.22.0-py3-none-any.whl.

File metadata

File hashes

Hashes for tilecloud_chain-1.22.0-py3-none-any.whl
Algorithm Hash digest
SHA256 32dabc07c98287220d914c59baf4d6c7802a01bb855e363744a564a2f0e1704d
MD5 e17c16627fce524fd6467e9c7c88a325
BLAKE2b-256 1aed818cde4dd6b841517fd07114c95d981cfb8ebf500891c72a5f565f508e9f

See more details on using hashes here.

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