目录(Contents)
一、颜色处理与调色板
| 函数名 | 参数说明 | 主要作用 | 应用场景 |
|---|---|---|---|
GDALComputeMedianCutPCT | hRed/hGreen/hBlue: 输入波段pfnIncludePixel: 像素过滤函数nColors: 颜色数hColorTable: 输出颜色表 | 使用中值切割算法从 RGB 生成最佳调色板 | 真彩色转伪彩色,Web图像优化 |
GDALDitherRGB2PCT | hRed/hGreen/hBlue: 输入波段hTarget: 输出波段hColorTable: 颜色表 | 使用抖动算法将 RGB 转换为索引颜色 | 减少颜色深度的视觉质量优化 |
二、图像分析与处理
| 函数名 | 参数说明 | 主要作用 | 应用场景 |
|---|---|---|---|
GDALChecksumImage | hBand: 输入波段nXOff/nYOff: 起始位置nXSize/nYSize: 区域大小 | 计算图像区域的校验和 | 数据完整性验证,版本对比 |
GDALComputeProximity | hSrcBand: 输入波段hProximityBand: 输出波段papszOptions: 选项参数 | 计算每个像素到最近目标像素的距离 | 缓冲区分析,距离场生成 |
GDALFillNodata | hTargetBand: 目标波段hMaskBand: 掩膜波段dfMaxSearchDist: 最大搜索距离nSmoothingIterations: 平滑迭代次数 | 填充 NoData 区域 填充无效值区域 | DEM 空洞填充,图像修复 |
三、矢量化处理
| 函数名 | 参数说明 | 主要作用 | 应用场景 |
|---|---|---|---|
GDALPolygonize | hSrcBand: 输入波段hMaskBand: 掩膜波段hOutLayer: 输出图层iPixValField: 像素值字段索引 | 将栅格转换为多边形矢量 | 分类图矢量化,土地利用制图 |
GDALFPolygonize | 同上 | 浮点栅格矢量化版本 | 高程数据,连续值数据矢量化 |
GDALSieveFilter | hSrcBand: 输入hMaskBand: 掩膜hDstBand: 输出nSizeThreshold: 大小阈值nConnectedness: 连接性(4/8) | 过滤小斑块 | 遥感分类后处理,数据清理 |
四、坐标转换器(Transformer)系列
4.1 创建与销毁
| 函数名 | 参数说明 | 主要作用 |
|---|---|---|
GDALDestroyTransformer | pTransformerArg: 转换器参数 | 销毁转换器 |
GDALUseTransformer | pTransformerArg: 转换器bDstToSrc: 方向标志nPointCount: 点数x/y/z: 坐标数组panSuccess: 成功标志数组 | 使用转换器转换坐标 |
GDALCreateSimilarTransformer | psTransformerArg: 原转换器dfSrcRatioX/Y: 缩放比例 | 创建相似的转换器 |
4.2 通用图像投影转换器
| 函数名 | 参数说明 | 主要作用 |
|---|---|---|
GDALCreateGenImgProjTransformer | hSrcDS/hDstDS: 输入输出数据集pszSrcWKT/pszDstWKT: 坐标系定义bGCPUseOK: 是否使用 GCPdfGCPErrorThreshold: GCP 误差阈值 | 创建通用图像投影转换器 |
GDALCreateGenImgProjTransformer2 | 同上,使用字符串列表选项 | 新版通用转换器 |
GDALCreateGenImgProjTransformer3 | 使用坐标和投影参数 | 从参数创建转换器 |
GDALCreateGenImgProjTransformer4 | 使用 OGR 空间参考对象 | 面向 OGR 的转换器 |
GDALSetGenImgProjTransformerDstGeoTransform | 设置目标地理变换 | 动态更新转换参数 |
GDALDestroyGenImgProjTransformer | 销毁通用转换器 | 资源释放 |
4.3 其他转换器
| 函数名 | 参数说明 | 主要作用 |
|---|---|---|
GDALCreateReprojectionTransformer | pszSrcWKT/pszDstWKT: 投影定义 | 创建纯投影转换器 |
GDALCreateGCPTransformer | nGCPCount: GCP 数量pasGCPList: GCP 列表nReqOrder: 多项式阶数bReversed: 反向标志 | 基于 GCP 的转换器 |
GDALCreateGCPRefineTransformer | 同上,增加容差和最小 GCP 参数 | GCP 精化转换器 |
GDALCreateHomographyTransformer | adfHomography[9]: 单应性矩阵 | 单应性变换转换器 |
GDALCreateTPSTransformer | nGCPCount: GCP 数量pasGCPList: GCP 列表bReversed: 反向标志 | 薄板样条转换器 |
GDALCreateRPCTransformerV1/V2 | psRPC: RPC 参数bReversed: 反向dfPixErrThreshold: 误差阈值 | RPC 有理多项式转换器 |
GDALCreateGeoLocTransformer | hBaseDS: 基准数据集papszGeolocationInfo: 地理位置信息 | 地理位置查找表转换器 |
GDALCreateApproxTransformer | pfnRawTransformer: 原始转换函数pRawTransformerArg: 原始参数dfMaxError: 最大误差 | 近似转换器 |
4.4 转换器辅助函数
| 函数名 | 参数说明 | 主要作用 |
|---|---|---|
GDALSetTransformerDstGeoTransform | 设置目标地理变换 | 更新转换参数 |
GDALGetTransformerDstGeoTransform | 获取目标地理变换 | 读取转换参数 |
GDALSerializeTransformer | pfnFunc: 转换函数pTransformArg: 转换参数 | 序列化转换器到 XML |
GDALDeserializeTransformer | psTree: XML 节点ppfnFunc: 输出转换函数指针ppTransformArg: 输出转换参数指针 | 从 XML 反序列化转换器 |
五、重采样与图像变换
| 函数名 | 参数说明 | 主要作用 | 应用场景 |
|---|---|---|---|
GDALSimpleImageWarp | hSrcDS/hDstDS: 输入输出nBandCount: 波段数panBandList: 波段列表pfnTransform: 转换函数 | 简单图像重投影 | 快速图像配准 |
GDALSuggestedWarpOutput | hSrcDS: 输入数据集pfnTransformer: 转换函数padfGeoTransformOut: 输出地理变换pnPixels/pnLines: 输出尺寸 | 计算重投影输出参数 | 输出图像大小和范围计算 |
GDALSuggestedWarpOutput2 | 同上,增加范围输出和选项 | 增强版输出参数计算 | 支持更多选项 |
GDALTransformGeolocations | hXBand/hYBand/hZBand: XYZ 波段pfnTransformer: 转换函数 | 转换地理位置坐标 | DEM 更新,坐标校正 |
六、等高线生成
| 函数名 | 参数说明 | 主要作用 | 应用场景 |
|---|---|---|---|
GDALContourGenerate | hBand: 输入波段dfContourInterval: 等高距dfContourBase: 基准高程hLayer: 输出图层 | 从 DEM 生成等高线 | 地形图制作,地形分析 |
GDALContourGenerateEx | 使用选项字符串列表参数 | 扩展等高线生成 | 支持更多参数配置 |
6.1 等高线生成器(底层 API)
| 函数名 | 参数说明 | 主要作用 |
|---|---|---|
GDAL_CG_Create | nWidth/nHeight: 图像尺寸bNoDataSet: 是否有 NoDatadfNoDataValue: NoData 值pfnWriter: 写入回调函数 | 创建等高线生成器上下文 |
GDAL_CG_FeedLine | hCG: 生成器句柄padfScanline: 扫描线数据 | 向生成器提供一行数据 |
GDAL_CG_Destroy | hCG: 生成器句柄 | 销毁等高线生成器 |
OGRContourWriter | dfLevel: 高程值nPoints: 点数padfX/padfY: 坐标数组pInfo: 写入信息结构 | OGR 格式等高线写入器 |
七、通视分析
| 函数名 | 参数说明 | 主要作用 | 应用场景 |
|---|---|---|---|
GDALViewshedGenerate | hBand: 输入 DEMpszDriverName: 输出驱动pszTargetRasterName: 输出文件dfObserverX/Y: 观察点坐标 | 生成通视图 | 信号塔选址,瞭望点分析 |
GDALIsLineOfSightVisible | hBand: DEMxA/yA/zA: 起点坐标xB/yB/zB: 终点坐标 | 判断两点间是否可见 | 视线分析,通信规划 |
八、栅格化处理
| 函数名 | 参数说明 | 主要作用 | 应用场景 |
|---|---|---|---|
GDALRasterizeGeometries | hDS: 目标数据集nBandCount: 波段数panBandList: 波段列表pahGeometries: 几何对象数组padfGeomBurnValues: 燃烧值 | 将几何对象栅格化 | 矢量转栅格,掩膜生成 |
GDALRasterizeGeometriesInt64 | 同上,使用 64 位整型燃烧值 | 大数值范围栅格化 | 处理大数值数据 |
GDALRasterizeLayers | hDS: 目标数据集pahLayers: 图层数组padfLayerBurnValues: 图层燃烧值 | 将矢量图层栅格化 | 批量矢栅转换 |
GDALRasterizeLayersBuf | pData: 输出缓冲区nBufXSize/nBufYSize: 缓冲区尺寸eBufType: 数据类型 | 栅格化到内存缓冲区 | 内存中处理,高性能应用 |
九、插值与格网化
| 函数名 | 参数说明 | 主要作用 | 应用场景 |
|---|---|---|---|
GDALGridCreate | eAlgorithm: 算法类型poOptions: 算法选项nPoints: 点数padfX/padfY/padfZ: XYZ 数据 | 从散点数据生成规则格网 | 气象数据格网化,空间插值 |
9.1 格网化算法选项结构体
| 结构体名 | 包含参数 | 算法类型 |
|---|---|---|
GDALGridInverseDistanceToAPowerOptions | dfPower: 权重指数dfSmoothing: 平滑参数dfRadius1/2: 搜索半径nMax/MinPoints: 最大最小点数 | 反距离加权插值 |
GDALGridInverseDistanceToAPowerNearestNeighborOptions | 同上,增加分象限参数 | 带最近邻搜索的反距离加权 |
GDALGridMovingAverageOptions | 移动窗口参数 | 移动平均插值 |
GDALGridNearestNeighborOptions | 最近邻参数 | 最近邻插值 |
GDALGridDataMetricsOptions | 数据统计参数 | 数据度量(最小、最大、范围等) |
GDALGridLinearOptions | dfRadius: 搜索半径 | 线性插值 |
9.2 格网化上下文 API
| 函数名 | 参数说明 | 主要作用 |
|---|---|---|
GDALGridContextCreate | 同 GDALGridCreate 参数bCallerWillKeepPointArraysAlive: 数组保持标志 | 创建格网化上下文 |
GDALGridContextFree | psContext: 上下文句柄 | 释放格网化上下文 |
GDALGridContextProcess | psContext: 上下文dfXMin/Max/YMin/Max: 处理范围nXSize/nYSize: 输出尺寸 | 执行格网化处理 |
十、Delaunay 三角剖分
| 函数名 | 参数说明 | 主要作用 | 应用场景 |
|---|---|---|---|
GDALHasTriangulation | 无参数 | 检查是否支持三角剖分 | 功能检测 |
GDALTriangulationCreateDelaunay | nPoints: 点数padfX/padfY: XY 坐标 | 创建 Delaunay 三角网 | TIN 生成,地形建模 |
GDALTriangulationComputeBarycentricCoefficients | psDT: 三角剖分结构padfX/padfY: 坐标数组 | 计算重心坐标系数 | 插值计算准备 |
GDALTriangulationComputeBarycentricCoordinates | psDT: 三角剖分nFacetIdx: 三角形索引dfX/dfY: 查询点坐标pdfL1/2/3: 输出重心坐标 | 计算点的重心坐标 | 点在三角形内判断 |
GDALTriangulationFindFacetBruteForce | 暴力搜索点所在三角形 | 简单但较慢的搜索 | 小数据量查询 |
GDALTriangulationFindFacetDirected | 定向搜索点所在三角形 | 高效搜索算法 | 大数据量查询 |
GDALTriangulationFree | psDT: 三角剖分结构 | 释放三角剖分内存 | 资源清理 |
十一、垂直校正(已废弃)
| 函数名 | 参数说明 | 主要作用 | 状态 |
|---|---|---|---|
GDALOpenVerticalShiftGrid | pszProj4Geoidgrids: Proj4 格网定义pbError: 错误标志 | 打开垂直偏移格网 | 已废弃 |
GDALApplyVerticalShiftGrid | hSrcDataset: 输入数据集hGridDataset: 格网数据集bInverse: 是否反向 | 应用垂直偏移校正 | 已废弃 |
十二、其他辅助函数
| 函数名 | 参数说明 | 主要作用 | 应用场景 |
|---|---|---|---|
RPCInfoV1ToMD / RPCInfoV2ToMD | psRPCInfo: RPC 信息结构 | 将 RPC 信息转换为元数据格式 | RPC 参数处理 |
GDALComputeMatchingPoints | hFirstImage/hSecondImage: 输入图像papszOptions: 选项pnGCPCount: 输出 GCP 数量 | 计算图像间的匹配点 | 图像配准,特征匹配 |
重要数据结构
GDALTransformerInfo– 转换器信息结构OGRContourWriterInfo– 等高线写入器信息GDALTriFacet– 三角面片结构GDALTriBarycentricCoefficients– 重心坐标系数GDALTriangulation– 三角剖分完整结构
算法枚举类型
| 枚举类型 | 值 | 含义 |
|---|---|---|
GDALViewshedMode | GVM_Diagonal=1GVM_Edge=2GVM_Max=3GVM_Min=4 | 通视分析模式 |
GDALViewshedOutputType | GVOT_NORMAL=1GVOT_MIN_TARGET_HEIGHT_FROM_DEM=2GVOT_MIN_TARGET_HEIGHT_FROM_GROUND=3 | 通视输出类型 |
GDALGridAlgorithm | GGA_InverseDistanceToAPower=1GGA_MovingAverage=2… GGA_Linear=10 | 格网化算法类型 |
宏定义
| 宏定义 | 值 | 作用 |
|---|---|---|
GDAL_SWO_ROUND_UP_SIZE | 0x1 | 输出尺寸向上取整 |
GDAL_SWO_FORCE_SQUARE_PIXEL | 0x2 | 强制正方形像素 |
GDAL_GTI2_SIGNATURE | “GTI2” | 转换器信息签名 |
