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)

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 https://github.com/camptocamp/tilecloud-chain/blob/master/tilecloud_chain/USAGE.rst.

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

Uploaded Source

Built Distribution

tilecloud_chain-1.19.0-py3-none-any.whl (206.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tilecloud_chain-1.19.0.tar.gz
  • Upload date:
  • Size: 179.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for tilecloud_chain-1.19.0.tar.gz
Algorithm Hash digest
SHA256 4384e310ce4fd0c7a7a7a82e9b6a285520ef1ce37e92c0753ce0097d0344ecda
MD5 7406b678a24ad1b2394d938fed4a0a2d
BLAKE2b-256 4fefb6a57f05e6152b8c0ed44dad8865ef3880b9c8cf27f7d76177d20a01048d

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for tilecloud_chain-1.19.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bc84bb96205992a9a3e5c1369c8eefb2e27ab9b8099858483cc8b4d2bf0d1424
MD5 4f25e5801f8ddfcace8c32fbde4e7ace
BLAKE2b-256 4f7f8bb3d81d4bf63951f9373281ad899f1c28f1f9ff257f0601ee2de14b8304

See more details on using hashes here.

Provenance

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