地图数据转MBTiles离线包(iServer/MBUtil工具)

1 MBtiles

1.1  MBtiles:

一种适用于存储在SQLite数据库中的任意平铺地图数据的规范,便于数据的快速使用和高效传输。具体参考:https://github.com/mapbox/mbtiles-spec

1.2 以TIFF格式遥感影像为例

MBtiles离线包的生成主要有两种办法:第一,通过iServer生成MBTiles离线包;第二,MBUtil工具。

2 利用iServer生成MBTiles离线包

2.1发布iServer服务

事先将需要生成MBTiles离线包的地图数据发布成iServer服务注意:数据坐标系应设置为墨卡托投影)

2.2 打开SuperMap iServer Manager:集群——>分布式切片服务——>创建切片任务

2.3 创建切面任务,将存储类型设置为MBTiles,切片方案自定义。

 2.4局限性

iServer 生成 MBTiles离线包时,具有一定局限性,对地图投影(墨卡托投影)、地图dip(96)等参数具有严格要求,否则会在创建切片任务时报错。

 

3 利用MBUtil工具生成MBTiles离线包

3.1 环境准备:

①Python(3.7.3);

②GDAL(3.2.3);

③Git(2.33.0):https://git-scm.com/downloads

3.2 准备TMS瓦片

代码如下:

import gdal2tiles

if __name__ == '__main__':
    gdal2tiles.generate_tiles('nanjing.tif', 'nanjing\\', np_processes=2, zoom='10-11')

3.3 MBUtil工具安装

代码如下:

# clone mbutil项目
git clone git://github.com/mapbox/mbutil.git 
# 打开 mbutil目录 
cd mbutil
# 安装 mbutil
python setup.py install

 3.4 TMS瓦片转换为.mbtiles文件

代码如下:

其中,第一个路径为:TMS文件路径;第二个路径为:.mbutiles文件的存储路径

# 打开 mbutil 所在文件夹
cd E:\Python\mbutil
# TMS瓦片转换为 .mbutiles文件
python mb-util E:\nanjing\ E:\nanjing.mbtiles
 

3.5转化成功

显示如下提示,代表转换成功:

3.6总结

相较于2.4所述的通过iServer生成MBTiles文件的局限性,利用MBUtil工具生成MBTiles离线包的方法对地图数据要求并不严格,更具通用性。

 

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值