ArcGIS Tile Package Utilities
Project description
A Python 3.5 library for reading tiles and exporting tools from ArcGIS Tile Packages which contain tile caches using the ArcGIS Compact Tile Cache
Goals
easy access to tiles in a tile package
export to mbtiles, for hosting on any of a variety of mbtiles servers, such as mbtileserver
Usage
Python API
Open a tile package:
from tpkutils import TPK tpk = TPK('my_tiles.tpk')
Tile access
for tile in tpk.read_tiles(): with open('{0}_{1}_{2}.png'.format(tile.x, tile.y, tile.z), 'wb') as outfile: outfile.write(tile.data)
You can also just read tiles for a given zoom level or levels:
tpk.read_tiles(zoom=[4])
tpk.read_tiles(flip_y=True)
Note: no direct interface to read a single tile or tiles specified by x or y is currently provided.
Export to mbtiles
You can export a tile package to a MapBox mbtiles v1.1 file:
tpk.to_mbtiles('my_tiles.mbtiles')
Or just export a subset of zoom levels:
tpk.to_mbtiles('fewer_tiles.mbtiles', zoom=[0,1,2,3,4])
Note: tiles are output to mbtiles format in xyz tile scheme.
Also note: mixed format tiles are not supported for export to mbtiles.
Note
All tile packages are assumed to follow the Web Mercator Tiling Scheme (Google/Bing/etc), and be in the Web Mercator coordinate reference system.
Developed and tested using image tile packages created using ArcGIS 10.3; however, these appear to use the 10.1 compact bundle format.
ArcGIS Server 10.3 introduced a new version of the compact bundle, which is not handled here yet. If you want this, please submit an issue with a small test file in 10.3 format.
Tile packages created using other versions may not work correctly (please log an issue with test data).
Versions from ArcGIS older than 10.1 are unlikely to be supported.
No support for Python 2 is planned.
Credits:
Tile package format is described here.
Inspired by: * tiler-arcgis-bundle * mbutiles * node-mbtiles
SQL for creating mbtiles database derived from node-mbtiles
ArcGIS is a trademark of of ESRI and is used here to refer to specific technologies. No endorsement by ESRI is implied.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.