GDAL SetGeoTransform的参数描述

时间:2014-11-27 09:06:58

标签: gdal

任何人都可以帮我解决SetGeoTransform的参数吗?我正在使用GDAL创建栅格图层,但我无法找到SetGeoTransform的第3和第5参数的说明。它应该是细胞的x和y轴的定义。我尝试找到关于它herehere的内容,但没有。

我需要找到这两个参数的描述......它是以度,弧度,米为单位的值?或其他什么?

2 个答案:

答案 0 :(得分:7)

地理转换用于将地图转换为像素坐标,并使用仿射变换返回。如果您的图像没有“向北”,则使用第3个和第5个参数(与第2个和第4个一起)来定义旋转。

但是大多数图像是向北,然后第3和第5参数都是零。

  

仿射变换由返回的六个系数组成   GDALDataset :: GetGeoTransform()将像素/线坐标映射到   使用以下关系的地理参考空间:

Xgeo = GT(0) + Xpixel*GT(1) + Yline*GT(2)
Ygeo = GT(3) + Xpixel*GT(4) + Yline*GT(5)

请参阅以下关于仿射地理变换的部分: http://www.gdal.org/gdal_datamodel.html

答案 1 :(得分:1)

鉴于上述gdal datamodel docs的信息,SatGeoTransform的第三和第五参数(分别为x_skewy_skew)可以从两个控制点({{1 }},p1)在“ geo”和“ pixel”坐标空间中的x和y已知。 p2应该位于像素空间中p1的左上方。

p2

简而言之,这是地理空间中各点之间的欧式距离与像素空间中图像的高度(或宽度)之比。

参数的单位为x_skew = sqrt((p1.geox-p2.geox)**2 + (p1.geoy-p2.geoy)**2) / (p1.pixely - p2.pixely)` y_skew = sqrt((p1.geox-p2.geox)**2 + (p1.geoy-p2.geoy)**2) / (p1.pixelx - p2.pixelx)`

这是一个使用图像的角作为控制点("geo"length/"pixel"length)的演示:

gcps