GDAL 3.13.1 工作坊环境搭建全指南:Docker 与 Conda 多平台安装、示例数据集下载及命令行补全配置
GIS遥感数据工程【免费下载链接】gdalGDAL is an open source MIT licensed translator library for raster and vector geospatial data formats.项目地址https://gitcode.com/gh_mirrors/gd/gdal点击查看免费下载本指南面向准备参加 GDAL 新命令行界面CLI工作坊的开发者系统梳理 GDAL 3.13.1 在 Linux、macOS、Windows 三大平台上的安装路径以及工作坊专用示例数据集的获取方法。读完本文你将能够独立完成从零搭建 GDAL 命令行工作环境、验证版本与数据完整性并配置面向 Bash 的gdal命令自动补全为后续栅格/矢量处理练习参见 工作坊章节索引做好全部准备。版本基线GDAL 3.13.1 Iowa City本工作坊要求使用GDAL 3.13.12026 年 6 月发布安装完成后可通过以下命令确认版本gdal --version预期输出GDAL 3.13.1 Iowa City, released 2026/06/01需要说明的是本文撰写所依据的工作坊安装文档以 3.13.1 稳定版为基线而当前仓库主线的 VERSION 文件已标记为 3.14.0若你使用文末介绍的gdal-master开发渠道版本号与功能均以实际构建为准请勿混用稳定版环境变量。为什么推荐 Conda面向原生依赖的包管理工作坊文档给出的推荐安装方式是使用GDAL Conda 构建。Conda 是一套可在主流桌面操作系统Linux、Windows、macOS上运行的系统级包管理工具主要服务于 Python 生态但其核心优势在于能正确处理 GDAL 这类带原生依赖native dependencies的软件——从编译期依赖库到可选的栅格/矢量驱动插件都由 Conda 统一解决二进制兼容问题免去手工编译。工作坊所面向的gdal新 CLI 自 GDAL 3.11 引入是对传统gdal_translate、ogr2ogr等工具的补充提供更统一、可预测、更友好的交互体验详见工作坊简介与仓库 README。新 CLI 采用 git 风格的分层命令结构gdal raster info、gdal vector convert、gdal mdim info、gdal pipeline、gdal vsi list等详见新 CLI 通用原则。因此一套正确安装的 GDAL 环境是后续所有练习的共同前提。各平台安装路径概览平台推荐方式特点LinuxDocker 镜像 或 CondaDocker 开箱即用Conda 与宿主机集成更好macOSConda直接沿用 Linux 步骤WindowsConda MSYS2 Bash额外需要 Bash 环境以启用命令行补全Linux 平台安装Linux 用户有两种选择一是直接使用包含二进制与工作坊示例数据的 Docker 镜像二是在宿主机用 Conda 安装 GDAL 与配套包并自行下载测试数据。前者在已安装 Docker/Podman 的情况下更省事后者手工步骤更多但与系统集成更自然。方式一Docker 镜像开箱即用前提已安装 Docker 或 Podman。拉取工作坊专用镜像docker pull ghcr.io/gdal/gdal-cli-workshop允许容器内的 X 客户端连接宿主机的 X server图形界面转发供 QGIS 使用xhost local:root输出non-network local connections being added to access control list启动容器mkdir -p $HOME/gdal-cli-workshop docker run -it --name gdal-cli-workshop \ -v /tmp/.X11-unix:/tmp/.X11-unix \ -v $HOME/gdal-cli-workshop:/data/gdal_cli_workshop_data-master/host \ ghcr.io/gdal/gdal-cli-workshop各参数作用参数作用-it分配交互式终端--name gdal-cli-workshop为容器命名便于后续docker start/exec-v /tmp/.X11-unix:/tmp/.X11-unix挂载 X11 套接字让容器内的 QGIS 能把窗口显示到宿主机-v $HOME/gdal-cli-workshop:.../host将宿主机工作目录挂载为容器内host目录用于交换练习产出文件容器内验证 GDAL(base) rootXXXXXXXXXXXX:/# gdal --versionGDAL 3.13.1 Iowa City, released 2026/06/01示例数据已预置在镜像内位于/data/gdal_cli_workshop_data-master/(base) rootXXXXXXXXXXXX:/# cd /data/gdal_cli_workshop_data-master/ (base) rootXXXXXXXXXXXX:/# ls -altotal 91296 drwxr-xr-x 5 root root 4096 May 22 01:37 . drwxr-xr-x 3 root root 4096 May 22 04:12 .. -rw-r--r-- 1 root root 18925846 May 22 01:37 20260519_00_tmp2m.nc -rw-r--r-- 1 root root 18925846 May 22 01:37 20260519_06_tmp2m.nc -rw-r--r-- 1 root root 1756 May 22 01:37 README.md drwxr-xr-x 6 root root 4096 May 22 01:37 S2B_MSIL2A_20260423T094029_N0512_R036_T34TDR_20260423T115714.SAFE drwxr-xr-x 6 root root 4096 May 22 01:37 S2B_MSIL2A_20260423T094029_N0512_R036_T34TER_20260423T115714.SAFE drwxr-xr-x 6 root root 4096 May 22 01:37 S2B_MSIL2A_20260423T094029_N0512_R036_T34TES_20260423T115714.SAFE -rw-r--r-- 1 root root 35131910 May 22 01:37 dem.tif -rw-r--r-- 1 root root 14909524 May 22 01:37 ne_10m_admin_1_states_provinces.zip -rw-r--r-- 1 root root 5493 May 22 01:37 osm_conf_amenity.ini -rw-r--r-- 1 root root 5528366 May 22 01:37 timisoara.osm.pbf drwxrwxr-x 2 1000 1000 4096 May 22 05:06 host最后验证 QGIS 也能正常启动(base) rootXXXXXXXXXXXX:/# qgisQGIS 窗口成功出现后Docker 路线的安装即告完成可直接跳过本页其余内容。方式二Conda 安装与宿主机深度集成1. 安装 Miniforge3如果还没有任何 Conda 安装先下载 Miniforge3 安装脚本Linux x86_64 对应文件名为Miniforge3-Linux-x86_64.sh可从 conda-forge 官方 Miniforge 发布渠道获取curl -LO https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh静默安装sh Miniforge3-Linux-x86_64.sh -b输出节选PREFIX/home/even/miniforge3 Unpacking bootstrapper... Unpacking payload... Extracting ca-certificates-2026.4.22-hbd8a1cb_0.conda Extracting libgomp-15.2.0-he0feb66_19.conda Extracting libzlib-1.3.2-h25fd6f3_2.conda [ ... snip ... ] Linking conda-package-handling-2.4.0-pyh7900ff3_2 Linking conda-26.3.2-py313h78bf25f_1 Transaction finished installation finished.为当前 shell 激活 Miniforge3~/miniforge3/bin/conda init输出节选注意最后一行会修改~/.bashrcno change /home/even/miniforge3/condabin/conda no change /home/even/miniforge3/bin/conda no change /home/even/miniforge3/bin/activate no change /home/even/miniforge3/bin/deactivate no change /home/even/miniforge3/etc/profile.d/conda.sh no change /home/even/miniforge3/etc/fish/conf.d/conda.fish no change /home/even/miniforge3/shell/condabin/Conda.psm1 no change /home/even/miniforge3/shell/condabin/conda-hook.ps1 no change /home/even/miniforge3/lib/python3.13/site-packages/xontrib/conda.xsh no change /home/even/miniforge3/etc/profile.d/conda.csh modified /home/even/.bashrc For changes to take effect, close and re-open your current shell. 改动将在重新打开 shell 后生效。2. 创建并激活专用 Conda 环境Conda 环境相当于独立的软件工作区其中的包不会与其他环境互相干扰。为本工作坊创建名为gdal-cli-workshop的环境并使用conda-forge渠道获取社区最新官方版本若使用 Miniforge3 安装该渠道通常已默认配置conda create -y --name gdal-cli-workshop -c conda-forge输出节选Retrieving notices: done Channels: - conda-forge Platform: linux-64 Collecting package metadata (repodata.json): done Solving environment: done ## Package Plan ## environment location: /home/even/miniforge3/envs/gdal-cli-workshop Downloading and Extracting Packages: Preparing transaction: done Verifying transaction: done Executing transaction: done # # To activate this environment, use # # $ conda activate gdal-cli-workshop # # To deactivate an active environment, use # # $ conda deactivate激活环境conda activate gdal-cli-workshop环境激活后shell 提示符前缀会变为(gdal-cli-workshop)用于提示当前所处的环境。3. 安装 libgdal 与 gdalGDAL 的安装被拆分为两个角色互补的包libgdal元包安装libgdal-core及大多数可选驱动插件如libgdal-jp2openjpeg等即 C/C 库本体gdal包提供 Python 绑定与命令行脚本。(gdal) $ conda install -y -c conda-forge libgdal gdal输出节选Channels: - conda-forge Platform: linux-64 Collecting package metadata (repodata.json): done Solving environment: done ## Package Plan ## environment location: /home/even/miniforge3/envs/gdal-cli-workshop added / updated specs: - gdal - libgdal The following packages will be downloaded: [ ... snip ... ] Downloading and Extracting Packages: Preparing transaction: done Verifying transaction: done Executing transaction: done验证版本$ gdal --versionGDAL 3.13.1 Iowa City, released 2026/06/01macOS 平台安装官方对 macOS 的说明相对简略原因是缺乏该平台的实际测试环境核心步骤如下若尚无 Conda请访问 conda-forge 官网下载页面选择与你 CPU 架构匹配的安装器安装完成后完全沿用上述 Linux 平台的 Conda 步骤包括创建gdal-cli-workshop环境、conda activate、conda install -y -c conda-forge libgdal gdal以及gdal --version验证。Linux 与 macOS 的命令是通用的唯一的差异在于安装器的 CPU 架构选择。Windows 平台安装Windows 安装文档在 Windows 10 上验证预计对 Windows 11 同样有效分为四个阶段安装独立 Miniforge3 → 创建专用 Conda 环境 → 安装 MSYS2 Bash 环境 → 配置gdal.bat启动脚本。为保证后续指令无需修改即可执行请严格按文档推荐路径c:\gdal安装。阶段一以管理员身份安装独立的 Miniforge3如果已有 Conda 安装可跳过此阶段。不过强烈建议为工作坊安装一个独立的 Miniforge3 实例理由有二避免与你现有的 Conda 安装互相干扰且只有使用默认位置后续的启动脚本才能无需修改直接使用。下载Miniforge3-Windows-x86_64.exe安装器可从 conda-forge 官方 Miniforge 发布渠道获取然后右键选择以管理员身份运行——管理员权限是为了确保你有权写入c:\gdal以便后续指令按原样执行。随后按安装向导操作确认 Welcome 对话框接受许可协议选择Just Me并确认将安装路径修改为c:\gdal\miniforge3并确认见上文第一张图高级选项中只勾选 Create shortcuts点击 Install安装完成后依次点击 Next、Finish。阶段二创建专用 Conda 环境--prefix 方式从开始菜单选择 Anaconda Prompt见上文第二张图打开一个 Conda 可执行文件已加入 PATH 的cmd控制台。与 Linux 使用--name不同Windows 示例采用--prefix方式将环境显式创建到c:\gdal\condaenv\gdal(base) C:\Users\my_user_nameconda create -y --prefix c:/gdal/condaenv/gdal -c conda-forge输出节选Retrieving notices: done Channels: - conda-forge - defaults Platform: win-64 Collecting package metadata (repodata.json): done Solving environment: done ## Package Plan ## environment location: c:\gdal\condaenv\gdal Downloading and Extracting Packages: Preparing transaction: done Verifying transaction: done Executing transaction: done # # To activate this environment, use # # $ conda activate c:\gdal\condaenv\gdal # # To deactivate an active environment, use # # $ conda deactivate激活环境(base) C:\Users\my_user_nameconda activate c:\gdal\condaenv\gdal阶段三安装 GDAL与 Linux 一致同时安装库元包与 Python 绑定包(c:\gdal\condaenv\gdal) C:\Users\my_user_nameconda install -y -c conda-forge gdal libgdal输出节选Windows 平台 GDAL 相关组件总下载约 180.9 MBChannels: - conda-forge - defaults Platform: win-64 Collecting package metadata (repodata.json): done Solving environment: done ## Package Plan ## environment location: c:\gdal\condaenv\gdal added / updated specs: - gdal - libgdal The following packages will be downloaded: package | build [ ... snip ... ] ------------------------------------------------------------ Total: 180.9 MB The following NEW packages will be INSTALLED: [ ... snip ... ] Downloading and Extracting Packages: Preparing transaction: done Verifying transaction: done Executing transaction: done验证(c:\gdal\condaenv\gdal) C:\Users\my_user_namegdal --versionGDAL 3.13.1 Iowa City, released 2026/06/01阶段四安装 Bash shellMSYS2gdal命令行带有强大的自动补全auto-completion机制但这要求从 Bash 兼容 shell 中使用。因此需要安装 MSYS2。下载 MSYS2 安装器msys2-x86_64-*.exe可从 msys2 官方发布渠道获取右键以管理员身份运行。安装向导中点击 Next指定c:\gdal\msys64为安装目录并点击 Next见上文第三张图指定 msys2_gdal 作为开始菜单文件夹名称并点击 Next点击 Finish。阶段五创建 gdal.bat 启动脚本下载工作坊启动脚本并保存为c:\gdal\gdal.bat。该脚本会启动一个 Bash shell并加载运行 GDAL 所需的全部环境包括命令行补全。仓库内即保存了这份脚本的原始版本doc/source/workshop/gdal.bat其逐行逻辑如下call C:\gdal\miniforge3\condabin\conda activate c:\gdal\condaenv\gdal set OUTFILEC:\gdal\.bashrc echo export PATH/c/gdal/condaenv/gdal/Library/bin:/c/gdal/miniforge3/Scripts:/c/gdal/msys64/usr/bin:^$PATH %OUTFILE% echo source /c/gdal/condaenv/gdal/Library/share/bash-completion/completions/gdal %OUTFILE% set PS1(gdal) \w\$ call C:\gdal\msys64\usr\bin\bash.exe --init-file C:\gdal\.bashrc各行含义行作用conda activate c:\gdal\condaenv\gdal激活工作坊 Conda 环境写入C:\gdal\.bashrc的export PATH...将 GDAL 的Library/binDLL 与 CLI 所在、Miniforge3 的Scripts、MSYS2 的usr/bin依次加入 PATH写入.bashrc的source .../completions/gdal加载 GDAL 的 Bash 补全定义对应仓库 scripts/gdal-bash-completion.sh 自动生成的文件PS1(gdal) \w\$自定义提示符为(gdal) 路径$bash.exe --init-file C:\gdal\.bashrc以该.bashrc为初始化文件启动 Bash注意该启动脚本仅在 Miniforge3 与 Conda 环境都安装在上述默认位置时才直接可用。若安装位置不同需要编辑脚本中对应的路径。从资源管理器或创建的快捷方式启动c:\gdal\gdal.bat然后验证补全。输入TAB表示按 TAB 键gdal --TABTAB应看到如下候选选项--config --drivers --help --json-usage --version补全功能之所以能工作是因为gdal二进制内置了一个隐藏的completion子命令Bash 补全脚本通过调用它实时生成候选列表详见 apps/gdal.cpp 中EmitCompletion()与main()对completion参数的处理。除顶层选项外它还支持子命令列表补全、参数值补全如--ofTAB给出json/text、EPSG CRS 代码补全如EPSG:432TAB列出 4326 WGS 84 等、乃至云端文件名补全如/vsis3/...完整示例见 Bash 补全官方文档。获取工作坊使用的示例数据集下载工作坊数据集压缩包master.zip超过 1 GB并解压到你选择的目录。数据源为gdal_cli_workshop_data仓库。Linux/macOS 示例mkdir $HOME/gdal_cli_workshop_data cd $HOME/gdal_cli_workshop_data curl -O master.zip 下载地址 unzip master.zipWindows下载并解压文件后需要把工作目录切换到解压出的文件夹再运行练习。例如解压到C:\gdal\gdal_cli_workshop_data-master时在启动脚本打开的命令行中执行(gdal) /c/gdal$ cd gdal_cli_workshop_data-master数据集的构成与一个降精度细节数据集包含 GRIB/NetCDF 气象栅格、Sentinel-2 SAFE 影像目录、DEM、矢量行政区划、OSM 数据与配置文件等完整清单见上文 Docker 一节的ls -al输出。文档特别提示了一个工程细节为满足 GitHub 单文件 100 MB 上限Sentinel-2 原始数据中的个别文件被移除且T34TDR_.../IMG_DATA/R10m/T34TDR_20260423T094029_B08_10m.jp2被降精度重处理以压缩到 100 MB 以内。该重处理使用的正是新 CLI 的栅格转换命令gdal raster convert --of JP2OpenJPEG --creation-option QUALITY45 --co BLOCKXSIZE1024 --co BLOCKYSIZE1024这同时也是一个很好的新 CLI 语法示例--of指定输出格式--creation-option可简写--co传入驱动级创建选项。配套工具安装安装 jqJSON 处理工具新 CLI 大量使用 JSON 输出如gdal raster info --of json因此工作坊要求安装jq。在 Conda 启用的 shell 中conda install -y -c conda-forge jq强烈推荐安装 QGIS 用于可视化Linux 与 Windows在 Conda 启用的 shell 中安装QGIS 与 GDAL 同环境可保证版本匹配conda install -y -c conda-forge qgis额外下载约 1.3 GB解压后预计占用约 2 GB 空间。macOS 例外QGIS 的 Conda 构建目前不适用于 macOS请从 QGIS 官方网站下载 macOS 安装器。文本编辑器准备一个顺手的基础文本编辑器用于准备和粘贴命令行以及查看 JSON 输出。进阶使用 GDAL 开发版构建gdal-master 渠道希望抢先体验 GDAL 主线开发分支master最新状态、且能承受一定风险的进阶用户可以使用gdal-masterConda 渠道获取每日构建说明见 GDAL 下载页 的 GDAL master Conda builds 一节。典型用法conda install -c gdal-master -c conda-forge gdal-master::gdal与发布版一致额外驱动可通过gdal-master::libgdal-{driver_name}形式安装例如gdal-master::libgdal-arrow-parquet。环境里已装过 master 构建、需要升级到最新版本时注意 GDAL 子包可能需要逐个更新——因为 master 的版本号如3.12.99不会随每次夜间构建变化# 检查当前已安装的 GDAL 组件与版本 conda list gdal gdal --version # 移除当前 master 版本 conda remove gdal libgdal-core --yes # 安装最新的 GDAL master 构建 conda install -c gdal-master -c conda-forge gdal libgdal-core --yes gdal --version需要提醒的是master 构建基于 conda-forge 依赖其行为可能领先于本文所述的 3.13.1 稳定版如与工作坊练习预期不符请回到稳定版环境。原理印证新 CLI 与补全能力的源码实现为帮助理解为什么这样装、补全从哪里来这里从仓库源码层面印证几个关键点gdal主程序入口位于 apps/gdal.cppmain()先处理早期配置项含--config-options-in-stdin等特殊开关随后通过GDALGlobalAlgorithmRegistry::GetSingleton().Instantiate(...)实例化根算法、调用GDALAllRegister()注册全部驱动、ParseCommandLineArguments()解析参数最后执行alg-Run(...)与Finalize()。补全的后端机制同样在 apps/gdal.cpp当第一个参数是completion时程序进入EmitCompletion()分支把候选选项以空格分隔写到 stdoutscripts/gdal-bash-completion.sh由completionFinder.py自动生成正是通过调用gdal completion ...拿到候选并完成TAB补全的。这也是 Windows 安装 MSYS2 Bash 的根本原因。gdal.bat 与补全文件的关联启动脚本中的source .../Library/share/bash-completion/completions/gdal对应的就是上面这份自动生成脚本在安装后的落盘位置三者形成完整闭环脚本 →gdal completion→ 候选列表 → 交互补全。安装校验清单完成以上任一路线后建议按如下清单逐项自检检查项命令预期GDAL 版本gdal --versionGDAL 3.13.1 Iowa City, released 2026/06/01顶层子命令gdal TABTABBash 环境出现raster vector mdim pipeline ...等候选顶层选项补全gdal --TABTAB出现--config --drivers --help --json-usage --version数据集就位ls工作坊数据目录出现.nc、.SAFE、dem.tif、.pbf等文件jq 可用jq --version输出版本号QGIS 可启动qgis图形界面正常打开常见问题快速定位Docker 下 QGIS 无窗口检查是否执行了xhost local:root以及-v /tmp/.X11-unix:/tmp/.X11-unix挂载Windows 下gdal.bat报路径错误确认 Miniforge3 与 Conda 环境是否安装在默认位置c:\gdal与c:\gdal\condaenv\gdal否则编辑脚本路径Windows 下安装器写不进去c:\gdal务必以管理员身份运行安装器macOS 安装 QGIS走 QGIS 官方安装器而非 Conda。完成上述环境准备后即可进入 工作坊首节内容从gdal raster info与gdal vector info开始探索新 CLI 的完整能力。赞分享GIS遥感数据工程【免费下载链接】gdalGDAL is an open source MIT licensed translator library for raster and vector geospatial data formats.项目地址https://gitcode.com/gh_mirrors/gd/gdal点击查看免费下载相关推荐DLSS Swapper终极指南5分钟掌握游戏性能优化神器免费提升帧率50%DLSS Swapper终极指南5分钟掌握游戏性能优化神器免费提升帧率50% 你是不是厌倦了游戏中卡顿的画面是否曾因为DLSS版本过旧而错失更好的游戏体验操作系统云原生容器运行时CopyQ 跨平台安装完全指南Windows / macOS / Linux 多途径部署与命令行环境配置CopyQ 跨平台安装完全指南Windows / macOS / Linux 多途径部署与命令行环境配置 CopyQ 是一款跨平台的高级剪贴板管理器支持 W桌面应用GDAL 开发环境搭建完整指南Vagrant、Docker 与 Windows Conda 多方案实战GDAL 开发环境搭建完整指南Vagrant、Docker 与 Windows Conda 多方案实战 本指南基于 GDAL 官方开发文档《Setting uGIS遥感数据工程上一篇ccusage 终端渲染调试指南使用 cmux 在真实 Pane 中验证响应式表格与进度动画下一篇Ray Tune PB2 调度器实战用高斯过程代替随机扰动的 Population Based Bandits 完整示例与源码解析创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考