Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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"
    ]
  }
}

Changelog

Release 1.17

  1. Change the validator and parser => duplicate key generate an error: on/off are no more considered as boolean.
  2. The argument --layer is no more used when we use the parameter --tiles, we get the information from the tiles file.
  3. Be able to mutualise the service.
  4. Add Azure blob storage
  5. Remove Apache and MapCache
  6. Remove the log_format in the generation configuration, nor we use the logging configuration from the development.ini file.

Release 1.16

  1. Change the config validator who is a little bit more strict.

Release 1.4

  1. Add optional metadata section to the config file. See the scaffolds for example.

Release 0.9

  1. Correct some error with slash.
  2. Better error handling.
  3. Be able to have one error file per layer.

Release 0.8

  1. Correct some error with slash.
  2. Add pre_hash_post_process and post_process.
  3. Add copy command.

Release 0.7

  1. Support of deferent geoms per layers, requires configuration changes, old version:

    connection: user=www-data password=www-data dbname=<db> host=localhost
    sql: <column> AS geom FROM <table>
    

    to new version:

    connection: user=www-data password=www-data dbname=<db> host=localhost
    geoms:
      - sql: <column> AS geom FROM <table>
    

    More information in the Configure geom/sql chapter.

  2. Update from optparse to argparse, and some argument refactoring, use --help to see the new version.

  3. Add support of Blackbery DB (bsddb).

  4. The tile server is completely rewrite, now it support all cache, REST and KVP interface, GetFeatureInfo request, and it can be used as a pyramid view or as a WSGI server. More information in the istribute the tiles chapter.

  5. Add three strategy to bypass the proxy/cache: Use the headers Cache-Control: no-cache, no-store, Pragma: no-cache (default). Use localhost in the URL and the header Host: <host_name> (recommended). Add a SALT random argument (if the above don't work). More information in the Proxy/cache issue chapter.

  6. Improve the dimensions usage by adding it ti the WMS requests, And add a --dimensions argument of generate_tiles to change the dimensions values.

  7. Extract generate_cost and generate_amazon from generate_controler.

  8. Now we can creates legends, see the Legends chapter.

  9. Now the tiles generation display generation statistics at the ends.

  10. The EC2 configuration is moved in a separate structure, see README for more information.

Release 0.6

  1. Now the apache configuration can be generated with .build/venv/bin/generate_controller --generate-apache-config, it support filesystem cache and MapCache.
  2. Windows fixes.
  3. Use console rewrite (r) to log generated tiles coordinates.
  4. Now if no layers is specified in generation:default_layers we generate all layers by default.
  5. Now bbox to be floats.
  6. New --get-bbox option to get the bbox of a tile.
  7. Add coveralls support (https://coveralls.io/r/camptocamp/tilecloud-chain).
  8. Add an config option generation:error_file and a command option --tiles to store and regenerate errored tiles.

Release 0.5

  1. SQS config change:
layers:
  layer_name:
    sqs:
      # The region where the SQS queue is
      region: eu-west-1
      # The SQS queue name, it should already exists
      queue: the_name
  1. Add debug option (--debug), please use it to report issue.
  2. Now the sql request can return a set of geometries in a column names geom but the syntax change a little bit => <column> AS geom FROM <table>

Metadata

Release files for tilecloud-chain 1.17.0.dev20220323111345

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for tilecloud-chain 1.17.0.dev20220323111345
File Interpreter ABI Platform
tilecloud_chain-1.17.0.dev20220323111345-py3-none-any.whl Python 3 none any Details

Release files / tilecloud_chain-1.17.0.dev20220323111345-py3-none-any.whl

Download URL tilecloud_chain-1.17.0.dev20220323111345-py3-none-any.whl
Size 74.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9b711d2d9dd0c085b4ea2817ed63ff2b84dd5b55137dfd9ac079bc9ca9d4b568
BLAKE2b-256 checksum
How to use checksums
6356790e6b154998b969380ee6e7725e8178235620dfabb77c93f848f4640319
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/18.0.1 rfc3986/2.0.0 colorama/0.4.3 CPython/3.8.10

Release history Release notifications | RSS feed

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.23.1

2 release files

1.23.0

2 release files

1.22.0

2 release files

1.21.0

2 release files

1.20.0

2 release files

1.17.4

1 release file

1.17.0

1 release file

This release

1.16.1

1 release file

1.16.0

1 release file

1.15.0

1 release file

1.14.0

2 release files

1.13.9

1 release file

1.13.8

1 release file

1.13.7

1 release file

1.13.6

1 release file

1.13.5

1 release file

1.13.4

1 release file

1.13.3

1 release file

1.13.2

1 release file

1.13.1

1 release file

1.13.0

1 release file

1.12.3

1 release file

1.12.2

1 release file

1.12.1

1 release file

1.12.0

1 release file

1.11.2

2 release files

1.11.1

2 release files

1.11.0

2 release files

1.10.1

2 release files

1.10.0

2 release files

1.9.4

2 release files

1.9.3

2 release files

1.9.2

2 release files

1.9.1

2 release files

1.9.0

2 release files

1.8.3

2 release files

1.8.2

2 release files

1.8.1

2 release files

1.8.0

2 release files

1.7.2

2 release files

1.7.1

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.2

2 release files

1.5.0

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.9.0

1 release file

0.8.2

1 release file

0.8.1

1 release file

0.8.0

1 release file

0.7.2

1 release file

0.7.1

1 release file

0.7.0

1 release file

0.6

1 release file

0.5

1 release file

0.4.1

1 release file

0.4

1 release file

0.3

1 release file

0.2

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page