Package: umimbutil
# MBUtilMBUtil is a utility for importing and exporting the [MBTiles](http://mbtiles.org/) format,typically created with [MapBox](http://mapbox.com/) [TileMill](http://mapbox.com/tilemill/).Before exporting tiles to disk, see if there's a [MapBox Hosting plan](http://mapbox.com/plans/)or an open source [MBTiles server implementation](https://github.com/mapbox/mbtiles-spec/wiki/Implementations)that works for you - tiles on disk are notoriously difficult to manage.## InstallationGit checkout (requires git)git clone git://github.com/Alpstein/mbutil.gitcd mbutil./mb-util -h# then to install the mb-util command globally:sudo python setup.py install# then you can run:mb-utilPython installation (requires easy_install)easy_install mbutilmb-util -h## Usagemb-util [command] [options] file|directory [file|directory ...]Examples:Export an mbtiles database to a directory of files:$ mb-util --export world.mbtiles tilesImport a directory of tiles into an mbtiles database:$ mb-util --import tiles world.mbtilesCreate an empty mbtiles file:$ mb-util --create empty.mbtilesExecute commands on all tiles in the mbtiles file:$ mb-util --process --execute "COMMAND ARGUMENTS" [--execute "SECOND COMMAND"] world.mbtilesMerge two or more mbtiles files (receiver will be the first file):$ mb-util --merge receiver.mbtiles file1.mbtiles [file2.mbtiles ...]Fill a mbtiles database with a given tile image$ mb-util --fill --min-zoom=7 --max-zoom=12 world.mbtiles transparent.pngCheck if a mbtiles file contains all tiles at a specific zoom level:$ mb-util --check --zoom=7 world.mbtilesTest tiles with a command, print tile coordinates for non-zero return values$ mb-util --test --execute "COMMAND ARGUMENTS" world.mbtilesCompact a mbtiles file by eliminating duplicate images:$ mb-util --compact world.mbtilesConvert tile coordinates and bounding boxes:$ mb-util --convert="13/4328/2861"$ mb-util --convert="10.195312,47.546872,10.239258,47.576526" --min-zoom=12 --max-zoom=13Options:-h, --help            show this help message and exitCommands:These are the commands to use on mbtiles databases-e, --export        Export an mbtiles database to a directory of files. Ifthe directory exists, any already existing tiles willbe overwritten.-i, --import        Import a directory of tiles into an mbtiles database.If the mbtiles database already exists, existing tileswill be overwritten with the imported tiles.-m, --merge         Merge two or more databases. The receiver will becreated if it doesn't yet exist.-p, --process       Processes a mbtiles databases. Only usefull togetherwith one or more --execute.--check             Check the database for missing tiles.--test              Test every tile with the given command, print the tilecoordinate if the command returns anything non-zero.--fill              Fill a mbtiles database with tiles whereit doesn't already contain a tile. Only usefull with--min-zoom/--max-zoom and --tile-bbox/--bbox.--compact           Eliminate duplicate images to reduce mbtiles filesize.--create            Create an empty mbtiles database.--convert=CONVERT   Convert tile coordinates 'y/x/z' to bounding box'left,bottom,right,top' or vice versa.Options:--execute=COMMAND   Commands to execute for each tile image. %s will bereplaced with the file name. This argument may berepeated several times and can be used together with--import/--export/--merge/--compact/--process.--flip-y            Flip the y tile coordinate during--export/--import/--merge/--convert.--min-zoom=MIN_ZOOMMinimum zoom level for--export/--import/--merge/--process/--check/--convert.--max-zoom=MAX_ZOOMMaximum zoom level for--export/--import/--merge/--process/--check/--convert.--zoom=ZOOM         Zoom level for--export/--import/--process/--check/--convert.(Overrides --min-zoom and --max-zoom)--min-timestamp=MIN_TIMESTAMPMinimum numerical timestamp for --export/--merge.--max-timestamp=MAX_TIMESTAMPMaximum numerical timestamp for --export/--merge.--bbox=BBOX         Bounding box in coordinates 'left,bottom,right,top'(10.195312,47.546872,10.239258,47.576526)--tile-bbox=TILE_BBOXBounding box in tile coordinates'left,bottom,right,top' (10,10,20,20). Can only beused with --zoom.--no-overwrite      don't overwrite existing tiles during--merge/--import/--export.--revert-test       For --test, print the tile coordinates if the commandreturns zero.--auto-commit       Enable auto commit for --merge/--import/--process.--synchronous-off   DANGEROUS!!! Set synchronous=OFF for the databaseconnections.--use-wal-journal   Use journal_mode=WAL for the databases (default isDELETE).--check-before-mergeRuns some basic checks (like --check) on mbtilesbefore merging them.--delete-after-exportDANGEROUS!!! After a --merge or --export, this optionwill delete all the merged/exported tiles from the(sending) database. Only really usefull with --min-zoom/--max-zoom or --zoom since it would remove alltiles from the database otherwise.--delete-vanished-tilesDANGEROUS!!! If a tile vanishes during --execute thendelete it also from the database or ignore it during--merge/--process.--poolsize=POOLSIZEPool size for processing tiles with --process/--merge.Default is to use a pool size equal to the number ofcpus/cores.--tmp-dir=TMP_DIR   Temporary directory to use for --execute.--vacuum            VACUUM the mbtiles database after--import/--merge/--process/--compact.--analyze           ANALYZE the mbtiles database after--import/--merge/--process/--compact.--progress          Print progress updates and keep them on one lineduring --import/--merge/--export/--compact/--process.-q, --quiet         don't print any status messages to stdout excepterrors.-d, --debug         print debug messages to stdout (exclusive to --quiet).## Special considerations* All mbtiles databases must be on the same host as the mb-util binary if you want to use the WAL locking mode.* Using --synchronous-off is dangerous since your database might get corrupted.* Use --tmp-dir=/dev/shm on Ubuntu to place temporary files on a ram disk.* Use --use-wal-journal if you want to udpate a database which is at the same time used for reading.* --auto-commit will disable transactions and therefore most probably slow down any insert operations to the database.## Requirements* Python `>= 2.6`* SQLite `>= 3.7.0`## Metadatamb-util imports and exports metadata as JSON, in the root of the tile directory, as a file named `metadata.json`.```javascript{"name": "World Light","description": "A Test Metadata","version": "3"}```## TestingThis project uses [nosetests](http://readthedocs.org/docs/nose/en/latest/) for testing. Install nosetestsand runnosetests## LicenseBSD - see LICENSE.md## Authors- Tom MacWright (tmcw)- Dane Springmeyer (springmeyer)- Mathieu Leplatre (leplatrem)- Thomas Rasch (trasch)