Home

Awesome

Morecantile

<p align="center"> <img height="500" src="https://github.com/developmentseed/morecantile/assets/10407788/a1523c6d-e255-4dc6-a201-20029715858a"/> <p align="center">Construct and use map tile grids (a.k.a TileMatrixSet / TMS).</p> </p> <p align="center"> <a href="https://github.com/developmentseed/morecantile/actions?query=workflow%3ACI" target="_blank"> <img src="https://github.com/developmentseed/morecantile/workflows/CI/badge.svg" alt="Test"> </a> <a href="https://codecov.io/gh/developmentseed/morecantile" target="_blank"> <img src="https://codecov.io/gh/developmentseed/morecantile/branch/main/graph/badge.svg" alt="Coverage"> </a> <a href="https://pypi.org/project/morecantile" target="_blank"> <img src="https://img.shields.io/pypi/v/morecantile?color=%2334D058&label=pypi%20package" alt="Package version"> </a> <a href="https://pypistats.org/packages/morecantile" target="_blank"> <img src="https://img.shields.io/pypi/dm/morecantile.svg" alt="Downloads"> </a> <a href="https://github.com/developmentseed/morecantile/blob/main/LICENSE" target="_blank"> <img src="https://img.shields.io/github/license/developmentseed/morecantile.svg" alt="License"> </a> </p>

Documentation: <a href="https://developmentseed.org/morecantile/" target="_blank">https://developmentseed.org/morecantile/</a>

Source Code: <a href="https://github.com/developmentseed/morecantile" target="_blank">https://github.com/developmentseed/morecantile</a>


Morecantile is like mercantile (the best tool to work with Web Mercator tile indexes), but with support for other TileMatrixSet grids.

Morecantile follows the OGC Two Dimensional Tile Matrix Set specification 2.0 found in https://docs.ogc.org/is/17-083r4/17-083r4.html

Morecantile VersionOGC Specification VersionLink
>=4.02.0https://docs.ogc.org/is/17-083r4/17-083r4.html
=<3.01.0http://docs.opengeospatial.org/is/17-083r2/17-083r2.html

Install

$ python -m pip install -U pip
$ python -m pip install morecantile

# Or install from source:
$ python -m pip install -U pip
$ python -m pip install git+https://github.com/developmentseed/morecantile.git

Usage

import morecantile

tms = morecantile.tms.get("WebMercatorQuad")

# Get TMS bounding box
print(tms.xy_bbox)
>>> BoundingBox(
    left=-20037508.342789244,
    bottom=-20037508.34278919,
    right=20037508.34278919,
    top=20037508.342789244,
)

# Get the bounds for tile Z=4, X=10, Y=10 in the TMS's CRS (e.g epsg:3857)
print(tms.xy_bounds(morecantile.Tile(10, 10, 4)))
>>> BoundingBox(
    left=5009377.085697308,
    bottom=-7514065.628545959,
    right=7514065.628545959,
    top=-5009377.085697308,
)

# Get the bounds for tile Z=4, X=10, Y=10 in Geographic CRS (e.g epsg:4326)
print(tms.bounds(morecantile.Tile(10, 10, 4)))
>>> BoundingBox(
    left=44.999999999999964,
    bottom=-55.776573018667634,
    right=67.4999999999999,
    top=-40.97989806962009,
)

More info can be found at https://developmentseed.org/morecantile/usage/

Defaults Grids

morecantile provides a set of default TileMatrixSets:

* TileMatrixSets with variable Matrix Width (see https://docs.ogc.org/is/17-083r4/17-083r4.html#toc15)

ref: https://schemas.opengis.net/tms/2.0/json/examples/tilematrixset/

Implementations

Changes

See CHANGES.md.

Contribution & Development

See CONTRIBUTING.md

License

See LICENSE

Authors

Created by Development Seed