GDAL仿射变换

秒速五厘米 2022-05-16 05:36 662阅读 0赞

一、仿射变换(Affine GeoTransform)有六个参数,描述的是栅格行列号和地理坐标之间的关系。

在GDAL中可以通过函数GDALDataset::GetGeoTransform()函数获得,存放在一个double类型的数组里面。

每个元素下标都代表着不同的含义:

  • 0:图像左上角的X坐标;
  • 1:图像东西方向分辨率;
  • 2:旋转角度,如果图像北方朝上,该值为0;
  • 3:图像左上角的Y坐标;
  • 4:旋转角度,如果图像北方朝上,该值为0;
  • 5:图像南北方向分辨率;

二、基于遥感影像具有的特点,这六个参数可以描述遥感影像起点坐标、分辨率、旋转角度。

以C++实现代码为例:

GDALAllRegister();

GDALDataset *pSrcDS = (GDALDataset*)GDALOpen(“源数据的路径”, GA_ReadOnly);

double GeoTransform[6] = {0};//初始化

pSrcDS->GetGeoTransform(GeoTransform);

//这样就得到了读取数据的仿射变换参数,并且已经放入了GeoTransform数组中。

GeoTransform[0]和GeoTransform[3]代表图像左上角坐标(地理坐标)

GeoTransform[1]和GeoTransform[5];代表影像分辨率(东西方向为正,南北方向为负)

GeoTransform[2]和GeoTransform[4];一般值都是0

三、得到这六个参数之后就可以进行图像行列号和地理坐标之间的变换,变换关系如下:

Xgeo = GeoTransform[0] + Xpixel*GeoTransform[1] + Ypixel*GeoTransform[2]

Ygeo = GeoTransform[3] + Xpixel*GeoTransform[4] + Ypixel*GeoTransform[5]

这样就能得到图像任一点的地理坐标了。

发表评论

表情:
评论列表 (有 0 条评论,662人围观)

还没有评论,来说两句吧...

相关阅读

    相关 仿变换

    仿射变换是平移、缩放、旋转、对称、错切五种变换的组合,其数学表达形式如下: ⎧⎩⎨⎪⎪x′=a11x\+a12y\+x0y′=a12x\+a22y\+y0 采用

    相关 GDAL仿变换

    一、仿射变换(Affine GeoTransform)有六个参数,描述的是栅格行列号和地理坐标之间的关系。 在GDAL中可以通过函数GDALDataset::GetGeoTr

    相关 pytorch---仿变换

    一、仿射变换 图片的旋转、平移、缩放等可以看做一个像素的重采样过程。将原图的像素映射到目标图像的对应位置上,可以