內容簡介
GDAL(Geospatial Data Abstraction Library)是一個在X/MIT許可協議下的開源柵格空間數據轉換庫。由於GDAL庫支持很多的數據格式,目前幾乎所有的GIS和RS軟件底層都使用GDAL來讀寫空間數據。
《GDAL源碼剖析與開發指南》是基於GDAL源碼剖析的編程開發指南,共9章,分為三部分。第一部分是前5章,介紹瞭GDAL的基本功能,包括GDAL簡介、ORG庫、GDAL庫以及GDAL的數據格式和配置項等;第二部分是第6章到第8章,是GDAL的高級使用說明,包括GDAL格式擴展、GDAL算法和CPL庫;第三部分是第9章,介紹GDAL工具的使用。
《GDAL源碼剖析與開發指南》適閤地理信息係統和遙感等相關專業應用的開發人員閱讀參考。本書中大部分的示例代碼都是使用C/C++語言編寫,有一定C/C++語言基礎的讀者能夠快速上手開發相關應用。
內頁插圖
目錄
目 錄
第1章 GDAL簡介 1
1.1 什麼是GDAL 1
1.2 GDAL特點 1
1.3 GDAL支持的數據格式 2
1.4 GDAL源碼下載 13
1.5 GDAL源碼目錄 14
1.5.1 文件夾說明 15
1.5.2 文件說明 17
1.6 GDAL編譯 18
1.6.1 常規編譯 18
1.6.2 自定義編譯 20
1.6.3 編譯其他方麵 24
1.7 SWIG編譯 26
1.7.1 SWIG簡介 26
1.7.2 編譯C#版本GDAL 26
1.7.3 編譯Python版本GDAL 27
1.7.4 編譯Java版本GDAL 28
1.8 GDAL幫助文檔生成 29
1.8.1 Doxygen簡介 29
1.8.2 生成GDAL開發幫助文檔 30
1.9 簡單的調用 31
1.9.1 C++使用GDAL 31
1.9.2 C#使用GDAL 34
1.9.3 Python使用GDAL 37
1.9.4 Java使用GDAL 39
1.9.5 調試GDAL源代碼 41
第2章 OGR空間參考 42
2.1 空間參考簡介 42
2.1.1 大地水準麵 43
2.1.2 地球橢球體 43
2.1.3 基準麵 44
2.1.4 地圖投影 45
2.2 OGR空間參考 46
2.2.1 OGR空間參考簡介 46
2.2.2 OGR空間參考說明 47
2.3 OGR空間參考坐標轉換 52
2.4 OGR空間參考類說明 53
2.4.1 OGRSpatialReference類 54
2.4.2 OGRCoordinateTransformation類 66
2.5 OGR空間參考使用示例 69
2.5.1 C++使用 69
2.5.2 C#使用 71
2.5.3 Python使用 73
2.5.4 Java使用 75
第3章 OGR庫說明 78
3.1 OGR體係結構 78
3.1.1 Geometry(幾何對象) 79
3.1.2 Spatial Reference(空間參考) 79
3.1.3 Feature/Feature Definition(要素/要素定義) 80
3.1.4 Layer(圖層) 80
3.1.5 Data Source(數據源) 81
3.1.6 Drivers(格式驅動) 81
3.2 OGR常用類說明 82
3.2.1 OGRSFDriver類說明 82
3.2.2 OGRSFDriverRegistrar類說明 85
3.2.3 OGRDataSource類說明 89
3.2.4 OGRLayer類說明 97
3.2.5 OGRGeometry相關類說明 121
3.2.6 OGRFieldDefn類說明 158
3.2.7 OGRFeatureDefn類說明 163
3.2.8 OGRFeature類說明 168
3.2.9 其他說明 180
3.3 SQL說明 182
3.3.1 SELECT子句 183
3.3.2 WHERE子句 186
3.3.3 ORDER BY子句 188
3.3.4 JOIN子句 188
3.3.5 UNION ALL子句 190
3.3.6 特殊字段 190
3.3.7 索引與錶 191
3.3.8 ExecuteSQL() 193
3.3.9 Non-OGR SQL 193
3.4 OGR使用示例 193
3.4.1 C++使用 195
3.4.2 C#使用 202
3.4.3 Python使用 209
3.4.4 Java使用 214
第4章 GDAL庫說明 221
4.1 GDAL數據集總體概況 221
4.1.1 數據集(Dataset) 221
4.1.2 坐標係統(Coordinate System) 221
4.1.3 元數據(Metadata) 223
4.1.4 子數據集域(Subdatasets Domain) 225
4.1.5 圖像結構域(Image_Structure Domain) 225
4.1.6 RPC域(RPC Domain) 226
4.1.7 XML域(XML:Domains) 228
4.1.8 柵格波段(Raster Band) 228
4.1.9 顔色錶(Color Table) 230
4.1.10 快視圖(Overviews) 230
4.2 GDAL常用類說明 231
4.2.1 GDALDriverManager類說明 231
4.2.2 GDALDriver類說明 234
4.2.3 GDALDataset類說明 237
4.2.4 GDALRasterBand類說明 243
4.3 GDAL元數據說明 258
4.4 RasterIO使用說明 260
4.5 圖像金字塔 269
4.6 顔色錶說明 273
4.7 圖像統計信息說明 276
4.7.1 直方圖統計 277
4.7.2 極值計算 278
4.7.3 均值標準差計算 279
4.8 GDAL庫使用示例 280
4.8.1 C++使用 282
4.8.2 C#使用 286
4.8.3 Python使用 289
4.8.4 Java使用 293
第5章 GDAL數據格式及配置項說明 298
5.1 常用圖像格式使用說明 298
5.1.1 GeoTIFF格式 298
5.1.2 Erdas Imagine格式 299
5.1.3 PCI的PIX格式 302
5.1.4 ENVI的HDR格式 302
5.1.5 JPEG,PNG圖像使用說明 303
5.1.6 MEM文件使用說明 304
5.2 GDAL對於HDF、NetCDF數據集讀取 305
5.2.1 HDF格式使用說明 305
5.2.2 NetCDF格式使用說明 310
5.3 VRT文件格式說明 315
5.3.1 VRT格式說明 316
5.3.2 VRTRasterBand 317
5.3.3 VRT使用說明 322
5.3.4 編程創建VRT文件 324
5.4 網絡WMS數據使用說明 327
5.5 GDAL配置選項說明 333
5.5.1 設置配置選項 334
5.5.2 通用選項 335
5.5.3 GDAL庫選項 337
5.5.4 GeoTiff格式選項 340
5.5.5 GDAL/OGR網絡選項 341
5.5.6 OGR庫選項 342
第6章 GDAL格式擴展說明 347
6.1 柵格格式擴展 347
6.1.1 從Dataset繼承 348
6.1.2 從RasterBand繼承 352
6.1.3 柵格驅動(Driver) 355
6.1.4 添加驅動到GDAL庫 356
6.1.5 添加地理參考信息 357
6.1.6 金字塔(快視圖) 358
6.1.7 創建文件 359
6.1.8 RawDataset和RawRasterBand類 366
6.1.9 元數據和其他外部擴展 366
6.2 矢量格式擴展 367
6.2.1 實現OGRSFDriver類 368
6.2.2 從數據源中讀取數據 369
6.2.3 讀取圖層 372
6.3 裸數據格式擴展 375
第7章 GDAL算法使用說明 379
7.1 GDAL算法處理基礎 381
7.1.1 GDAL大圖像處理策略 381
7.1.2 GDAL中進度信息說明 385
7.2 GDALWarp說明 396
7.2.1 GDALWarpOptions 397
7.2.2 GDALWarpOperation 403
7.2.3 GDALWarpAPI使用說明 406
7.3 圖像重采樣 412
7.3.1 使用RasterIO重采樣 413
7.3.2 使用GDALWarp重采樣 415
7.4 圖像裁切 418
7.4.1 使用RasterIO裁切 418
7.4.2 使用GDALWarp裁切 421
7.5 圖像鑲嵌 424
7.6 GDALWarp坐標轉換 433
7.6.1 GDALWarp坐標轉換相關函數說明 433
7.6.2 GDALWarp坐標轉換流程 435
7.7 圖像重投影 439
7.8 圖像校正 445
7.8.1 幾何多項式校正(1~3次) 447
7.8.2 TPS校正 453
7.8.3 RPC校正 458
7.8.4 GeoLoc校正 464
7.9 圖像坐標轉換通用接口 469
7.10 3*3空間捲積運算 473
7.11 DEM地形分析 483
7.11.1 坡度坡嚮分析 483
7.11.2 地形指數 488
7.11.3 山體陰影 490
7.11.4 彩色渲染 495
7.11.5 立體彩色渲染 512
7.12 格網插值 513
7.12.1 計算數據指標 516
7.12.2 離散點數據插值 517
7.12.3 離散點數據插值示例 519
7.13 小碎斑去除 523
7.14 矢量柵格化 527
7.15 柵格矢量化 532
7.16 生成等高綫 536
第8章 CPL庫介紹 541
8.1 cpl_port.h 541
8.1.1 數據類型定義 541
8.1.2 常量和函數定義 542
8.1.3 LSB和MSB相互轉換 543
8.2 cpl_error.h 544
8.2.1 常用的錯誤代碼 544
8.2.2 錯誤處理函數 545
8.3 cpl_conv.h 548
8.3.1 GDAL庫配置項讀寫 548
8.3.2 內存管理相關 549
8.3.3 文本文件讀取相關 550
8.3.4 字符串與其他數據類型相關轉換 551
8.3.5 應用程序與動態庫相關 554
8.3.6 文件係統以及路徑相關 555
8.3.7 度、分、秒與十進製度轉換 558
8.3.8 ZIP壓縮文件讀寫 559
8.4 cpl_http.h 561
8.5 cpl_minixml.h 565
第9章 GDAL工具使用說明 575
9.1 GDAL工具通用參數說明 575
9.1.1 通用命令行選項 575
9.1.2 創建文件通用選項 578
9.2 Exe工具使用說明 580
9.2.1 gdalinfo 581
9.2.2 gdal_translate 582
9.2.3 gdaladdo 584
9.2.4 gdalwarp 585
9.2.5 gdaltindex 587
9.2.6 gdalbuildvrt 588
9.2.7 gdal_contour 589
9.2.8 gdaldem 590
9.2.9 gdal_rasterize 593
9.2.10 gdaltransform 594
9.2.11 nearblack 595
9.2.12 gdal_grid 596
9.2.13 gdallocationinfo 599
9.2.14 gdalsrsinfo 600
9.2.15 gdal-config 602
9.2.16 gdalmanage 602
9.2.17 ogrinfo 604
9.2.18 ogr2ogr 606
9.2.19 ogrtindex 608
9.3 Python腳本工具使用說明 609
9.3.1 rgb2pct.py 610
9.3.2 pct2rgb.py 611
9.3.3 gdal_merge.py 611
9.3.4 gdal2tiles.py 613
9.3.5 gdal_retile.py 615
9.3.6 gdal_proximity.py 616
9.3.7 gdal_polygonize.py 618
9.3.8 gdal_sieve.py 619
9.3.9 gdal_fillnodata.py 620
9.3.10 gdalmove.py 621
9.3.11 gdal_edit.py 621
附錄 623
前言/序言
GDAL源碼剖析與開發指南 下載 mobi epub pdf txt 電子書 格式