GDAL简介

GDAL是跨平台的空间数据抽象库,用于读写栅格和矢量数据,支持多种GIS软件。它由OGR和GDAL合并,采用C/C++编写,提供多种语言接口。GDAL包括栅格数据的dataset、波段、空间参考等信息,以及矢量数据的Geometry、Spatial Reference、Feature和Layer。栅格数据通过放射变换计算地理坐标,矢量数据遵循OGC Simple Features规范。
摘要由CSDN通过智能技术生成

GDAL简介

作者:阿振

邮箱:tanzhenyugis@163.com

博客:https://blog.csdn.net/theonegis/article/details/80089375

修改时间:2018-05-13

声明:本文为博主原创文章,转载请注明原文出处


Geospatial Data Abstraction Library (GDAL)是使用C/C++语言编写的用于读写空间数据的一套跨平台开源库。现有的大部分GIS或者遥感平台,不论是商业软件ArcGIS,ENVI还是开源软件GRASS,QGIS,都使用了GDAL作为底层构建库。

GDAL库由OGR和GDAL项目合并而来,OGR主要用于空间要素矢量矢量数据的解析,GDAL主要用于空间栅格数据的读写。此外,空间参考及其投影转换使用开源库 PROJ.4进行。

目前,GDAL主要提供了三大类数据的支持:栅格数据,矢量数据以及空间网络数据(Geographic Network Model)。

GDAL提供了C/C++借口,并且通过SWIG提供了Python,Java,C#等的调用借口。当我们在Python中调用GDAL的API函数时,其实底层执行的是C/C++编译的二进制文件。

GDAL不但提供了API借口方便开发人员自定义自己的功能,而且还提供了一系列实用工具(Command Line Tools)可以实现方便快速的空间数据处理。我们可以使用这些实用工具,结合Linux Shell脚本或者Windows批处理脚本进行大批量空间数据的批量处理。

GDAL 1.x版本以前,对于栅格和矢量数据的读写API借口设计是相对分离的,从2.x版本开始,栅格和矢量数据的API进行了集成,对开发者更加友好。我们这里的示例都是以2.x版本为例。

栅格数据组织

GDAL中使用dataset表示一个栅格数据(使用抽象类GDALDataset表示),一个dataset包含了对于栅格数据的波段,空间参考以及元数据等信息。一张GeoTIFF遥感影像,一张DEM影像,或者一张土地利用图,在GDAL中都是一个GDALDataset。

  • 坐标系统(使用OGC WKT格式表示的空间坐标系统或者投影系统)

  • 地理放射变换(使用放射变换表示图上坐标和地理坐标的关系)

  • GCPs(大地控制点记录了图上点及其大地坐标的关系,通过多个大地控制点可以重建图上坐标和地理坐标的关系)

  • 元数据(键值对的集合,用于记录和影像相关的元数据信息)

  • 栅格波段(使用GDALRasterBand类表示,真正用于存储影像栅格值,一个栅格数据可以有多个波段)

  • 颜色表(Color Table用于图像显示)

地理放射变换

放射变换使用如下的公式表示栅格图上坐标和地理坐标的关系:

Xgeo=GT(0)+X
  • 14
    点赞
  • 74
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值