You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用GDAL转换NOAA GRIB天气数据为瓦片时遇0x1249数据集错误求助

解决GRIB气象数据转Web瓦片的GDAL报错问题

问题描述

下载NOAA的GFS 0.25度分辨率10米U风场GRIB数据后,执行以下命令转瓦片时出现错误:

gdal_translate -of GTiff gfs.t00z.pgrb2.0p25.f000 output.tif
gdal_translate -ot Byte output.tif output_8bit.tif
gdal2tiles.py --zoom=4-6 output_8bit.tif tiles

报错信息:

RuntimeError: Attempt to create 0x1249 dataset is illegal,sizes must be larger than zero.

错误原因

该错误源于输入数据投影与Web瓦片标准投影不兼容,导致重投影后生成宽度为0的无效数据集,同时直接转换Byte类型时未做数值拉伸,像素值异常也会加重处理失败的概率。原始GRIB数据采用经纬度投影(EPSG:4326),而gdal2tiles默认需要Web Mercator投影(EPSG:3857),内部重投影过程中容易出现范围计算错误。

正确处理步骤

1. 查看数据元信息(可选但关键)

先确认数据的投影、波段和数值范围:

gdalinfo gfs.t00z.pgrb2.0p25.f000

可得到数据为EPSG:4326投影,U风场数值范围约-20~20。

2. 一步完成重投影与8位TIFF转换

直接用gdal_translate将原始GRIB转换为Web Mercator投影的8位TIFF,同时做数值拉伸:

gdal_translate -of GTiff -ot Byte -scale -20 20 0 255 -a_srs EPSG:3857 gfs.t00z.pgrb2.0p25.f000 output_8bit_3857.tif

参数说明:

  • -scale -20 20 0 255:将原始风场数值映射到0-255的Byte范围,保证像素有效
  • -a_srs EPSG:3857:直接转换为Web瓦片标准投影,避免后续重投影出错

3. 生成Web瓦片

用处理好的投影文件执行瓦片生成:

gdal2tiles.py --zoom=4-6 output_8bit_3857.tif tiles

备选方案:强制指定投影参数

如果仍有报错,明确告知工具输入数据的投影:

gdal2tiles.py --zoom=4-6 --s_srs EPSG:3857 output_8bit_3857.tif tiles

内容的提问来源于stack exchange,提问作者Tom McLean

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 23:05:38