GDAL/OGR 是一个地理空间数据的格式转换及处理工具。

简介

官方主页: http://www.gdal.org

GDAL/OGR 的核心分成两个部分:

  • GDAL部分可以实现142种光栅数据格式间的互相转换,比如常见的 netCDF、GeoTiff、HDF5、XYZ 等,详见 GDAL光栅格式列表
  • OGR部分可以实现84种矢量数据格式间的互相转换,比如常见的 Shapefile、GMT、KML、MapInfo、Excel 等,详见 OGR矢量格式列表

安装

Linux 用户

Linux 由于版本众多,以下仅供参考。如有差异,请到 https://pkgs.org 自行搜索。

CentOS/Fedora 用户:

sudo yum install gdal gdal-python

Ubuntu/Debian 用户:

sudo apt-get install gdal-bin python-gdal

macOS 用户

推荐使用 Homebrew 安装:

brew install gdal --with-complete

非 homebrew 用户也可以到 William Kyngesburye 的网站 下载 dmg 安装包。

Windows 用户

Windows 用户可以通过安装 OSGeo4W 来使用其提供的 GDAL。安装及使用方式如下:

  1. 到 OSGeo4W 官方网站下载 32位64位 安装包
  2. 双击=>“Express Desktop Install”=>选择下载地址=>只勾选GDAL=>等待下载安装完成(有经验的用户也可以选择“Advanced Install”以自定义安装)
  3. 安装完成会在桌面生成一个名为OSGeo4W的文件夹,双击文件夹内的快捷链接即可打开一个命令行窗口
  4. 命令行窗口中输入 ogr2ogr --version 以确认可以正常使用
  5. 如果只是偶尔使用,建议按照如上方式运行;如果是经常使用,可以将 C:\OSGeo4W64\bin 添加到 环境变量 PATH 中

如果由于某些原因无法使用 OSGeo4W,下面两个软件包中也附带了 GDAL 工具:

使用

GDAL/OGR 提供了几十个工具,每个工具用法也很丰富。此处只介绍常见工具的简单用法,详细用法请参考 GDAL工具列表OGR工具列表

ogr2ogr

ogr2ogr 用于地理矢量数据格式之间的相互转换。

查看 ogr2ogr 支持哪些格式:

$ ogr2ogr --formats

将 Shapefile 格式的数据转换为 GMT 所需要的格式:

$ ogr2ogr -f GMT CHN_adm0.gmt CHN_adm0.shp

其中, -f GMT 表示将输入数据转换为 GMT 格式。

gdal_translate

gdal_translate 用于地理空间光栅数据格式之间的相互转换。

查看 gdal_translate 支持哪些格式:

$ gdal_translate --formats

将 GeoTiff 数据转换为 GMT 所使用的 netCDF 格式:

$ gdal_translate -of GMT srtm_56_05.tif srtm_56_05.nc

GDAL 默认不支持 GMT 所需的 netCDF 格式,所以需要注意检查当前机器安装的 GDAL 是否支持。

若当前机器安装的 GDAL 不支持 GMT 格式,有两个解决办法:

  1. 自行编译安装 GDAL 并保证其支持 GMT 格式
  2. 先将数据转换为 XYZ 格式再利用 GMT 提供的 xyz2grd 命令转换为 netCDF 格式

gdal_merge.py

gdal_merge.py 用于将合并多个光栅文件。

将多个 GeoTiff 文件合并为一个 GeoTiff 文件:

$ gdal_merge.py -o output.tif srtm_56_07.tif srtm_57_07.tif

参考资料