[gdal-dev] flipping raster in python
Jamie Adams
jaadfoo at gmail.com
Fri Mar 26 16:22:54 EDT 2010
I've written some simple Python code to flip a raster in relation to the
y-axis. The raster is 20000x19459 and has 4 bands of type Byte, and is
written east to west (I have no idea why). The script proceeds normally for
the first 2 bands, but slows way down after starting band 3. I let it run
overnight, and it had processed less than 1000 columnsin band 3, whereas the
previous pace for bands 1&2 was around 1000 columns every 10 seconds. Here
is the relevant code with a few debugging statements followed by the
gdalinfo output. The only thing I'm noticing is that the input image is
INTERLEAVED=BAND whereas the output is INTERLEAVED=PIXEL. Any help is
appreciated.
------------------------------------------------------------------------------
for band in range(1, indataset.RasterCount + 1):
## Print the current band
print 'Band %s' % band
inband = indataset.GetRasterBand(band)
outband = outdataset.GetRasterBand(band)
count = 0
print count
for i in range(inband.XSize):
## print the current interval of 1k lines
new_count = int(i / 1000)
if new_count > count:
print new_count
count = new_count
inline = inband.ReadAsArray(i, 0, 1, inband.YSize)
outband.WriteArray(inline, inband.XSize - i - 1, 0)
inline = None
inband = None
outband = None
------------------------------------------------------------------------------
Driver: GTiff/GeoTIFF
Files: test.tif
Size is 20000, 19459
Coordinate System is:
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.257223563,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433],
AUTHORITY["EPSG","4326"]]
Origin = (-175.536864949200321,33.666235092496755)
Pixel Size = (-0.000062579160220,-0.000054370391310)
Metadata:
AREA_OR_POINT=Area
Image Structure Metadata:
INTERLEAVE=BAND
Corner Coordinates:
Upper Left (-175.5368649, 33.6662351) (175d32'12.71"W, 33d39'58.45"N)
Lower Left (-175.5368649, 32.6082416) (175d32'12.71"W, 32d36'29.67"N)
Upper Right (-176.7884482, 33.6662351) (176d47'18.41"W, 33d39'58.45"N)
Lower Right (-176.7884482, 32.6082416) (176d47'18.41"W, 32d36'29.67"N)
Center (-176.1626566, 33.1372384) (176d 9'45.56"W, 33d 8'14.06"N)
Band 1 Block=20000x1 Type=Byte, ColorInterp=Red
Mask Flags: PER_DATASET ALPHA
Band 2 Block=20000x1 Type=Byte, ColorInterp=Green
Mask Flags: PER_DATASET ALPHA
Band 3 Block=20000x1 Type=Byte, ColorInterp=Blue
Mask Flags: PER_DATASET ALPHA
Band 4 Block=20000x1 Type=Byte, ColorInterp=Alpha
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/gdal-dev/attachments/20100326/794329f0/attachment.html
More information about the gdal-dev
mailing list