LOD Docs
  • 👋Welcome
  • 🚧Roadmap
  • Configuration
    • 📖Reference Guide
      • API
        • Proxy
        • Admin
          • Instance Status
          • Instance Capabilities
          • Reload Config
          • Flush the Cache
          • Cache Invalidation
          • Cache Priming
      • Capabilities
        • Instance
        • Proxy
          • Cache
          • Params
    • 📑Sample Config
  • Community
    • 🔒Security Policy
    • ✏️Contributing
Powered by GitBook
On this page
  • Getting Started
  • Core Principles
  • License
  • More Tile Resources

Was this helpful?

Export as PDF

Welcome

Online documentation and usage examples to speed up your maps in no time.

NextRoadmap

Last updated 2 years ago

Was this helpful?

LOD (Levels of Detail) is a thin map tile proxy with in-memory caching and a slim authentication backend built with performance in mind. It will sit in front of any tile server and will aggressively cache tiles in memory, optionally storing them in a configured Redis cluster for faster fetching later. LOD is cluster-aware and uses Redis message queueing for intra-cluster communication when multiple instances are deployed together.

LOD is written in Go 1.19 using . TOML is used for configuration. Go templates are used for templating. Internal in-memory caching is built upon the library by .

These docs are for LOD v0, which is in active development. LOD v1 is coming soon. See the for more info.

Getting Started

Download a build from the releases page or just run:

$ go install github.com/tile-fund/lod@latest

NOTE: You'll need the GEOS library installed on your system to use some of LOD's more advanced cache invalidation and priming functionality.

Flags:
  --conf  Path to TOML configuration file. Default: config.toml
  --dev   Whether to enable developer mode. Default: false
  --debug Optional comma separated debug flags. Ex: foo,bar,baz
  --help  Shows this help menu.
Usage:
  lod [--conf config.toml] [--dev]

Or just use our Docker image!

You can create your own Dockerfile that adds a config.toml from the context into the config directory, like so:

FROM tilefund/lod:0.8.0
COPY /path/to/your_config.toml /opt/lod_cfg/config.toml
CMD [ "/opt/lod", "--conf", "/opt/lod_cfg/config.toml" ]

Alternatively, you can specify something along the same lines with Docker run options:

$ docker run -v /path/to/lod-config:/opt/lod_config -p 1337:1337 tilefund/lod:0.8.0 --conf /opt/lod_config/config.toml

Core Principles

  • Lightweight, parallel, and non-blocking

  • Tileserver agnostic (Martin, Tegola, flat file NGINX, etc.)

  • Tile format and content agnostic

    • Raster (PNG/JPG/TIFF)

License

More Tile Resources

Vector ( or )

And ...

Supports and tile indexing schemes

LOD is licensed under the GNU Affero General Public License 3 or any later version at your choice. See for details.

👋
fiber
bigcache
allegro
Roadmap
Mapbox Vector Tiles
other vector formats
more
XYZ (Slippy)
TMS
COPYING
https://wiki.openstreetmap.org/wiki/Category:Tiles_and_tiling
https://wiki.openstreetmap.org/wiki/Tile_servers
https://github.com/mapbox/awesome-vector-tiles
https://docs.mapbox.com/vector-tiles/reference/