Kaydet (Commit) 461f74ab authored tarafından Opa-'s avatar Opa- Kaydeden (comit) Tim Graham

Fixed #26432 -- Fixed size tuple order when using numpy reshape on a GDALBand.

üst 93deb169
...@@ -222,8 +222,10 @@ class GDALBand(GDALBase): ...@@ -222,8 +222,10 @@ class GDALBand(GDALBase):
if as_memoryview: if as_memoryview:
return memoryview(data_array) return memoryview(data_array)
elif numpy: elif numpy:
# reshape() needs a reshape parameter with the height first.
return numpy.frombuffer( return numpy.frombuffer(
data_array, dtype=numpy.dtype(data_array)).reshape(size) data_array, dtype=numpy.dtype(data_array)
).reshape(tuple(reversed(size)))
else: else:
return list(data_array) return list(data_array)
else: else:
......
This diff is collapsed.
...@@ -320,6 +320,12 @@ class GDALBandTests(SimpleTestCase): ...@@ -320,6 +320,12 @@ class GDALBandTests(SimpleTestCase):
self.assertEqual(self.band.datatype(), 1) self.assertEqual(self.band.datatype(), 1)
self.assertEqual(self.band.datatype(as_string=True), 'GDT_Byte') self.assertEqual(self.band.datatype(as_string=True), 'GDT_Byte')
self.assertEqual(self.band.nodata_value, 15) self.assertEqual(self.band.nodata_value, 15)
data = self.band.data()
assert_array = numpy.loadtxt(
os.path.join(os.path.dirname(upath(__file__)), '../data/rasters/raster.numpy.txt')
)
numpy.testing.assert_equal(data, assert_array)
self.assertEqual(data.shape, (self.band.height, self.band.width))
try: try:
smin, smax, smean, sstd = self.band.statistics(approximate=True) smin, smax, smean, sstd = self.band.statistics(approximate=True)
self.assertEqual(smin, 0) self.assertEqual(smin, 0)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment