[gdal-dev] Python API ReadAsArray axis order
Even Rouault
even.rouault at spatialys.com
Sun Dec 4 04:07:29 PST 2022
Chris,
ReadAsArray() returns a NumPy array, and the first dimension in NumPy is
the slowest varying one, that is y.
GDAL's geotransform is
Xgeoref = gt[0] + column * gt[1] + line * gt[2]
Ygeoref = gt[3] + column * gt[4] + line * gt[5]
and GDAL's Raster API have their arguments with column first, line second.
So, there's no transposition. It is just a different convention on how
to present dimensions.
Note: if you used GDAL's multidimensional API, it would be similar to
NumPy convention, with slowest varying dimension being the first index
value.
Even
Le 04/12/2022 à 09:02, Chris Crook a écrit :
> Hi
>
> I am using the Python GDAL API and looking at a simple TIFF image with
> a test program:
>
> from osgeo import gdal
> dataset = gdal.Open('test-gdal.tif')
> transform=dataset.GetGeoTransform()
> nx=dataset.RasterXSize
> ny=dataset.RasterYSize
> data=dataset.ReadAsArray()
> print(f"Raster xsize, ysize ({nx},{ny})")
> print(f"ReadAsArray dimensions {data.shape}")
> print(f"GeoTransform: {transform}")
>
> The output is:
>
> test_python_api.py
> Raster xsize, ysize (3,4)
> ReadAsArray dimensions (4, 3)
> GeoTransform: (22.15, 0.7, 0.0, -69.5, 0.0, 1.0)
>
>
> I am confused that the array appears transposed from the raster x,y size.
>
> Is this always the cased. As far as I can tell the geotransform is
> assuming x,y (0-2,0-3 values) to map indices to location, which is
> what I want to do.
>
> Can I assume that the array is always transposed? Or if not how do I
> identify when this is the case?
>
> Many thanks in advance
>
> Chris Crook
> Land Information New Zealand
>
>
>
>
>
>
> ------------------------------------------------------------------------
>
> This message contains information, which may be in confidence and may
> be subject to legal privilege. If you are not the intended recipient,
> you must not peruse, use, disseminate, distribute or copy this
> message. If you have received this message in error, please notify us
> immediately (Phone 0800 665 463 or info at linz.govt.nz) and destroy the
> original message. LINZ accepts no responsibility for changes to this
> email, or for any attachments, after its transmission from LINZ. Thank
> You.
>
> _______________________________________________
> gdal-dev mailing list
> gdal-dev at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/gdal-dev
--
http://www.spatialys.com
My software is free, but my time generally not.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20221204/3006cfeb/attachment-0001.htm>
More information about the gdal-dev
mailing list