python调用gdal2tiles实现栅格影像TMS切片

前言

一直以来,作为一个GIS开发者,都想自己去实现栅格切片和矢量切片。前面的博文中,已经介绍了如何实现矢量切片,刚刚进入GIS行业的人一般都是用GeoServer进行栅格切片,速度效率很低。这里介绍一下如何使用代码高效地进行栅格切片,主要是依赖gdal2tiles这个python库。

安装

我的电脑环境是

  • python3.9.5
  • GDAL3.3.0

执行下面的安装命令 安装gdal2tiles

pip install gdal2tiles

切片代码

  • 常用参数
参数名 示意 示例 默认值
第一参数,输入影像文件 test.tif
第二参数,切片存储区位置 test/
zoom 切片等级区间 “2-5”、“2-”、“10”
tilesize 切片大小,单位像素 256
resampling 重采样方法 average, near, bilinear, cubic, cubicspline, lanczos, antialias, mode, max, min, med, q1, q3 average
processes 并行进程数
resume 修复模式,只生成缺少的瓦片 true fasle
srcnodata 输入影像的nodata值
  • 代码
import gdal2tiles

if __name__ == '__main__':
    gdal2tiles.generate_tiles('test.tif', 'test/', np_processes=2, zoom='7-9')

测试数据

使用的是一个内乡县的tif文件

python调用gdal2tiles实现栅格影像TMS切片

生成结果

生成结果的目录如下:
python调用gdal2tiles实现栅格影像TMS切片

点击其中生成的利用leaflet的预览文件leaflet.html,记得勾选切片结果,运行效果如下图所示:
python调用gdal2tiles实现栅格影像TMS切片

上一篇:Vue学习笔记(一、基础指令)


下一篇:FY-4A批量几何校正(基于GDAL)