GDAL格式转换怎么做?命令行参数有哪些?
你是不是也卡在“格式不兼容”这个坑里?
上周一个研究生私信我:“老师,我下载的哨兵2影像是.jp2,ArcGIS死活打不开,QGIS能打开但导出成GeoTIFF后元数据全丢了……怎么办?”——这几乎是每个遥感/GIS新手必踩的第一个大坑。别慌,今天Dr. Gis就手把手带你用GDAL把格式转换玩明白,连那些藏在命令行里的“神秘参数”,我也给你扒得底裤都不剩。

GDAL不是魔法棒,它是“地理数据翻译官”
想象一下:你手上有本德文版《资本论》,想转成中文版给同学看。直接机翻?语序错乱、术语崩坏。你需要的是懂德语又懂中文,还了解政治经济学的专业译者——GDAL就是干这个的。它不光“认得”200+种栅格/矢量格式(从古老的BIL到最新的COG),还能在转换时保留坐标系、波段信息、元数据——这才是专业和业余的分水岭。
我在参与全国第三次国土调查时,曾用GDAL批量转换2000+景Landsat影像。当时团队有人图省事用QGIS“另存为”,结果投影信息丢失导致全县拼接错位——最后返工三天。记住:生产级项目,必须上命令行。
三步走:从“Hello World”到工业级转换
第一步:安装与环境检查(别跳过!)
Windows用户推荐GISInternals编译版,Mac/Linux用conda或brew。装完后终端输入:
gdalinfo --version
看到类似GDAL 3.8.4, released 2024/01/15才算成功。如果报“command not found”,说明环境变量没配好——这是90%初学者的第一道坎。
第二步:基础转换 - gdal_translate
这是最常用的命令,语法骨架如下:
gdal_translate -of 格式 输入文件 输出文件
比如把.jp2转成GeoTIFF:
gdal_translate -of GTiff sentinel2.jp2 output.tif
但这样够吗?远远不够!下面这些参数才是精髓:
| 参数 | 作用 | 示例 |
|---|---|---|
-co COMPRESS=LZW | 压缩输出文件(节省80%空间) | -co COMPRESS=DEFLATE |
-b 1 -b 2 -b 3 | 只提取第1,2,3波段(RGB真彩色) | -b 4 -b 3 -b 2(近红外-红-绿) |
-scale 0 4095 0 255 | 重缩放像素值(16bit转8bit必备) | -scale自动计算min/max |
-a_nodata 0 | 设置无效值(避免黑色边框) | -a_nodata -9999 |
实战案例:把哨兵2的.jp2转为压缩版GeoTIFF并保留前3波段:
gdal_translate -of GTiff -co COMPRESS=LZW -b 1 -b 2 -b 3 sentinel2.jp2 rgb.tif
第三步:高级需求 - gdalwarp(重投影+裁剪)
当需要同时改投影或裁剪范围时,用gdalwarp。比如把UTM投影转成Web墨卡托:
gdalwarp -t_srs EPSG:3857 input.tif output_3857.tif
常用参数:
-te xmin ymin xmax ymax:按坐标裁剪(单位需与目标投影一致)-ts 1024 1024:强制输出分辨率(慎用!会改变像元大小)-r bilinear:重采样方法(near/bilinear/cubic)
避坑指南:三个血泪教训
- 别用默认参数:GDAL默认不压缩、不设nodata,导致文件巨大且分析出错。
- 注意波段顺序:Landsat 8的B4是红波段,B5是近红外——搞反了NDVI就变负数。
- 验证输出:转换后务必用
gdalinfo output.tif检查坐标系和波段数是否正确。
终极心法:理解“驱动”与“选项”
GDAL的核心是“驱动”(Driver)——每种格式都有专属驱动程序。用gdalinfo --formats可查看支持列表。而-co(Creation Option)就是给特定驱动的“操作说明书”。比如COG(云优化GeoTIFF)需要:
gdal_translate -of COG -co COMPRESS=ZSTD -co OVERVIEWS=IGNORE_EXISTING input.tif cog.tif
这里的ZSTD压缩和OVERVIEWS选项,只有COG驱动才认——就像给奔驰车加98号汽油,给拖拉机加柴油。
现在轮到你了
下次遇到奇葩格式(比如.hdf/.nc),别再求人发转换软件了。打开终端,敲下你的第一条GDAL命令。遇到报错?截图发到评论区——告诉我你卡在哪一步,Dr. Gis亲自给你开药方。顺便考考你:如果要把多光谱影像的第4波段(近红外)单独提取成单波段GeoTIFF,命令怎么写?第一个答对的送《GDAL参数速查表》PDF!
-
GIS坐标系总是搞混?各行业投影选择与WGS84、CGCS2000转换实战技巧(含:对照表) 2026-01-14 08:30:02
-
GIS坐标系位置总对不上?三步搞定数据偏移修正(附:参数对照表) 2026-01-14 08:30:02
-
GIS坐标系6位转8位总出错?核心算法与精度提升技巧详解(附:参数对照表) 2026-01-14 08:30:02
-
GIS坐标系转换为何总出错?常见误区排查与修正方案(附:对照表) 2026-01-13 08:30:02
-
GIS坐标系转换总出错?核心参数与校正流程详解(附:参数表) 2026-01-13 08:30:02
-
GIS坐标系怎么设置?从定义到投影转换的实战指南(附:参数对照表) 2026-01-13 08:30:02
-
GIS坐标系到底用哪个?盘点国内主流坐标系及转换技巧(附:参数表) 2026-01-13 08:30:02
-
GIS坐标系转换工具怎么选?高精度投影转换实战技巧(附:对照表) 2026-01-13 08:30:02
-
GIS坐标系到底怎么选?一文搞懂投影与转换(含:常用参数表) 2026-01-13 08:30:02
-
GIS坐标系与投影傻傻分不清?GIS中地理坐标系转投影坐标系实战指南(含:常用投影参数表) 2026-01-13 08:30:01
-
GIS坐标系与投影总是报错?ArcGIS坐标定义与转换参数详解(附:对照表) 2026-01-13 08:30:01
-
GIS坐标系与投影总报错?地理坐标系和投影坐标系的核心区别(含:转换公式) 2026-01-13 08:30:01
-
WGS84坐标系转换CGCS2000总出错?原理剖析与实战转换步骤(附:常用GIS软件参数表) 2026-01-13 08:30:01
-
WGS84坐标系如何正确选择投影?常用GIS投影坐标系推荐(含:EPSG代码与参数) 2026-01-12 08:30:02
-
GIS投影后坐标没变化?定义坐标系与投影工具使用误区详解(附:对照表) 2026-01-12 08:30:02
-
GIS投影总报错?WGS84转CGCS2000实战步骤与参数详解(附:坐标系对照表) 2026-01-12 08:30:02
-
GIS投影坐标总是偏移?一分钟搞定坐标系定义与转换(附:高精度参数表) 2026-01-12 08:30:02
-
GIS坐标系与投影总出错?盘点常见投影变形问题与修正方案(附:WGS84与CGCS2000转换参数表) 2026-01-12 08:30:02
-
GIS坐标系统与投影转换必学!(含:坐标系定义与投影作用详解) 2026-01-12 08:30:02
-
GIS坐标系与投影转换总出错?排查思路与常用坐标系对照表(附:EPSG代码) 2026-01-12 08:30:02