- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《GDAL源码剖析一李民录的专栏
前言:一直在使用和研究GDAL的相关东西,发现网上对GDAL的内容倒是不少,但是很少有系统的介绍说明,以及内部的一些结构说明,基于这些原因,将本人的一些粗浅的理解放在此处,形成一个系列,暂时名为《GDAL源码剖析》(名称有点大言不惭,欢迎大家口水吐之,板砖拍之),供大家交流参考,有什么错误之处,望大家不吝指正,本系列对于GDAL的使用均是在Windows平台下,对于Linux平台下的不在此系列讨论范围之内。此外,转载本博客内容,请注明出处,强烈鄙视转载后不注明出处的“类剽窃”行为。
一、GDAL简介
??? GDAL官方网站/,本文章中的基本内容都是参照官网中的信息,如有错误或者与官网中的内容冲突,以官网中的为正确。
在开始文章之前,我想先提出几个问题,什么是GDAL?GDAL能做什么?GDAL怎么使用?GDAL内部结构是怎么组织的?GDAL提供的算法原理是什么?对于上面的几个问题,希望大家看完该系列文章后能对上面的几个问题少点疑惑,希望能对感兴趣的童鞋们有所帮助。本人不才,文章中难免会出现问题,希望大家不吝指正。
什么是GDAL?这个问题比较简单,通俗的讲,GDAL是一个读写空间数据(这里的空间数据包括栅格数据和矢量数据)的开源库(但不仅限于此,此外还提供了一些非常常用的算法和工具)。严格的讲,大家可以参考GDAL首页上的介绍。
GDAL is a translator library for raster geospatial dataformats that is released under an?X/MIT?style?Open Source?license by the?Open Source Geospatial Foundation. As alibrary, it presents a?singleabstract data model?to the calling application for allsupported formats. It also comes with a variety of usefulcommandline utilities?fordata translation and processing. TheNEWSpage describes the July 2011 GDAL/OGR 1.8.1 release.
The related?OGR?library(which lives within the GDAL source tree) provides a similar capability forsimple features vector data.
二、GDAL目录结构
??? 首先对于GDAL的目录结构进行一个简单的介绍。GDAL源代码下载地址:/gdal/wiki/DownloadSource,或者安装svn从源代码服务器下载,svn地址是:/gdal/trunk。
??? 如果是使用下载的压缩包,其目录结构如下图:
图1 GDAL源码压缩包文件目录结构
??? 如果使用svn下载的源代码,目录结构如下:
图2 GDAL SVN源码文件目录结构
从上面两张图中可以看出,GDAL的目录结构不管是用什么方式获取的源代码,它的目录结构都是一样的,下面就针对目录结构中的每个文件夹和文件做一个简单的说明。(按照字母顺序来进行说明)
下面先对文件夹进行说明:
1、alg文件夹:alg文件夹中存放的是GDAL库中提供的一些算法的源代码,这些算法包括但不限于:DEM生成等高线算法;图像纠正算法(几何纠正,TPS纠正,正射RPC纠正);栅格矢量化算法;矢量栅格化算法;格网计算算法;PCT和RGB互转算法;分类图的小碎斑块去除算法等。
2、apps文件夹:apps文件夹中存放的是GDAL库中提供的一些命令行工具集的源代码,这些工具集的介绍可以参考/gdal_utilities.html,将来我会对这些工具做一个简单的说明。其中有些工具非常的有用,比如gdalinfo,可以使用该工具来查看图像的元数据信息等。
3、bridge文件夹:bridge文件夹中存放的是用来连接GDAL抽象类的定义以及GDAL自己的结构体定义和实现的源代码。具体到后面涉及到GDAL的实现原理时会对该文件夹作一个比较详细的介绍。
4、data文件夹:data文件夹中存放的是GDAL库中需要用到的一些“配置文件”(此处用配置文件可能不太准确),这些文件主要有ESRI的投影文件,ESPG的投影文件,PCI的投影和椭球体文件,autoCAD的头文件,以及其他的一些文件。在GDAL库中有很多时候会自动读取该文件夹中的文件,一般是通过环境变量来查找该文件夹,环境变量的名字叫GDAL_DATA,值就是data文
您可能关注的文档
最近下载
- 意大利cemb(赛博)er60动平衡仪中文操作手册.pdf VIP
- 粮油供货保障方案.docx VIP
- 负压引流器产品技术要求标准2023版.pdf VIP
- 初中英语课外阅读黑布林版渔夫和他的灵魂中文译文.docx VIP
- Oasis montaj7.5 操作手册-Oasis montaj Mapping and Processing软件平台.pdf VIP
- 机械精度设计与检测技术基础第2版杨沿平第七章滚动轴承配合1课件教学.ppt VIP
- 云南省昆明市盘龙区2023-2024学年七年级上学期期末英语试卷.pdf VIP
- 硬膜下血肿的护理常规.pptx
- 2020年牛津译林版7A英语七年级上册Unit2-单元检测卷(含答案).docx VIP
- 机械精度设计与检测技术基础第2版杨沿平第八章键与花键连接1课件教学.ppt VIP
文档评论(0)