C/C++ · 2026年1月10日 0

gdal_alg.h 函数参考说明

一、颜色处理与调色板

函数名参数说明主要作用应用场景
GDALComputeMedianCutPCThRed/hGreen/hBlue: 输入波段
pfnIncludePixel: 像素过滤函数
nColors: 颜色数
hColorTable: 输出颜色表
使用中值切割算法从 RGB 生成最佳调色板真彩色转伪彩色,Web图像优化
GDALDitherRGB2PCThRed/hGreen/hBlue: 输入波段
hTarget: 输出波段
hColorTable: 颜色表
使用抖动算法将 RGB 转换为索引颜色减少颜色深度的视觉质量优化

二、图像分析与处理

函数名参数说明主要作用应用场景
GDALChecksumImagehBand: 输入波段
nXOff/nYOff: 起始位置
nXSize/nYSize: 区域大小
计算图像区域的校验和数据完整性验证,版本对比
GDALComputeProximityhSrcBand: 输入波段
hProximityBand: 输出波段
papszOptions: 选项参数
计算每个像素到最近目标像素的距离缓冲区分析,距离场生成
GDALFillNodatahTargetBand: 目标波段
hMaskBand: 掩膜波段
dfMaxSearchDist: 最大搜索距离
nSmoothingIterations: 平滑迭代次数
填充 NoData 区域
填充无效值区域
DEM 空洞填充,图像修复

三、矢量化处理

函数名参数说明主要作用应用场景
GDALPolygonizehSrcBand: 输入波段
hMaskBand: 掩膜波段
hOutLayer: 输出图层
iPixValField: 像素值字段索引
将栅格转换为多边形矢量分类图矢量化,土地利用制图
GDALFPolygonize同上浮点栅格矢量化版本高程数据,连续值数据矢量化
GDALSieveFilterhSrcBand: 输入
hMaskBand: 掩膜
hDstBand: 输出
nSizeThreshold: 大小阈值
nConnectedness: 连接性(4/8)
过滤小斑块遥感分类后处理,数据清理

四、坐标转换器(Transformer)系列

4.1 创建与销毁

函数名参数说明主要作用
GDALDestroyTransformerpTransformerArg: 转换器参数销毁转换器
GDALUseTransformerpTransformerArg: 转换器
bDstToSrc: 方向标志
nPointCount: 点数
x/y/z: 坐标数组
panSuccess: 成功标志数组
使用转换器转换坐标
GDALCreateSimilarTransformerpsTransformerArg: 原转换器
dfSrcRatioX/Y: 缩放比例
创建相似的转换器

4.2 通用图像投影转换器

函数名参数说明主要作用
GDALCreateGenImgProjTransformerhSrcDS/hDstDS: 输入输出数据集
pszSrcWKT/pszDstWKT: 坐标系定义
bGCPUseOK: 是否使用 GCP
dfGCPErrorThreshold: GCP 误差阈值
创建通用图像投影转换器
GDALCreateGenImgProjTransformer2同上,使用字符串列表选项新版通用转换器
GDALCreateGenImgProjTransformer3使用坐标和投影参数从参数创建转换器
GDALCreateGenImgProjTransformer4使用 OGR 空间参考对象面向 OGR 的转换器
GDALSetGenImgProjTransformerDstGeoTransform设置目标地理变换动态更新转换参数
GDALDestroyGenImgProjTransformer销毁通用转换器资源释放

4.3 其他转换器

函数名参数说明主要作用
GDALCreateReprojectionTransformerpszSrcWKT/pszDstWKT: 投影定义创建纯投影转换器
GDALCreateGCPTransformernGCPCount: GCP 数量
pasGCPList: GCP 列表
nReqOrder: 多项式阶数
bReversed: 反向标志
基于 GCP 的转换器
GDALCreateGCPRefineTransformer同上,增加容差和最小 GCP 参数GCP 精化转换器
GDALCreateHomographyTransformeradfHomography[9]: 单应性矩阵单应性变换转换器
GDALCreateTPSTransformernGCPCount: GCP 数量
pasGCPList: GCP 列表
bReversed: 反向标志
薄板样条转换器
GDALCreateRPCTransformerV1/V2psRPC: RPC 参数
bReversed: 反向
dfPixErrThreshold: 误差阈值
RPC 有理多项式转换器
GDALCreateGeoLocTransformerhBaseDS: 基准数据集
papszGeolocationInfo: 地理位置信息
地理位置查找表转换器
GDALCreateApproxTransformerpfnRawTransformer: 原始转换函数
pRawTransformerArg: 原始参数
dfMaxError: 最大误差
近似转换器

4.4 转换器辅助函数

函数名参数说明主要作用
GDALSetTransformerDstGeoTransform设置目标地理变换更新转换参数
GDALGetTransformerDstGeoTransform获取目标地理变换读取转换参数
GDALSerializeTransformerpfnFunc: 转换函数
pTransformArg: 转换参数
序列化转换器到 XML
GDALDeserializeTransformerpsTree: XML 节点
ppfnFunc: 输出转换函数指针
ppTransformArg: 输出转换参数指针
从 XML 反序列化转换器

五、重采样与图像变换

函数名参数说明主要作用应用场景
GDALSimpleImageWarphSrcDS/hDstDS: 输入输出
nBandCount: 波段数
panBandList: 波段列表
pfnTransform: 转换函数
简单图像重投影快速图像配准
GDALSuggestedWarpOutputhSrcDS: 输入数据集
pfnTransformer: 转换函数
padfGeoTransformOut: 输出地理变换
pnPixels/pnLines: 输出尺寸
计算重投影输出参数输出图像大小和范围计算
GDALSuggestedWarpOutput2同上,增加范围输出和选项增强版输出参数计算支持更多选项
GDALTransformGeolocationshXBand/hYBand/hZBand: XYZ 波段
pfnTransformer: 转换函数
转换地理位置坐标DEM 更新,坐标校正

六、等高线生成

函数名参数说明主要作用应用场景
GDALContourGeneratehBand: 输入波段
dfContourInterval: 等高距
dfContourBase: 基准高程
hLayer: 输出图层
从 DEM 生成等高线地形图制作,地形分析
GDALContourGenerateEx使用选项字符串列表参数扩展等高线生成支持更多参数配置

6.1 等高线生成器(底层 API)

函数名参数说明主要作用
GDAL_CG_CreatenWidth/nHeight: 图像尺寸
bNoDataSet: 是否有 NoData
dfNoDataValue: NoData 值
pfnWriter: 写入回调函数
创建等高线生成器上下文
GDAL_CG_FeedLinehCG: 生成器句柄
padfScanline: 扫描线数据
向生成器提供一行数据
GDAL_CG_DestroyhCG: 生成器句柄销毁等高线生成器
OGRContourWriterdfLevel: 高程值
nPoints: 点数
padfX/padfY: 坐标数组
pInfo: 写入信息结构
OGR 格式等高线写入器

七、通视分析

函数名参数说明主要作用应用场景
GDALViewshedGeneratehBand: 输入 DEM
pszDriverName: 输出驱动
pszTargetRasterName: 输出文件
dfObserverX/Y: 观察点坐标
生成通视图信号塔选址,瞭望点分析
GDALIsLineOfSightVisiblehBand: DEM
xA/yA/zA: 起点坐标
xB/yB/zB: 终点坐标
判断两点间是否可见视线分析,通信规划

八、栅格化处理

函数名参数说明主要作用应用场景
GDALRasterizeGeometrieshDS: 目标数据集
nBandCount: 波段数
panBandList: 波段列表
pahGeometries: 几何对象数组
padfGeomBurnValues: 燃烧值
将几何对象栅格化矢量转栅格,掩膜生成
GDALRasterizeGeometriesInt64同上,使用 64 位整型燃烧值大数值范围栅格化处理大数值数据
GDALRasterizeLayershDS: 目标数据集
pahLayers: 图层数组
padfLayerBurnValues: 图层燃烧值
将矢量图层栅格化批量矢栅转换
GDALRasterizeLayersBufpData: 输出缓冲区
nBufXSize/nBufYSize: 缓冲区尺寸
eBufType: 数据类型
栅格化到内存缓冲区内存中处理,高性能应用

九、插值与格网化

函数名参数说明主要作用应用场景
GDALGridCreateeAlgorithm: 算法类型
poOptions: 算法选项
nPoints: 点数
padfX/padfY/padfZ: XYZ 数据
从散点数据生成规则格网气象数据格网化,空间插值

9.1 格网化算法选项结构体

结构体名包含参数算法类型
GDALGridInverseDistanceToAPowerOptionsdfPower: 权重指数
dfSmoothing: 平滑参数
dfRadius1/2: 搜索半径
nMax/MinPoints: 最大最小点数
反距离加权插值
GDALGridInverseDistanceToAPowerNearestNeighborOptions同上,增加分象限参数带最近邻搜索的反距离加权
GDALGridMovingAverageOptions移动窗口参数移动平均插值
GDALGridNearestNeighborOptions最近邻参数最近邻插值
GDALGridDataMetricsOptions数据统计参数数据度量(最小、最大、范围等)
GDALGridLinearOptionsdfRadius: 搜索半径线性插值

9.2 格网化上下文 API

函数名参数说明主要作用
GDALGridContextCreate同 GDALGridCreate 参数
bCallerWillKeepPointArraysAlive: 数组保持标志
创建格网化上下文
GDALGridContextFreepsContext: 上下文句柄释放格网化上下文
GDALGridContextProcesspsContext: 上下文
dfXMin/Max/YMin/Max: 处理范围
nXSize/nYSize: 输出尺寸
执行格网化处理

十、Delaunay 三角剖分

函数名参数说明主要作用应用场景
GDALHasTriangulation无参数检查是否支持三角剖分功能检测
GDALTriangulationCreateDelaunaynPoints: 点数
padfX/padfY: XY 坐标
创建 Delaunay 三角网TIN 生成,地形建模
GDALTriangulationComputeBarycentricCoefficientspsDT: 三角剖分结构
padfX/padfY: 坐标数组
计算重心坐标系数插值计算准备
GDALTriangulationComputeBarycentricCoordinatespsDT: 三角剖分
nFacetIdx: 三角形索引
dfX/dfY: 查询点坐标
pdfL1/2/3: 输出重心坐标
计算点的重心坐标点在三角形内判断
GDALTriangulationFindFacetBruteForce暴力搜索点所在三角形简单但较慢的搜索小数据量查询
GDALTriangulationFindFacetDirected定向搜索点所在三角形高效搜索算法大数据量查询
GDALTriangulationFreepsDT: 三角剖分结构释放三角剖分内存资源清理

十一、垂直校正(已废弃)

函数名参数说明主要作用状态
GDALOpenVerticalShiftGridpszProj4Geoidgrids: Proj4 格网定义
pbError: 错误标志
打开垂直偏移格网已废弃
GDALApplyVerticalShiftGridhSrcDataset: 输入数据集
hGridDataset: 格网数据集
bInverse: 是否反向
应用垂直偏移校正已废弃

十二、其他辅助函数

函数名参数说明主要作用应用场景
RPCInfoV1ToMD / RPCInfoV2ToMDpsRPCInfo: RPC 信息结构将 RPC 信息转换为元数据格式RPC 参数处理
GDALComputeMatchingPointshFirstImage/hSecondImage: 输入图像
papszOptions: 选项
pnGCPCount: 输出 GCP 数量
计算图像间的匹配点图像配准,特征匹配

重要数据结构

  1. GDALTransformerInfo – 转换器信息结构
  2. OGRContourWriterInfo – 等高线写入器信息
  3. GDALTriFacet – 三角面片结构
  4. GDALTriBarycentricCoefficients – 重心坐标系数
  5. GDALTriangulation – 三角剖分完整结构

算法枚举类型

枚举类型含义
GDALViewshedModeGVM_Diagonal=1
GVM_Edge=2
GVM_Max=3
GVM_Min=4
通视分析模式
GDALViewshedOutputTypeGVOT_NORMAL=1
GVOT_MIN_TARGET_HEIGHT_FROM_DEM=2
GVOT_MIN_TARGET_HEIGHT_FROM_GROUND=3
通视输出类型
GDALGridAlgorithmGGA_InverseDistanceToAPower=1
GGA_MovingAverage=2

GGA_Linear=10
格网化算法类型

宏定义

宏定义作用
GDAL_SWO_ROUND_UP_SIZE0x1输出尺寸向上取整
GDAL_SWO_FORCE_SQUARE_PIXEL0x2强制正方形像素
GDAL_GTI2_SIGNATURE“GTI2”转换器信息签名