MapBox Mbtiles 工具
项目描述
Mapbox MBtiles 工具
一个用于处理Mapbox mbtiles v1.1的Python 2.7和3库
功能
提供了一个轻量级的Python API,用于读取和写入mbtiles文件。
Mapbox mbtiles v1.1 允许您将地理数据以渲染的图像瓦片或矢量瓦片的形式存储,以及相关的元数据。
安装
pip install pymbtiles
要从GitHub的master分支安装,请使用pip
pip install git+https://github.com/consbio/pymbtiles.git#egg=pymbtiles --upgrade
用法
Python API
以读取模式打开并读取瓦片
from pymbtiles import MBTiles
with MBtiles('my.mbtiles') as src:
tile_data = src.read_tile(z=0, x=0, y=0)
以字节形式返回瓦片数据。
以写入模式打开(现有文件将被覆盖)
with MBtiles('my.mbtiles', mode='w') as out:
out.write_tile(z=0, x=0, y=0, tile_data)
或一次性写入多个瓦片
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)
使用r+
模式进行读取和写入。
元数据存储在mbtiles实例的meta
属性中
with MBtiles('my.mbtiles') as src:
metadata = src.meta
此元数据存储在mbtiles文件中的metadata
表中,并包含mbtiles规范下的多个必需或可选记录。
更新元数据
with MBtiles('my.mbtiles', 'r+') as out:
out.meta['some_key'] = 'some_value'
您可以通过传入新的dict
对象同时设置多个值
with MBtiles('my.mbtiles', 'w') as out:
out.meta = my_metadata_dict
列出可用瓦片
列出瓦片集中的可用瓦片
with MBtiles('my.mbtiles') as src:
for tile_coords in src.list_tiles(): # [TileCoordinate(z, x, y)...]
...
警告:对于大型瓦片集,这可能会超过可用内存。
要列出大型瓦片集的可用瓦片集,请使用
with MBtiles('my.mbtiles') as src:
for batch in src.list_tiles_batched():
for tile_coords in batch: # [TileCoordinate(z, x, y)...]
...
集合操作
ops
模块提供了用于在瓦片集上执行集合操作的extend
、union
和difference
函数。
使用来自第二个瓦片集中的新瓦片扩展瓦片集
extend(source_filename, target_filename)
从左侧和右侧瓦片集中组合唯一瓦片创建新的瓦片集
union(left_filename, right_filename, out_filename)
从左侧瓦片集中创建新的瓦片集,其中不包含右侧瓦片集中的瓦片
difference(left_filename, right_filename, out_filename)
瓦片方案
瓦片按照xyz瓦片方案输出到mbtiles格式。
可能有用
mbtileserver
:一个轻量级的Go瓦片服务器tpkutils
:一个用于将ArcGIS瓦片缓存转换为mbtiles的库
变更
0.5.0
- 添加了
zoom_range
、row_range
和col_range
以提供有关瓦片集中可用瓦片的基本信息
0.4.0
- 添加了
list_tiles
以列出瓦片,以及list_tiles_batch
以批量列出瓦片 - 添加了包含
extend
、union
和difference
函数的ops
模块
0.3.0
- 现在默认覆盖所有写入操作,包括元数据和瓦片
致谢
受以下启发
从node-mbtiles派生的mbtiles数据库创建SQL
许可证
请参阅LICENSE.md
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定要选择哪个,请了解更多关于安装包的信息。
源分发
pymbtiles-0.5.0.tar.gz (7.1 kB 查看哈希)
构建分发
pymbtiles-0.5.0-py3-none-any.whl (9.0 kB 查看哈希)
关闭
pymbtiles-0.5.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b4eb2c470d2eb3d94627cdc8a8ae448b8899af2dd696f9a5eca706ddf8293b58 |
|
MD5 | 81e6fc4253edfd164004ea442fbaa995 |
|
BLAKE2b-256 | 75ff9ae83bb0cf6c504d675b917eae3ad9e9f919fda3fea51de9f737ac0ccf27 |
关闭
pymbtiles-0.5.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 91c1c2fa3e25f581d563a60e705105f7277b0dbb9ff727c8c28cb66f0f891c84 |
|
MD5 | 1bb90b8e49c2eb52a9fd8f2817375497 |
|
BLAKE2b-256 | 82baa05974655e73d7937b8e5438bf7ca5dba0b7d84dc67e98fb40c81dc92fca |