gdal

GDAL全称是Geospatial Data Abstraction Library(地理空间数据抽象库),是一个在X/MIT许可协议下读写空间数据(包括栅格数据以及矢量数据)的开源库,它利用抽象数据模型来表达所支持的各种文件格式,还利用一系列命令行工具来进行数据转换和处理。

GDAL 是读写大量的栅格空间数据格式的广泛应用的开源库。该库起源于 1998年,已经大幅进化。 它支持他自己的数据模型和应用程序接口(API)。 从最初的单一发展的起源,GDAL已发展成为一个分布式的项目,开发人员的数量相对比较大。

对于 GDAL 的 概 念,可能会稍微有些混乱。 GDAL 是 Geospatial Data Abstraction Library 的缩写, 最开始的时候是一个用来处理栅格空间数据的类库,OGR 则是则是来处 理矢量数据的。 后来,这两个库合并成为合并成为一个,在下载安装的时候,都是使用GDAL 这一个名字。 因为历史的原因,两大类库是用同样一个生成系统进行维护的, 最重要的是 GDAL/OGR 的作者是同一人,该人目前也是 OSGeo 的会长 Frank Warmerdam,其在OpenSource Geospatial 领域早已大名鼎鼎。 许多程序员都是拜读他的代码理解空间信息软件精髓的。

数据是软件的血液,空间信息产业更是如此,海量数据在空间信息软件行业体现的最为明显, 没有一套高效率的数据转换模型和类库很难完成异构数据的集成和融合,正是有了 GDAL/OGR,构建在其之上的各类空间信息软件项目才有了生命力。

GDAL/OGR 使用面向对象的 C++ 语言编写,这令该库在支持百余种格式的同时,还具有很高的执行效率。 GDAL/OGR 同时还提供多种主流编程语言的绑定,除了 C 和 C++语言之外,用户还可以在 Perl、python、VB6、Ruby、Java、C# 等语言中调用 GDAL,这令 GDAL 的应用变得非常广泛。GDAL 项目维护了使用 SWIG 生成的 Python 的 GDAL/OGR 绑定。 总体看,Python 中的类与方法与C++的类大体上匹配。 在最新版的 GDAL 1.9.0 中,GDAL 支持超过 120 种栅格数据格式,而在下一版本中,支持的数据格式会达到 200 种。 在 GDAL 缺省的编译选项设置下,一部分数据格式直接创建文件,并对他们进行几何配准。

由于 GDAL 对多种栅格数据格式都提供了支持,很多软件都使用它作为底层数据处理的库。 这其中比较有名的有:ArcGIS、Google Earth、OpenEV、GRASS GIS、OSSIM、Quantum GIS、MapServer、World Wind.

来源 : https://gdal.org
359 2023-08-10 22:46

评论