在 Python 2.7 中使用 gdal.ReadAsArray 时旋转 xy
xy rotated when using gdal.ReadAsArray in Python 2.7
我使用 Python 中的 gdal
模块读取 DEM 栅格。在 gdal
下时,DEM x 和 y 大小正确(42689、35622)。当我使用 ReadAsArray 函数时,DEM 的形状旋转为 (35622, 42689)。有没有办法解决这个问题或至少确定 DEM 是如何旋转的?
In [54]: t1.RasterYSize
Out[54]: 35622
In [55]: t1.RasterXSize
Out[55]: 42689
ta = t1.ReadAsArray
In [64]: ta.shape
Out[64]: (35622L, 42689L)
Numpy 将 "y" 轴作为轴 0(第一个轴),将 "x" 轴作为轴“1”(第二个轴),索引从 0 开始。当您要求 ta[3,1]
时,您会从左上角的原点 (0,0) 得到坐标 x=1,y=3。没有轮换,这只是约定俗成的问题。
您可以使用 matplotlib
绘制 DEM 或使用 gdal
将其保存为新栅格,您将看到它保留了原始方向。
我使用 Python 中的 gdal
模块读取 DEM 栅格。在 gdal
下时,DEM x 和 y 大小正确(42689、35622)。当我使用 ReadAsArray 函数时,DEM 的形状旋转为 (35622, 42689)。有没有办法解决这个问题或至少确定 DEM 是如何旋转的?
In [54]: t1.RasterYSize
Out[54]: 35622
In [55]: t1.RasterXSize
Out[55]: 42689
ta = t1.ReadAsArray
In [64]: ta.shape
Out[64]: (35622L, 42689L)
Numpy 将 "y" 轴作为轴 0(第一个轴),将 "x" 轴作为轴“1”(第二个轴),索引从 0 开始。当您要求 ta[3,1]
时,您会从左上角的原点 (0,0) 得到坐标 x=1,y=3。没有轮换,这只是约定俗成的问题。
您可以使用 matplotlib
绘制 DEM 或使用 gdal
将其保存为新栅格,您将看到它保留了原始方向。