Skip to main content

Construct and use map tile grids (a.k.a TileMatrixSet / TMS).

Project description

Morecantile

Construct and use map tile grids (a.k.a TileMatrixSet / TMS).

Test Coverage Package version Downloads License


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 and earlier 1.0 http://docs.opengeospatial.org/is/17-083r2/17-083r2.html

Note: Variable matrix width tile set are not supported.

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 TMS grids:

  • CanadianNAD83_LCC: Lambert conformal conic NAD83 for Canada - EPSG:3978
  • EuropeanETRS89_LAEAQuad: ETRS89-extended / LAEA Europe - EPGS:3035
  • 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

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

morecantile-4.0.0a0.tar.gz (31.2 kB view details)

Uploaded Source

Built Distribution

morecantile-4.0.0a0-py3-none-any.whl (36.0 kB view details)

Uploaded Python 3

File details

Details for the file morecantile-4.0.0a0.tar.gz.

File metadata

  • Download URL: morecantile-4.0.0a0.tar.gz
  • Upload date:
  • Size: 31.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.30.0

File hashes

Hashes for morecantile-4.0.0a0.tar.gz
Algorithm Hash digest
SHA256 aec13ada162f2d738ead641cca0a8e5ae56b1d0276a988d2da0e4ad225008f10
MD5 4765b653fa7ec94834c228e1c485bec1
BLAKE2b-256 94b6aa9b783b5b8bd7d32df0721259ae0ffe059b7e5430a0821155e7022f2847

See more details on using hashes here.

File details

Details for the file morecantile-4.0.0a0-py3-none-any.whl.

File metadata

File hashes

Hashes for morecantile-4.0.0a0-py3-none-any.whl
Algorithm Hash digest
SHA256 fa908b90ce368a47fb01c597f0a326bdc13ce725eecaf454e367bd9f9253b825
MD5 b8eeedd95c3442784aef292650d4c88b
BLAKE2b-256 d9948eaf0a79998644d4a7a6d45f2a9dd145d3c52a610200e8f8da76d8ab52a8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page