MBTiles
目录
MBTiles 是一种地图瓦片存储的数据规范,它使用SQLite数据库,可大大提高海量地图瓦片的读取速度,比通过瓦片文件方式的读取要快很多,适用于Android、IPhone等智能手机的离线地图存储。
官方地址:http://mbtiles.org —— 规范说明
The MBTiles format makes it easy to manage and share thousands or even millions of map tiles.
MBTiles is a specification for storing tiled map data in SQLite databases for immediate use and for transfer. The files are designed for portability of thousands, hundreds of thousands, or even millions of standard map tile images in a single file.
1 Features
- Fast
Transferring an MBTiles file is faster than transferring millions of tile images when loading them onto USB stick, mobile device, or when transferring over a network. The trade-off in database access versus filesystem access when using MBTiles is, in our experience,
negligible. - Offline
Because MBTiles files are self contained, they can used without an Internet connection. - Compatible
Images are stored as blob data, so tiles can be read by most SQLite clients. There are manyimplementations of MBTiles from different organizations — notablyTileMill,TileStream,Arc2Earth,TileStache,
and MapBox for iPad. - Open
MBTiles is an open-source specification. The specification text itself requires
attribution, but there are absolutely no restrictions or requirements placed on implementations.
2 Example
Download the
Haiti Terrain Grey tileset. Then, open the MBTiles file in the sqlite client.
sqlite3 haiti-terrian-grey.mbtiles
Next, run this SQL statment.
SELECT * FROM tiles WHERE zoom_level = 5;
This displays a row for each tile on zoom level five.
5|8|17|????
5|8|18|????
5|9|17|????
5|9|18|????
5|10|17|????
5|10|18|????
The ????
characters represents PNG images stored as blob data.
3 Implementations
3.1 Compliant
- python: raster2mb (write)
- python: mbutil (read/write)
- python: landez (write) (uses mbutil)
- python: TileStache (code) (read/write) – a full, high-quality tile server
- Arc2Earth (write)
- python: mapproxy (announcement) (read/write)
3.2 Others
- objc: MapDBImporter (write)
- java/android: MBTilesDroidSpitter (example) (read)
- objc/iPhone: Maptual (read)
- java/Android: Locus (read)
- Windows compatible viewer:
MBTilesViewer (read) - java/Android: Nutiteq SDK
3.3 Applications
- MapBox for iPad (read)
- js: TileMill (write)
- objc: route-me – using the
RMMBTilesTileSource
connector (example) (read) - TileMill OS X QuickLook & Spotlight plugins (read)
Last edited by willwhite, September 15, 2011
转载自:https://blog.csdn.net/mygisforum/article/details/6803432