Morecantile
Construct and use map tile grids (a.k.a TileMatrixSet / TMS).
Documentation: https://developmentseed.org/morecantile/
Source Code: https://github.com/developmentseed/morecantile
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 Version | OGC Specification Version | Link |
|---|---|---|
| >=4.0 | 2.0 | https://docs.ogc.org/is/17-083r4/17-083r4.html |
| =<3.0 | 1.0 | http://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:
- CDB1GlobalGrid *: CDB 1 Global Grid - EPGS:4326 (WGS84)
- CanadianNAD83_LCC: Lambert conformal conic NAD83 for Canada - EPSG:3978
- EuropeanETRS89_LAEAQuad: ETRS89-extended / LAEA Europe - EPGS:3035
- GNOSISGlobalGrid *: GNOSIS Global Grid - EPGS:4326 (WGS84)
- LINZAntarticaMapTilegrid: LINZ Antarctic Map Tile Grid (Ross Sea Region) - EPSG:5482
- NZTM2000Quad: LINZ NZTM2000 Map Tile Grid - EPSG:2193
- UPSAntarcticWGS84Quad: Universal Polar Stereographic WGS 84 Quad for Antarctic - EPSG:5042
- UPSArcticWGS84Quad: Universal Polar Stereographic WGS 84 Quad for Arctic - EPSG:5041
- UTM31WGS84Quad: Example of UTM grid - EPSG:32631
- WebMercatorQuad: Spherical Mercator - EPGS:3857 (default grid for Web Mercator based maps)
- WGS1984Quad: EPSG:4326 for the World - EPGS:4326 (WGS84)
- WorldCRS84Quad: CRS84 for the World
- WorldMercatorWGS84Quad: Elliptical Mercator projection - EPGS:3395
* 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
- rio-tiler: Create tile from raster using Morecantile TMS.
- titiler: A modern dynamic tile server built on top of FastAPI and Rasterio/GDAL.
- tipg: OGC Features and Tiles API.
- planetcantile: Tile matrix sets for other planets.
- supermorecado: Extend the functionality of morecantile with additional commands.
Changes
See CHANGES.md.
Contribution & Development
See CONTRIBUTING.md
License
See LICENSE
Authors
Created by Development Seed
Release files for morecantile 7.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| morecantile-7.1.0.tar.gz | 43.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| morecantile-7.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 94.0 kB
Release files / morecantile-7.1.0.tar.gz
| Download URL | morecantile-7.1.0.tar.gz |
|---|---|
| Size | 43.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7faf41f8b3c364a322fe96d44f43b6ba55dc0ba7454222cebc3b695ffec4bc97
|
|
BLAKE2b-256 checksum How to use checksums |
ef4620ec1fad75ed4fc4b20c86550507f868366154040e6db1d5dd9ca6538b6f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.
Transparency logRelease files / morecantile-7.1.0-py3-none-any.whl
| Download URL | morecantile-7.1.0-py3-none-any.whl |
|---|---|
| Size | 50.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1a6fd28a22467a6ec3fef1dfc4659d892a48a3c7e5e4acdceff68c6cc7956b0b
|
|
BLAKE2b-256 checksum How to use checksums |
a70190cb898ee87d0a5c89c60a6a95978c70bceab4180abc8855de9771df09e1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.
Transparency log