Library for generating MBTiles files from different sources.

1.0.0 2014-02-15 22:40 UTC


A PHP library for generating MBTiles files.

Supports fetching tiles from a web resource, implementing the Slippy map tilenames specification.

Also supports fetching tiles from another MBTiles file, for doing a subset of tiles.

Using a custom source, is as easy as implementing the TileSourceInterface.

What is a MBTiles file ?

An MBTiles file is a file format for storing map tiles, for easy transfer and storing. It is optimal for doing offline maps in mobile apps.

This library's output has been tested for usage with Nutiteq 3D Android mapping SDK and Mapbox iOS SDK.

MBTiles specification


composer require html24/mbtiles-generator dev-master


This example code will download the tiles necessary for a small area in Copenhagen, Denmark and output a mbtiles file as output.mbtiles.

use HTML24\MBTilesGenerator\MBTilesGenerator;
use HTML24\MBTilesGenerator\TileSources\RemoteCachingTileSource;
use HTML24\MBTilesGenerator\Model\BoundingBox;

$tile_source = new RemoteCachingTileSource('http://otile{s}{z}/{x}/{y}.jpg', array(1,2,3,4));
$tile_source->setAttribution('Data, imagery and map information provided by MapQuest, OpenStreetMap <> and contributors, ODbL <>.');

$tile_generator = new MBTilesGenerator($tile_source);

$bounding_box = new BoundingBox('12.6061,55.6615,12.6264,55.6705');

$tile_generator->generate($bounding_box, 'output.mbtiles');


This library is released under the BSD (3-clause) License, please see LICENSE for details.