地图图片分解为瓦片

类似于百度地图,动态加载

2026-02-11 15:46

windows安装gdal生成瓦片


1、安装conda

conda create -n gdal_env python=3.11
conda activate gdal_env

2、安装gdal

conda install -c conda-forge gdal

3、退出环境

conda deactivate

4、如果图片为jpg或png,需要转为geotiff格式

gdal_translate -of GTiff -a_srs <坐标系> -a_ullr <左上经度> <左上纬度> <右下经度> <右下纬度> -co COMPRESS=LZW <输入.png> <输出.tif>
1、-a_srs <坐标系> (关键):为图像定义坐标系。常见选择:
EPSG:4326: 最常见的经纬度坐标系(WGS84),适用于全球地图。
EPSG:3857: Web墨卡托投影,谷歌地图、必应地图等网络地图使用的坐标系。如果你的PNG是网络地图截图或瓦片,很可能用这个。
例如:-a_srs EPSG:4326
2、-a_ullr <左上经度> <左上纬度> <右下经度> <右下纬度> (关键):定义图像四个角的地理坐标。
必须按顺序提供:左 上 右 下
示例:一张覆盖北京城区范围的图片,可以设置为:-a_ullr 116.0 40.1 116.6 39.7
3、-co COMPRESS=LZW (可选但推荐):创建选项,使用LZW无损压缩来减小输出文件大小。

比如:gdal_translate -of GTiff -a_srs EPSG:4326 -a_ullr 116.0 40.1 116.6 39.7 -co COMPRESS=LZW beijing.png beijing_geo.tif

如果不清楚四个角的坐标,可以找图片中已知的三个点的地图坐标,比如标志性的建筑。然后找出各自在图片中对应的像素位置计算四个点。
计算算法脚本在文章下方


5、分解为瓦片

gdal2tiles.py -z <最小级别>-<最大级别> --xyz <输入文件.tif> <输出文件夹>
比如 gdal2tiles -z 0-10 --xyz input.tif tiles_output


附件列表

像素转换坐标.py