GDAL(Geospatial Data Abstraction Library)是一個在X/MIT許可協(xié)議下的開源柵格空間數(shù)據(jù)轉(zhuǎn)換庫。由于GDAL庫支持很多的數(shù)據(jù)格式,目前幾乎所有的GIS和RS軟件底層都使用GDAL來讀寫空間數(shù)據(jù)。
《GDAL源碼剖析與開發(fā)指南》是基于GDAL源碼剖析的編程開發(fā)指南,共9章,分為三部分。第一部分是前5章,介紹了GDAL的基本功能,包括GDAL簡介、ORG庫、GDAL庫以及GDAL的數(shù)據(jù)格式和配置項等;第二部分是第6章到第8章,是GDAL的高級使用說明,包括GDAL格式擴展、GDAL算法和CPL庫;第三部分是第9章,介紹GDAL工具的使用。
《GDAL源碼剖析與開發(fā)指南》適合地理信息系統(tǒng)和遙感等相關(guān)專業(yè)應用的開發(fā)人員閱讀參考。本書中大部分的示例代碼都是使用C/C++語言編寫,有一定C/C++語言基礎的讀者能夠快速上手開發(fā)相關(guān)應用。
GDAL(Geospatial Data Abstraction Library)是一個在X/MIT許可協(xié)議下的開源柵格空間數(shù)據(jù)轉(zhuǎn)換庫。由于GDAL庫支持超多的數(shù)據(jù)格式,目前幾乎所有的GIS 和RS軟件底層都使用GDAL來進行讀寫空間數(shù)據(jù)。 GDAL源碼剖析與開發(fā)指南基于GDAL源碼剖析的編程開發(fā)指南,詳細介紹了GDAL的基本功能和具體應用! “ㄒ韵聝(nèi)容: ◎ GDAL庫簡介; ◎ GDAL/OGR庫使用說明; ◎ GDAL數(shù)據(jù)格式及配置項說明; ◎ GDAL/OGR格式擴展; ◎ CPL庫使用說明; ◎ GDAL庫相關(guān)算法使用說明; ◎ GDAL工具使用說明! ∵m合地理信息系統(tǒng)和遙感等相關(guān)專業(yè)應用的開發(fā)人員閱讀參考。本書中大部分的示例代碼都是使用C/C++語言編寫,有一定C/C++語言基礎的讀者能夠快速上手開發(fā)相關(guān)應用。
李民錄,高級軟件工程師。畢業(yè)于中國礦業(yè)大學地理信息系統(tǒng)專業(yè),長期從事遙感圖像處理相關(guān)的研發(fā)工作,熟練掌握對遙感圖像數(shù)據(jù)從星上接收到生成專題圖整個處理流程。熟悉常用的遙感圖像處理軟件和地理信息系統(tǒng)軟件,同時對GDAL庫有著較深入的理解。2013年,作為社區(qū)博客之星,他接受了CSDN的專訪。
第1章 GDAL簡介
1.1 什么是GDAL
1.2 GDAL特點
1.3 GDAL支持的數(shù)據(jù)格式
1.4 GDAL源碼下載
1.5 GDAL源碼目錄
1.5.1 文件夾說明
1.5.2 文件說明
1.6 GDAL編譯
1.6.1 常規(guī)編譯
1.6.2 自定義編譯
1.6.3 編譯其他方面
1.7 SWIG編譯
1.7.1 SWIG簡介
1.7.2 編譯C#版本GDAL 第1章 GDAL簡介
1.1 什么是GDAL
1.2 GDAL特點
1.3 GDAL支持的數(shù)據(jù)格式
1.4 GDAL源碼下載
1.5 GDAL源碼目錄
1.5.1 文件夾說明
1.5.2 文件說明
1.6 GDAL編譯
1.6.1 常規(guī)編譯
1.6.2 自定義編譯
1.6.3 編譯其他方面
1.7 SWIG編譯
1.7.1 SWIG簡介
1.7.2 編譯C#版本GDAL
1.7.3 編譯Python版本GDAL
1.7.4 編譯Java版本GDAL
1.8 GDAL幫助文檔生成
1.8.1 Doxygen簡介
1.8.2 生成GDAL開發(fā)幫助文檔
1.9 簡單的調(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 空間參考簡介
2.1.1 大地水準面
2.1.2 地球橢球體
2.1.3 基準面
2.1.4 地圖投影
2.2 OGR空間參考
2.2.1 OGR空間參考簡介
2.2.2 OGR空間參考說明
2.3 OGR空間參考坐標轉(zhuǎn)換
2.4 OGR空間參考類說明
2.4.1 OGRSpatialReference類
2.4.2 OGRCoordinateTransformation類
2.5 OGR空間參考使用示例
2.5.1 C++使用
2.5.2 C#使用
2.5.3 Python使用
2.5.4 Java使用
第3章 OGR庫說明
3.1 OGR體系結(jié)構(gòu)
3.1.1 Geometry(幾何對象)
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ū)動)
3.2 OGR常用類說明
3.2.1 OGRSFDriver類說明
3.2.2 OGRSFDriverRegistrar類說明
3.2.3 OGRDataSource類說明
3.2.4 OGRLayer類說明
3.2.5 OGRGeometry相關(guān)類說明
3.2.6 OGRFieldDefn類說明
3.2.7 OGRFeatureDefn類說明
3.2.8 OGRFeature類說明
3.2.9 其他說明
3.3 SQL說明
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庫說明
4.1 GDAL數(shù)據(jù)集總體概況
4.1.1 數(shù)據(jù)集(Dataset)
4.1.2 坐標系統(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常用類說明
4.2.1 GDALDriverManager類說明
4.2.2 GDALDriver類說明
4.2.3 GDALDataset類說明
4.2.4 GDALRasterBand類說明
4.3 GDAL元數(shù)據(jù)說明
4.4 RasterIO使用說明
4.5 圖像金字塔
4.6 顏色表說明
4.7 圖像統(tǒng)計信息說明
4.7.1 直方圖統(tǒng)計
4.7.2 極值計算
4.7.3 均值標準差計算
4.8 GDAL庫使用示例
4.8.1 C++使用
4.8.2 C#使用
4.8.3 Python使用
4.8.4 Java使用
第5章 GDAL數(shù)據(jù)格式及配置項說明
5.1 常用圖像格式使用說明
5.1.1 GeoTIFF格式
5.1.2 Erdas Imagine格式
5.1.3 PCI的PIX格式
5.1.4 ENVI的HDR格式
5.1.5 JPEG,PNG圖像使用說明
5.1.6 MEM文件使用說明
5.2 GDAL對于HDF、NetCDF數(shù)據(jù)集讀取
5.2.1 HDF格式使用說明
5.2.2 NetCDF格式使用說明
5.3 VRT文件格式說明
5.3.1 VRT格式說明
5.3.2 VRTRasterBand
5.3.3 VRT使用說明
5.3.4 編程創(chuàng)建VRT文件
5.4 網(wǎng)絡WMS數(shù)據(jù)使用說明
5.5 GDAL配置選項說明
5.5.1 設置配置選項
5.5.2 通用選項
5.5.3 GDAL庫選項
5.5.4 GeoTiff格式選項
5.5.5 GDAL/OGR網(wǎng)絡選項
5.5.6 OGR庫選項
第6章 GDAL格式擴展說明
6.1 柵格格式擴展
6.1.1 從Dataset繼承
6.1.2 從RasterBand繼承
6.1.3 柵格驅(qū)動(Driver)
6.1.4 添加驅(qū)動到GDAL庫
6.1.5 添加地理參考信息
6.1.6 金字塔(快視圖)
6.1.7 創(chuàng)建文件
6.1.8 RawDataset和RawRasterBand類
6.1.9 元數(shù)據(jù)和其他外部擴展
6.2 矢量格式擴展
6.2.1 實現(xiàn)OGRSFDriver類
6.2.2 從數(shù)據(jù)源中讀取數(shù)據(jù)
6.2.3 讀取圖層
6.3 裸數(shù)據(jù)格式擴展
第7章 GDAL算法使用說明
7.1 GDAL算法處理基礎
7.1.1 GDAL大圖像處理策略
7.1.2 GDAL中進度信息說明
7.2 GDALWarp說明
7.2.1 GDALWarpOptions
7.2.2 GDALWarpOperation
7.2.3 GDALWarpAPI使用說明
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坐標轉(zhuǎn)換
7.6.1 GDALWarp坐標轉(zhuǎn)換相關(guān)函數(shù)說明
7.6.2 GDALWarp坐標轉(zhuǎn)換流程
7.7 圖像重投影
7.8 圖像校正
7.8.1 幾何多項式校正(1~3次)
7.8.2 TPS校正
7.8.3 RPC校正
7.8.4 GeoLoc校正
7.9 圖像坐標轉(zhuǎn)換通用接口
7.10 3*3空間卷積運算
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 計算數(shù)據(jù)指標
7.12.2 離散點數(shù)據(jù)插值
7.12.3 離散點數(shù)據(jù)插值示例
7.13 小碎斑去除
7.14 矢量柵格化
7.15 柵格矢量化
7.16 生成等高線
第8章 CPL庫介紹
8.1 cpl_port.h
8.1.1 數(shù)據(jù)類型定義
8.1.2 常量和函數(shù)定義
8.1.3 LSB和MSB相互轉(zhuǎn)換
8.2 cpl_error.h
8.2.1 常用的錯誤代碼
8.2.2 錯誤處理函數(shù)
8.3 cpl_conv.h
8.3.1 GDAL庫配置項讀寫
8.3.2 內(nèi)存管理相關(guān)
8.3.3 文本文件讀取相關(guān)
8.3.4 字符串與其他數(shù)據(jù)類型相關(guān)轉(zhuǎn)換
8.3.5 應用程序與動態(tài)庫相關(guān)
8.3.6 文件系統(tǒng)以及路徑相關(guān)
8.3.7 度、分、秒與十進制度轉(zhuǎn)換
8.3.8 ZIP壓縮文件讀寫
8.4 cpl_http.h
8.5 cpl_minixml.h
第9章 GDAL工具使用說明
9.1 GDAL工具通用參數(shù)說明
9.1.1 通用命令行選項
9.1.2 創(chuàng)建文件通用選項
9.2 Exe工具使用說明
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腳本工具使用說明
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
附錄