2.GDAL简介

article/2025/11/6 3:14:03

1. 什么使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

2. 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相关的算法接口等:同时对这些算法提供了一系列可以运行的程序或者脚本,方便人们使用。

3. GDAL代码的下载

  • 官网下载地址:

http://download.osgeo.org/gdal

https://github.com/OSGeo/gdal/tree/master/gdal

在这里插入图片描述

  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

  1. wince:这个文件夹中的文件就是用来编译Windows CE平台下的GDAL库的

http://chatgpt.dhexx.cn/article/l7oZYqGk.shtml

相关文章

GDAL学习笔记02:GDAL基础知识

你的习惯决定了你会成为什么样的人。 GDAL学习笔记02:GDAL基础知识 前言1. 版本2. 摘要3. 说明4. 微信公众号GISRSGeography 一、GDAL简介二、导入GDAL三、读取遥感影像的信息 前言 1. 版本 1.1 山东青岛,2022年7月17日,Version 1 2. 摘要…

GDAL 安装教程(Python)

引言 本文介绍 GDAL(Geospatial Data Abstraction Library,空间数据抽象库)的 Python 版本安装教程。 简介 GDAL 是用于栅格和矢量地理空间数据格式的开源转换器。向调用应用程序提供所有受支持格式的单个栅格抽象数据模型和单个矢量抽象数…

TrAdaBoost

TraAdaBoost是AdaBoost算法的扩展。 TraAdaBoost核心思想: same-distribution instance feature:训练数据中与测试数据分布相同的数据,用Ts表示,m 错误预测增加权重 diff-distribution instance feature:训练数据中与测试数据分布不同的数据&…

Boost Build

Window XP Visual Studio 2008 获取Boost库源码 我们可以从http://www.boost.org/ 上获取boost的源代码。当前最新版本为1.45.0。 解压到指定目录 例如:D:/Program Files/boost/目录下 获取bjam 一种方式:从http://sourceforge.net/projects/boos…

BoF and Bos

Bag of freebies 采用一些方法使模型有更高的准确度但是不增加模型的复杂度和模型的推理代价 PS:数据增强应该在图像标准化(normalization)之前完成; Library: Albumentations arxiv github docsAugmentor arxiv github docs Biomedical image augment…

Boost 作为客户端 boost

系列文章目录 lotus Boost 作为客户端 系列文章目录前言一、同步区块高度二、boost 初始化1. 生成钱包地址2. boost设置默认钱包地址 三、boostx向存储市场添加资金四、发单五、离线交易参考 前言 Boost 作为客户端 一、同步区块高度 可以远程调用其它api,也可以…

DART booster

XGBoost基本上都是组合大量小学习率的回归树。在这种情况,越晚添加的树比越早添加的树更重要。 Rasmi根据深度神经网络社区提出一个新的使用dropout的boosted trees,并且证明它在某些情况有更好的结果。 以下是新的tree boosterdart的介绍。 原始文章 特征 Drop Trees是…

boost::format

实在不好意思,原本计划每天一篇,这几天工作遇到问题,只好改为“不定期”一篇, 今天是format library,其实N天前我已经看过了,也动手实验了一下,现在才来把笔记补上。 用过MFC或ATL中的CString的…

adboost

要明确Adaboost是一种算法。 介绍一下Adaboost的历史。 Adaboost的前身的Boosting算法。 Boosting是一种提高任意给定学习算法准确度的方法。它的思想起源于Valiant提出的PAC(Probably Approximately Correct)学习模型。Valiant和Kearns提出了弱学习和强学习的概念,识别错误…

buuctf easymd5

点击f12,查看源代码看看有没有消息 Hint:select * from ‘admin’ where password md5($pass,ture) 我们要让passwordmd5($pass,ture) mysql里面,在用作布尔型判断时,以数字开头的字符串会被当做整型数。 要注意的是这种情况是必…

fastboot与fastbootd介绍

fastboot与fastbootd介绍 前言一、fastboot和fastbootd介绍二、fastbootd与fastbootd区别参考文献 前言 在项目中遇到使用fastboot刷机场景,刷vendor分区出现异常,从而对fastboot和fastbootd有一个更深入的了解,进行一个总结。 一、fastbo…

Everything+Wox

Everything可对磁盘上文件/文件夹进行快速查找 Wox可对应用程序/网站进行快速启动 两者最好结合使用(结合使用,两个软件都必须都启动) Everything 下载地址:https://www.voidtools.com/zh-cn/ Wox 下载地址:https://gi…

wox wpm 安装 有道插件

1. wox 安装插件 可以通过右键点击setting,到官网上安装,也可以采用简单的方法: wpm install 有道翻译注意,选择有道翻译即可。 2. 英译汉 yd china3. 汉译英

Wox使用指南

下载安装 从下载地址下载最新版本的 wox ,我下载的是 exe 版的 Wox-1.3.578.exe 下载以后直接安装即可,不会有选择项,安装成功以后会在屏幕上出现一个搜索框,默认失去焦点以后搜索框就会消失,可以在系统状态栏的 wox 图…

实用工具 Wox

今天分享一个我一直在用,并且让我爱不释手的一个工具软件,Wox。 Wox 是一款国产开源免费的软件快捷启动工具,它可以快速搜索并打开你电脑上的程序、文件、或是查词翻译、网站查找等其他操作,同时还支持插件安装。 Tips: 如果你需…

使用Python编写Wox插件

最近正再使用Wox,这个软件还挺高效的,而且还能自己编写一些插件,这里打算自己写点插件用用. Wox官网 Plugin (wox.one)插件,此外官方也提供了编写文档,编写插件 GitBook (wox.one)提供Python和C#两种优秀的语言编写方案。我这里就…

Wox插件之程序员不安装会死系列

Wox 安装 在操作系统上,可快速启动、计算、查找程序、文件等,同时也提供了一系列插件,使用起来非常的方便。默认启动 Wox 快捷键 Alt Space,当然你也可以自己设置自己喜欢的快捷键 Wox下载地址:下载地址 不安装会…

快速搜索Wox工具之Everything Client没有运行报错,解决办法!

一直在用的一款快速搜索神器——Wox,但是在使用过程中出现一个报错! 报错如下: Everything Client 没有运行令我很烦,百度了一下,试了很多方法,还是不能发挥它的最大功效。 由于我是一个好学的人&#xff…

Wox - 开源免费强大的快捷启动器辅助工具,快速高效率打开软件/搜索文件!

在日常的电脑操作中,我们常常花很多时间重复做着一件事情:退回桌面/开始菜单->寻找软件图标->点击启动。但如果你喜欢高效的键盘操作,那么你需要一款好用的快速启动器软件。 我们曾介绍过 RunZ、Launchy、AltRun、Executor、Alfred 等…

自己做一个wox主题

wox WoX是运行正常的Windows启动器。它是Alfred和Launchy的替代方案。如果需要长名称,可以将其称为Windows omni-eXecutor。 如何替换样式 众所周知,wox自带主题比较丑,所以可以自己写 打开wox配置目录C:\Users\{{user_name}}\AppData\Lo…