【GDAL工具箱】新手使用指南-简介

发布于:2023-02-15 ⋅ 阅读:(1132) ⋅ 点赞:(0)

系列文章目录

第一章 什么是GDAL
第二章 GDAL工具箱新手入门之gdalinfo的使用
第三章 GDAL工具箱新手入门之gdal_translate的使用
第四章 GDAL工具箱新手入门之gdal_warp的使用
第五章 GDAL工具箱新手入门之gdal_rasterize的使用
第六章 GDAL工具箱新手入门之gdaltransform的使用
第七章 GDAL工具箱新手入门之ogrinfo的使用
第八章 GDAL工具箱新手入门之ogr2ogr的使用
第九章 GDAL工具箱新手入门之gdalmdimtranslate的使用



前言

我们经常将关键基础设施视为与道路或电力相关的东西。在日益数字化的世界中,关键基础设施也是数据网络和软件。地理空间数据抽象库 (GDAL) 是一组软件工具,可能是 GIS 软件中最重要的部分之一,自 2000 年以来一直作为一个项目存在。

该库被Google Earth等主要公共平台使用,也被ArcGIS、QGIS和GRASS等常用 GIS 工具使用。事实上,可能有数百个软件项目使用 GDAL 库。在 MapScpping Podcast 的一次采访中, Paul Ramsey 讨论 了 GDAL 的重要性,以及它的财务模型和对地理空间社区的长期生存能力。

一、GIS 数据和 GDAL

我们可以将 GDAL 视为提供与矢量和栅格数据相关的许多操作的数据管道。可以对数据进行排列和操作,以便应用各种数据编辑和可视化操作,包括最常见的操作,例如转换和地理配准。

该工具执行的操作包括坡度和坡向计算、光栅扭曲、子集和图像重采样。许多用户都知道它具有工作和操作各种数据格式的能力,其中包含由库处理和导入的 160 多种栅格格式。数据还可以多种格式导出,该工具可以工作并应用 GeoTiIFF、GeoJSON 和 CSV 格式等。
GDAL 标志

二、什么使GDAL

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

OGR(OGR Simple Features Library)是GDAL项目的一个分支,功能与GDAL类似,只是它提供对矢量数据的读写支持。同时它实现了一个对空间参考信息进行处理的类,用来对空间数据的空间信息进行处理。

GDAL最初是由Frank Warmerdam于1998年开始开发的,在GDAL1.3.2版本之后,正式有开源空间信息基金会(OpenSourceGeospatialFoundation,简称OSGeo)下的GDAL/OGR项目委员会对其进行维护。

很多著名的GIS类产品都使用了GDAL/OGR库,包括ESRI的ArcGIS系列,Erdas2011、Geogle Earth和跨平台的GRASS GIS、Quantunm GIS系统等。

可以通过以下网址,查看哪些软件和产品使用了GDAL
https://trac.osgeo.org/gdal/wiki/SoftwareUsingGdal

三、GDAL的特点

GDAL提供对多种栅格数据的支持,包括Arc/Info ASCII Grid(asc),GeoTiff(tiff)、Erdas Imagine Images(img),ASCII DEM(dem)等格式。

OGR提供对矢量数据格式的读写支持,包括ESRI Shapefiles、S-57、SDTS、PostGIS、Oracle Spatial、Mapinfo mid/mif和Mapinfo TAB等。

GDAL库还提供了一系列算法接口,比如矢量栅格化、栅格矢量化、图像校正算法以及DEM相关的算法接口等:同时对这些算法提供了一系列可以运行的程序或者脚本,方便人们使用。

四、其他软件和工具中的 GDAL 功能

命令行访问意味着它通常在其他工具中应用。还使用了 OGR 库,处理矢量数据,包括矢量图形,并在标准格式上执行读写操作。

GDAL 用于广泛的开源和私有工具,因此它经常包含在每个主要操作系统的第三方软件中。

GDAL 的部分是用C、C++和 Python编写的,具有多种计算机语言绑定,这也是其被广泛访问的原因之一,使得该工具可以在流行的 GIS 脚本语言中使用,例如 Python、Perl、Ruby、R 等。

应用 C、C++ 或Java的大型面向对象平台也应用该库。由于可以在 GDAL 中完成的通用操作,像 Esri 这样的大公司决定使用这个库比创建自己的专有库更好。

最近,GDAL 也被应用为基于云的计算操作的一部分,这意味着用户甚至不需要在本地复制它,并且可以远程应用空间操作,有时在创建数据时可以近乎实时地应用。

例如,当访问来自 USGS 的 Landsat 或来自 Planet Labs 的 高分辨率卫星图像等数据时,GDAL 操作已经从卫星发送的数据点开始应用,包括正射校正。

GDAL库不断更新完善;保持软件更新通常很重要,以避免潜在的软件冲突或无法与其他软件正常工作的操作。

GDAL:地理空间社区的关键基础设施
我们可以得出的结论是,GDAL 已有效地成为地理空间社区的关键基础设施。考虑到应用于矢量和栅格数据的广泛操作,它可能是最重要的库之一。此外,很多大大小小的工具都使用GDAL,也成为应用程序中不可或缺的一部分。

五、GDAL代码的下载

官网下载地址
http://download.osgeo.org/gdal
https://github.com/OSGeo/gdal/tree/master/gdal

GISInternals Support Site
https://www.gisinternals.com/release.php

六、文件目录介绍

  1. alg:该文件夹存放的是GDAL库中提供的一些算法的源代码,这些算法包括但不限于:DEM生成的等高线算法,图像纠正算法(几何纠正、TPS纠正、RPC纠正等),栅格矢量化算法,矢量栅格化算法,格网计算算法,PCT和RGB互转算法,分类图的小碎斑块去除算法等。
  2. apps:该文件夹中存放的是GDAL库中提供的一些命令行工具集的源代码。后面会对这些工具做一个简单的说明,其中有些工具非常有用,比如gdalinfo,可以用来查看图像的元数据信息等。
  3. bridge:该文件夹中存放的是用来连接GDAL抽象类的定义于GDAL自己的结构体定义及其实现的源代码。
  4. data:该文件夹中存放的是GDAL库中需要用到的一些“配置文件”,这些文件主要有ESRI的投影文佳佳,ESPG的投影文件,PCI的投影和椭球体文件,AutoCAD的DXF格式的头文件等。
  5. doc:该文件夹存放的是用来生成GDAL帮助文档的一些dox文件。dox文件是使用doxygen工具来进行生成的,后面我们会对doxygen工具做一个简单的介绍,并且说明在自己的工程中怎样使用doxygen生成程序的开发帮助文档。
  6. frmts:这个文件夹可以说是GDAL代码中内容最多的一个文件夹了,每次更新GDAL的版本后这个文件夹中都会多出几个文件夹,同时在GDAL支持的文件格式中也会多出来几个新的文件格式。
  7. gcore:这个文件夹是GDAL的灵魂所在,主要存放GDAL抽象类的数据集,图像,波段的读写接口都在这个里面实现的。如果想要知道GDAL的抽象类是怎么对图像格式进行抽象的,可以看看这个文件夹中的代码。
  8. html:这个文件夹主要用来存放GDAL生成的帮助文档,使用doxygen工具生成的GDAL帮助文档会出现在这个文件夹中
  9. m4:这个文件夹存放的是以m4为后缀名的文件。m4文件叫Macro Processor Library,是编译基础中最核心的为文件,这个文件主要是用autoconf来生成configure配置文件,继而自动生成makefile文件。这个文件夹在Windows平台下没有用。
  10. man:该文件夹是用来生成Linux或者其他平台下的帮助文件,Windows平台下也没有用。
  11. ogr:GDAL和OGR曾经是两个库,GDAL库负责读写栅格数据,OGR库负责读写矢量数据,然而GDAL的算法库中经常会用到矢量数据的读取,将这两个库分开会造成不变,所以两个库整合到了一起,OGR库就是GDAL库的一个子集。
  12. port:该文件夹中存放的是CPL库的东西,CPL是一个GDAL的底层支持库,CPL库中定义了一些字符串的操作、文件处理、网页请求、数据库连接、哈希表、字符加密、文件压缩等基础的函数。
  13. swig:该文件夹主要存放swig的脚本。SWIG全称叫Simplified Wapper and Interface Generator,官网地址是:http://www.swig.org/。SWIG的作用就是将C/C++写的库封装成Python、C#、Java、Perl和Ruby等其他语言的访问接口。GDAL的C#版本就是使用swig编译出来的。
  14. vb6:这个文件夹用来将GDAL编译成一个VB6的模块,对于里面具体的文件说明以及如何编译参考文件夹中的readme.txt文件夹用来将GDAL编译成一个VB6的模块,对于里面具体的文件说明以及如何编译参考文件夹中的readme.txt
  15. wince:这个文件夹中的文件就是用来编译Windows CE平台下的GDAL库的

七、有用的网址

https://gis-lab.info/docs/gdal/gdal_ogr_user_docs.html
https://www.naturalearthdata.com/downloads/
https://www.pacificclimate.org/
https://trac.osgeo.org/gdal/wiki/UserDocs/RasterProcTutorial
http://download.osgeo.org/gdal/workshop/

总结

以上就是今天要讲的内容,本文仅仅简单介绍了什么是GDAL、GDAL使用以及有用的链接。

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到