用途:在 QGIS 中通过地面控制点(GCP)对栅格影像或矢量数据进行地理配准,避免因 GCP 数量不足或变换类型选择错误导致精度损失。
主要能力:提供 QgsGcpPoint(源/目标坐标与目标 CRS)、QgsGcpTransformerInterface(创建并应用坐标变换)、QgsGcpGeometryTransformer(变换 QgsGeometry)、QgsVectorWarper(通过 transformFeatures() 变换矢量要素)等核心类。支持 Linear、Helmert、PolynomialOrder1/2/3、Projective、ThinPlateSpline 等变换类型,各自有最低 GCP 数量要求。
使用方式:用 createFromParameters() 创建并拟合变换器,返回 None 表示 GCP 不足;用 transform() 变换点,返回 (success, x, y);矢量配准用 QgsVectorWarper.transformFeatures() 配合要素迭代器与要素接收器;栅格配准须使用 GDAL Python 绑定(osgeo.gdal),因 QgsImageWarper 无 Python 绑定。可计算残差与 RMSE 评估精度,支持留一法验证,也可手动写世界文件(.tfw/.jgw/.pgw 等)或用 GDAL 的 TFW=YES 生成。
限制与注意:QgsVectorWarper 没有 warpLayer() 方法;每个 QgsGcpPoint 各自存储目标 CRS,须显式设置;必须检查 createFromParameters() 与 transformFeatures() 的返回值,失败时调用 warper.error() 诊断;拟合后应计算残差校验精度。具体版本要求与 API 细节以官方文档为准。