GDAL(Geospatial Data Abstraction Library)是一個(gè)在X/MIT許可協(xié)議下的開(kāi)源柵格空間數(shù)據(jù)轉(zhuǎn)換庫(kù)。由于GDAL庫(kù)支持很多的數(shù)據(jù)格式,目前幾乎所有的GIS和RS軟件底層都使用GDAL來(lái)讀寫(xiě)空間數(shù)據(jù)。
《GDAL源碼剖析與開(kāi)發(fā)指南》是基于GDAL源碼剖析的編程開(kāi)發(fā)指南,共9章,分為三部分。第一部分是前5章,介紹了GDAL的基本功能,包括GDAL簡(jiǎn)介、ORG庫(kù)、GDAL庫(kù)以及GDAL的數(shù)據(jù)格式和配置項(xiàng)等;第二部分是第6章到第8章,是GDAL的高級(jí)使用說(shuō)明,包括GDAL格式擴(kuò)展、GDAL算法和CPL庫(kù);第三部分是第9章,介紹GDAL工具的使用。
《GDAL源碼剖析與開(kāi)發(fā)指南》適合地理信息系統(tǒng)和遙感等相關(guān)專(zhuān)業(yè)應(yīng)用的開(kāi)發(fā)人員閱讀參考。本書(shū)中大部分的示例代碼都是使用C/C++語(yǔ)言編寫(xiě),有一定C/C++語(yǔ)言基礎(chǔ)的讀者能夠快速上手開(kāi)發(fā)相關(guān)應(yīng)用。
GDAL(Geospatial Data Abstraction Library)是一個(gè)在X/MIT許可協(xié)議下的開(kāi)源柵格空間數(shù)據(jù)轉(zhuǎn)換庫(kù)。由于GDAL庫(kù)支持超多的數(shù)據(jù)格式,目前幾乎所有的GIS 和RS軟件底層都使用GDAL來(lái)進(jìn)行讀寫(xiě)空間數(shù)據(jù)! DAL源碼剖析與開(kāi)發(fā)指南基于GDAL源碼剖析的編程開(kāi)發(fā)指南,詳細(xì)介紹了GDAL的基本功能和具體應(yīng)用! “ㄒ韵聝(nèi)容: ◎ GDAL庫(kù)簡(jiǎn)介; ◎ GDAL/OGR庫(kù)使用說(shuō)明; ◎ GDAL數(shù)據(jù)格式及配置項(xiàng)說(shuō)明; ◎ GDAL/OGR格式擴(kuò)展; ◎ CPL庫(kù)使用說(shuō)明; ◎ GDAL庫(kù)相關(guān)算法使用說(shuō)明; ◎ GDAL工具使用說(shuō)明! ∵m合地理信息系統(tǒng)和遙感等相關(guān)專(zhuān)業(yè)應(yīng)用的開(kāi)發(fā)人員閱讀參考。本書(shū)中大部分的示例代碼都是使用C/C++語(yǔ)言編寫(xiě),有一定C/C++語(yǔ)言基礎(chǔ)的讀者能夠快速上手開(kāi)發(fā)相關(guān)應(yīng)用。
李民錄,高級(jí)軟件工程師。畢業(yè)于中國(guó)礦業(yè)大學(xué)地理信息系統(tǒng)專(zhuān)業(yè),長(zhǎng)期從事遙感圖像處理相關(guān)的研發(fā)工作,熟練掌握對(duì)遙感圖像數(shù)據(jù)從星上接收到生成專(zhuān)題圖整個(gè)處理流程。熟悉常用的遙感圖像處理軟件和地理信息系統(tǒng)軟件,同時(shí)對(duì)GDAL庫(kù)有著較深入的理解。2013年,作為社區(qū)博客之星,他接受了CSDN的專(zhuān)訪。
第1章 GDAL簡(jiǎn)介
1.1 什么是GDAL
1.2 GDAL特點(diǎn)
1.3 GDAL支持的數(shù)據(jù)格式
1.4 GDAL源碼下載
1.5 GDAL源碼目錄
1.5.1 文件夾說(shuō)明
1.5.2 文件說(shuō)明
1.6 GDAL編譯
1.6.1 常規(guī)編譯
1.6.2 自定義編譯
1.6.3 編譯其他方面
1.7 SWIG編譯
1.7.1 SWIG簡(jiǎn)介
1.7.2 編譯C#版本GDAL 第1章 GDAL簡(jiǎn)介
1.1 什么是GDAL
1.2 GDAL特點(diǎn)
1.3 GDAL支持的數(shù)據(jù)格式
1.4 GDAL源碼下載
1.5 GDAL源碼目錄
1.5.1 文件夾說(shuō)明
1.5.2 文件說(shuō)明
1.6 GDAL編譯
1.6.1 常規(guī)編譯
1.6.2 自定義編譯
1.6.3 編譯其他方面
1.7 SWIG編譯
1.7.1 SWIG簡(jiǎn)介
1.7.2 編譯C#版本GDAL
1.7.3 編譯Python版本GDAL
1.7.4 編譯Java版本GDAL
1.8 GDAL幫助文檔生成
1.8.1 Doxygen簡(jiǎn)介
1.8.2 生成GDAL開(kāi)發(fā)幫助文檔
1.9 簡(jiǎn)單的調(diào)用
1.9.1 C++使用GDAL
1.9.2 C#使用GDAL
1.9.3 Python使用GDAL
1.9.4 Java使用GDAL
1.9.5 調(diào)試GDAL源代碼
第2章 OGR空間參考
2.1 空間參考簡(jiǎn)介
2.1.1 大地水準(zhǔn)面
2.1.2 地球橢球體
2.1.3 基準(zhǔn)面
2.1.4 地圖投影
2.2 OGR空間參考
2.2.1 OGR空間參考簡(jiǎn)介
2.2.2 OGR空間參考說(shuō)明
2.3 OGR空間參考坐標(biāo)轉(zhuǎn)換
2.4 OGR空間參考類(lèi)說(shuō)明
2.4.1 OGRSpatialReference類(lèi)
2.4.2 OGRCoordinateTransformation類(lèi)
2.5 OGR空間參考使用示例
2.5.1 C++使用
2.5.2 C#使用
2.5.3 Python使用
2.5.4 Java使用
第3章 OGR庫(kù)說(shuō)明
3.1 OGR體系結(jié)構(gòu)
3.1.1 Geometry(幾何對(duì)象)
3.1.2 Spatial Reference(空間參考)
3.1.3 Feature/Feature Definition(要素/要素定義)
3.1.4 Layer(圖層)
3.1.5 Data Source(數(shù)據(jù)源)
3.1.6 Drivers(格式驅(qū)動(dòng))
3.2 OGR常用類(lèi)說(shuō)明
3.2.1 OGRSFDriver類(lèi)說(shuō)明
3.2.2 OGRSFDriverRegistrar類(lèi)說(shuō)明
3.2.3 OGRDataSource類(lèi)說(shuō)明
3.2.4 OGRLayer類(lèi)說(shuō)明
3.2.5 OGRGeometry相關(guān)類(lèi)說(shuō)明
3.2.6 OGRFieldDefn類(lèi)說(shuō)明
3.2.7 OGRFeatureDefn類(lèi)說(shuō)明
3.2.8 OGRFeature類(lèi)說(shuō)明
3.2.9 其他說(shuō)明
3.3 SQL說(shuō)明
3.3.1 SELECT子句
3.3.2 WHERE子句
3.3.3 ORDER BY子句
3.3.4 JOIN子句
3.3.5 UNION ALL子句
3.3.6 特殊字段
3.3.7 索引與表
3.3.8 ExecuteSQL()
3.3.9 Non-OGR SQL
3.4 OGR使用示例
3.4.1 C++使用
3.4.2 C#使用
3.4.3 Python使用
3.4.4 Java使用
第4章 GDAL庫(kù)說(shuō)明
4.1 GDAL數(shù)據(jù)集總體概況
4.1.1 數(shù)據(jù)集(Dataset)
4.1.2 坐標(biāo)系統(tǒng)(Coordinate System)
4.1.3 元數(shù)據(jù)(Metadata)
4.1.4 子數(shù)據(jù)集域(Subdatasets Domain)
4.1.5 圖像結(jié)構(gòu)域(Image_Structure Domain)
4.1.6 RPC域(RPC Domain)
4.1.7 XML域(XML:Domains)
4.1.8 柵格波段(Raster Band)
4.1.9 顏色表(Color Table)
4.1.10 快視圖(Overviews)
4.2 GDAL常用類(lèi)說(shuō)明
4.2.1 GDALDriverManager類(lèi)說(shuō)明
4.2.2 GDALDriver類(lèi)說(shuō)明
4.2.3 GDALDataset類(lèi)說(shuō)明
4.2.4 GDALRasterBand類(lèi)說(shuō)明
4.3 GDAL元數(shù)據(jù)說(shuō)明
4.4 RasterIO使用說(shuō)明
4.5 圖像金字塔
4.6 顏色表說(shuō)明
4.7 圖像統(tǒng)計(jì)信息說(shuō)明
4.7.1 直方圖統(tǒng)計(jì)
4.7.2 極值計(jì)算
4.7.3 均值標(biāo)準(zhǔn)差計(jì)算
4.8 GDAL庫(kù)使用示例
4.8.1 C++使用
4.8.2 C#使用
4.8.3 Python使用
4.8.4 Java使用
第5章 GDAL數(shù)據(jù)格式及配置項(xiàng)說(shuō)明
5.1 常用圖像格式使用說(shuō)明
5.1.1 GeoTIFF格式
5.1.2 Erdas Imagine格式
5.1.3 PCI的PIX格式
5.1.4 ENVI的HDR格式
5.1.5 JPEG,PNG圖像使用說(shuō)明
5.1.6 MEM文件使用說(shuō)明
5.2 GDAL對(duì)于HDF、NetCDF數(shù)據(jù)集讀取
5.2.1 HDF格式使用說(shuō)明
5.2.2 NetCDF格式使用說(shuō)明
5.3 VRT文件格式說(shuō)明
5.3.1 VRT格式說(shuō)明
5.3.2 VRTRasterBand
5.3.3 VRT使用說(shuō)明
5.3.4 編程創(chuàng)建VRT文件
5.4 網(wǎng)絡(luò)WMS數(shù)據(jù)使用說(shuō)明
5.5 GDAL配置選項(xiàng)說(shuō)明
5.5.1 設(shè)置配置選項(xiàng)
5.5.2 通用選項(xiàng)
5.5.3 GDAL庫(kù)選項(xiàng)
5.5.4 GeoTiff格式選項(xiàng)
5.5.5 GDAL/OGR網(wǎng)絡(luò)選項(xiàng)
5.5.6 OGR庫(kù)選項(xiàng)
第6章 GDAL格式擴(kuò)展說(shuō)明
6.1 柵格格式擴(kuò)展
6.1.1 從Dataset繼承
6.1.2 從RasterBand繼承
6.1.3 柵格驅(qū)動(dòng)(Driver)
6.1.4 添加驅(qū)動(dòng)到GDAL庫(kù)
6.1.5 添加地理參考信息
6.1.6 金字塔(快視圖)
6.1.7 創(chuàng)建文件
6.1.8 RawDataset和RawRasterBand類(lèi)
6.1.9 元數(shù)據(jù)和其他外部擴(kuò)展
6.2 矢量格式擴(kuò)展
6.2.1 實(shí)現(xiàn)OGRSFDriver類(lèi)
6.2.2 從數(shù)據(jù)源中讀取數(shù)據(jù)
6.2.3 讀取圖層
6.3 裸數(shù)據(jù)格式擴(kuò)展
第7章 GDAL算法使用說(shuō)明
7.1 GDAL算法處理基礎(chǔ)
7.1.1 GDAL大圖像處理策略
7.1.2 GDAL中進(jìn)度信息說(shuō)明
7.2 GDALWarp說(shuō)明
7.2.1 GDALWarpOptions
7.2.2 GDALWarpOperation
7.2.3 GDALWarpAPI使用說(shuō)明
7.3 圖像重采樣
7.3.1 使用RasterIO重采樣
7.3.2 使用GDALWarp重采樣
7.4 圖像裁切
7.4.1 使用RasterIO裁切
7.4.2 使用GDALWarp裁切
7.5 圖像鑲嵌
7.6 GDALWarp坐標(biāo)轉(zhuǎn)換
7.6.1 GDALWarp坐標(biāo)轉(zhuǎn)換相關(guān)函數(shù)說(shuō)明
7.6.2 GDALWarp坐標(biāo)轉(zhuǎn)換流程
7.7 圖像重投影
7.8 圖像校正
7.8.1 幾何多項(xiàng)式校正(1~3次)
7.8.2 TPS校正
7.8.3 RPC校正
7.8.4 GeoLoc校正
7.9 圖像坐標(biāo)轉(zhuǎn)換通用接口
7.10 3*3空間卷積運(yùn)算
7.11 DEM地形分析
7.11.1 坡度坡向分析
7.11.2 地形指數(shù)
7.11.3 山體陰影
7.11.4 彩色渲染
7.11.5 立體彩色渲染
7.12 格網(wǎng)插值
7.12.1 計(jì)算數(shù)據(jù)指標(biāo)
7.12.2 離散點(diǎn)數(shù)據(jù)插值
7.12.3 離散點(diǎn)數(shù)據(jù)插值示例
7.13 小碎斑去除
7.14 矢量柵格化
7.15 柵格矢量化
7.16 生成等高線
第8章 CPL庫(kù)介紹
8.1 cpl_port.h
8.1.1 數(shù)據(jù)類(lèi)型定義
8.1.2 常量和函數(shù)定義
8.1.3 LSB和MSB相互轉(zhuǎn)換
8.2 cpl_error.h
8.2.1 常用的錯(cuò)誤代碼
8.2.2 錯(cuò)誤處理函數(shù)
8.3 cpl_conv.h
8.3.1 GDAL庫(kù)配置項(xiàng)讀寫(xiě)
8.3.2 內(nèi)存管理相關(guān)
8.3.3 文本文件讀取相關(guān)
8.3.4 字符串與其他數(shù)據(jù)類(lèi)型相關(guān)轉(zhuǎn)換
8.3.5 應(yīng)用程序與動(dòng)態(tài)庫(kù)相關(guān)
8.3.6 文件系統(tǒng)以及路徑相關(guān)
8.3.7 度、分、秒與十進(jìn)制度轉(zhuǎn)換
8.3.8 ZIP壓縮文件讀寫(xiě)
8.4 cpl_http.h
8.5 cpl_minixml.h
第9章 GDAL工具使用說(shuō)明
9.1 GDAL工具通用參數(shù)說(shuō)明
9.1.1 通用命令行選項(xiàng)
9.1.2 創(chuàng)建文件通用選項(xiàng)
9.2 Exe工具使用說(shuō)明
9.2.1 gdalinfo
9.2.2 gdal_translate
9.2.3 gdaladdo
9.2.4 gdalwarp
9.2.5 gdaltindex
9.2.6 gdalbuildvrt
9.2.7 gdal_contour
9.2.8 gdaldem
9.2.9 gdal_rasterize
9.2.10 gdaltransform
9.2.11 nearblack
9.2.12 gdal_grid
9.2.13 gdallocationinfo
9.2.14 gdalsrsinfo
9.2.15 gdal-config
9.2.16 gdalmanage
9.2.17 ogrinfo
9.2.18 ogr2ogr
9.2.19 ogrtindex
9.3 Python腳本工具使用說(shuō)明
9.3.1 rgb2pct.py
9.3.2 pct2rgb.py
9.3.3 gdal_merge.py
9.3.4 gdal2tiles.py
9.3.5 gdal_retile.py
9.3.6 gdal_proximity.py
9.3.7 gdal_polygonize.py
9.3.8 gdal_sieve.py
9.3.9 gdal_fillnodata.py
9.3.10 gdalmove.py
9.3.11 gdal_edit.py
附錄