GDAL源码剖析与开发指南 - (EPUB全文下载)
文件大小:0.36 mb。
文件格式:epub 格式。
书籍内容:
GDAL源码剖析与开发指南
第1章 GDAL简介
第2章 OGR空间参考
第3章 OGR库说明
第4章 GDAL库说明
第5章 GDAL数据格式及配置项说明
第6章 GDAL格式扩展说明
第7章 GDAL算法使用说明
第8章 CPL库介绍
第9章 GDAL工具使用说明
附录
版权
第1章 GDAL简介
1.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、Google Earth和跨平台的GRASS GIS、Quantunm GIS系统等(更多使用GDAL 的软件和产品,参考GDAL网址http://trac.osgeo.org/gdal/wiki/SoftwareUsingGdal)。
1.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相关的算法接口等;同时对这些算法提供了一系列可以运行的程序或者脚本,方便人们使用。
1.3 GDAL支持的数据格式
GDAL支持的数据格式分为两种:栅格数据格式和矢量数据格式。GDAL在每次版本更新的时候,都会加入对新的格式的支持。本书使用 GDAL1.10 版本中支持的栅格数据格式,如表1-1所示,支持的矢量数据格式如表1-2所示。
表1-1 GDAL支持的栅格数据格式
(续表)
(续表)
(续表)
(续表)
(续表)
(续表)
(续表)
注意
文件的最大存储大小不仅由文件的格式决定,而且和操作系统有关系。
表1-2 GDAL支持的矢量数据格式
(续表)
(续表)
(续表)
(续表)
1.4 GDAL源码下载
GDAL 的源码下载有两种方式。第一种是直接下载打包好的压缩包,下载地址为:http://trac.osgeo.org/gdal/wiki/DownloadSource。另外,GDAL的各个历史版本都可以在这个地址进行下载:http://download.osgeo.org/gdal/。这种下载方式很简单,此处不作说明。下载完成,使用压缩软件解压即可。
第二种下载方式是使用 SVN 源代码管理工具直接从 GDAL 的源码服务器进行下载。下载地址是:http://svn.osgeo.org/gdal/trunk。从 SVN 下载的好处是可以直接看到代码的提交者对代码做的修改信息等。需要注意的是,从这里下载的源代码不是发布的版本,而是开发版本,可能会有些bug。下面以TortoiseSVN为例对使用SVN下载做一个简单的说明,使用SVN下载之前要确保已经安装了SVN的客户端软件。
1)在电脑中新建一个文件夹用来存放GDAL的源代码。
2)在该文件夹点击右键,在弹出菜单中选择“SVN check out…”,弹出如图1-1所示的对话框。
3)对话框中的“URL of repository”中填入“http://svn.osgeo.org/gdal/trunk”,在“Checkout directory”中确定迁出的文件夹,其他选项默认,点击“OK”按钮,即开始下载GDAL的源代码。
图1-1 SVN checkout 对话框
1.5 GDAL源码目录
下载的GDAL源代码压缩包目录如图1-2所示,使用SVN迁出的GDAL源代码目录如图1-3所示。
图1-2 GDAL 源码压缩包文件目录结构
从图1-2和图1-3所示可以看出,不管用什么方式获取GDAL的源代码,它的目录结构都是一样的。下面我们就针对目录结构中的每个文件夹和文件作一个简单的说明(按照字母顺序)。
图1-3 GDAL SVN源码文件目录结构
1.5.1 文件夹说明
对于图1-3中所示的文件夹,详细说明如下。
alg:该文件夹存放的是GDAL库中提供的一些算法的源代码,这些算法包括但不限于:DEM生成等高线算法,图像纠正算法(几何纠正、TPS纠正、RPC纠正等),栅格矢量化算法,矢量栅格化算法,格网计算算法,PCT和RGB互转算法,分类图的小碎斑块去除算法等。
apps:该文件夹中存放的是GDAL库中提供的一些命令行工具集的源代码,这些工具集的介绍可以参考http://gdal.org/gdal_utilities.html。后面会对这些工具做一个简单的说明,其中有些工具非常有用,比如gdalinfo,可以用来查看图像的元数据信息等。
bridge:该文件夹中存放的是用来连接GDAL抽象类的定义与GDAL自己的结构体定义及其实现的源代 ............
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » GDAL源码剖析与开发指南 - (EPUB全文下载)