Skip to content

camptocamp/tilecloud-chain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3,631 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TileCloud-chain

TileCloud Chain is a comprehensive toolset for managing tile generation workflows. It supports various source and destination formats, making it a versatile solution for map tile management.

Sources

  • Web Map Service (WMS)
  • Mapnik rendering engine

Destination Formats and Storage

  • Web Map Tile Service (WMTS) layout
  • Amazon S3 storage
  • Azure Blob storage
  • Local filesystem

Key Features

  • Tile generation with configurable parameters
  • Automatic removal of empty tiles
  • Geographic filtering (bbox and geometry-based)
  • MetaTile support for efficient generation
  • Legend image generation
  • GetCapabilities document
  • OpenLayers demo page
  • Empty tile detection via hashing
  • Cache synchronization
  • Post-processing capabilities

Legacy Support

Note: The following features are maintained for backward compatibility:

  • Berkeley DB integration
  • SQLite (MBTiles) support
  • Mapnik rendering

Visual Preview

The admin interface with PostgreSQL queue integration:

TileCloud-chain admin interface

The test page:

TileCloud-chain test interface

Getting Started

Create a configuration file at tilegeneration/config.yaml.

Reference the example configuration.

Support Policy

Only the latest release receives active support. Versions prior to 1.11 contain security vulnerabilities and should not be used.

Development

Building

make build

Quality Assurance

make prospector

Testing

make tests

Generation Pipeline

The generate-tiles command supports four execution modes:

  • local: generate tiles directly and store them in the target cache.
  • master: prepare metatile jobs and push them to the queue store.
  • slave: read jobs from the queue store, generate tiles, and store them.
  • --get-hash: switch to hash mode to print metatile/tile hashes.
flowchart TD
    A["generate-tiles CLI"] --> B{"Mode"}

    B -->|local| L1["Build metatile stream"]
    B -->|master| M1["Build metatile stream"]
    B -->|slave| S1["Read metatiles from queue"]
    B -->|hash via --get-hash| H1["Build tile or metatile selection"]

    L1 --> L2["Apply geometry filter"]
    L2 --> C["Fetch source tile data"]
    M1 --> M2["Apply geometry filter"]
    M2 --> O3["Push metatile jobs to queue (Redis, SQS, PostgreSQL)"]
    S1 --> C
    H1 --> C

    C --> D["Split metatiles into tiles"]
    D --> E{"Hash handling"}

    E -->|hash mode| H2["Print hash values"]
    E -->|normal modes| F["Drop empty tiles/metatiles with configured hashes"]

    F --> G["Run post-process chain"]
    G --> I{"Mode output"}

    I -->|local| O1["Store tiles to cache (S3, local, etc.)"]
    I -->|slave| O2["Store tiles to cache and delete processed queue items"]
    I -->|hash| O4["Console output only"]
Loading

Documentation

Contributing

Set up pre-commit hooks:

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

About

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

Topics

Resources

License

Security policy

Stars

47 stars

Watchers

9 watching

Forks

Packages

 
 
 

Contributors