Skip to main content

MapBox Mbtiles Utilities

Project description

Mapbox MBtiles Utilities

A Python 2.7 and 3 library for working with Mabox mbtiles v1.1

Build Status Coverage Status

Features

Provides a lighweight Python API for reading and writing mbtiles files.

Mabox mbtiles v1.1 allow you to store geographic data as rendered image tiles or as vector tiles, along with associated metadata.

Installation

pip install pymbtiles

To install from master branch on GitHub using pip:

pip install git+https://github.com/consbio/pymbtiles.git#egg=pymbtiles --upgrade

Usage

Python API

open for reading and read a tile:

from pymbtiles import MBTiles
with MBtiles('my.mbtiles') as src:
    tile_data = src.read_tile(z=0, x=0, y=0)

returns tile data in bytes.

open for writing (existing file will be overwritten):

with MBtiles('my.mbtiles', mode='w') as out:
    out.write_tile(z=0, x=0, y=0, tile_data)

or write a bunch of tiles at once:

from pymbtiles import MBTiles, Tile

tiles = (
    Tile(z=1, x=0, y=0, tile_data=first_tile),
    ...
)

with MBtiles('my.mbtiles', mode='w') as out:
    out.write_tiles(tiles)

Use r+ mode to read and write.

Metadata is stored in the meta attribute of the mbtiles instance:

with MBtiles('my.mbtiles') as src:
    metadata = src.meta

This metadata is stored in the metadata table in the mbtiles file, and contains a number of records required or optional under the mbtiles specification .

To update metadata:

with MBtiles('my.mbtiles', 'r+') as out:
    out.meta['some_key'] = 'some_value'

You can set several values at once by passing in a new dict object:

with MBtiles('my.mbtiles', 'w') as out:
    out.meta = my_metadata_dict

Note:

  • tiles are output to mbtiles format in xyz tile scheme.

Possibly useful:

  • mbtileserver: a lightweight Go tile server
  • tpkutils: a library for converting ArcGIS tile cache to mbtiles

Changes :

0.3.0

  • all write-like operations for metadata and tiles are now overwrite by default

Credits:

Inspired by:

SQL for creating mbtiles database derived from node-mbtiles

License:

See LICENSE.md

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

pymbtiles-0.3.0.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

pymbtiles-0.3.0-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file pymbtiles-0.3.0.tar.gz.

File metadata

  • Download URL: pymbtiles-0.3.0.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.4

File hashes

Hashes for pymbtiles-0.3.0.tar.gz
Algorithm Hash digest
SHA256 cb29e3ec89e6c33e443e5cc2b43ca77998696b4e6958884047f23837a035fd51
MD5 80b8beeba931363af6f21fb380a616c3
BLAKE2b-256 4abfaa829e8630b39aa31574561cf29921558e7d05428126ace452e3d1da696c

See more details on using hashes here.

Provenance

File details

Details for the file pymbtiles-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: pymbtiles-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 5.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.4

File hashes

Hashes for pymbtiles-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 833909bdd1299f50b9c7fcb0b09c25c1166178a9aa5bd50b32088762c798c09a
MD5 26e133baf0525732e25c60fa6a6ce028
BLAKE2b-256 539e937ff308ca22a5f192e21f348cab36d4f647518a9733122f26d9278c155b

See more details on using hashes here.

Provenance

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