Opened 16 years ago
Closed 16 years ago
#2285 closed defect (fixed)
pct2rgb does not work on Linux 64 bits systems
Reported by: | jcrepetto | Owned by: | warmerdam |
---|---|---|---|
Priority: | high | Milestone: | 1.5.3 |
Component: | PythonBindings | Version: | 1.5.0 |
Severity: | normal | Keywords: | numpy |
Cc: | hobu |
Description
I have downloaded a map of Corsica at <http://www.ign.fr/telechargement/MPro/produit/SCANS/SCAN1000_Corse_L2E.zip> .
Now, I want to convert it to ECW format with gdal_translate. As it uses a palette, I first need to convert it to RGB.
$ pct2rgb.py COR_0000.TIF COR_0000_64K.TIF 0Traceback (most recent call last): File "/usr/bin/pct2rgb.py", line 162, in ? tif_ds.GetRasterBand(iBand+1).WriteArray(dst_data,0,iY) File "/usr/lib64/python2.4/site-packages/gdal.py", line 796, in WriteArray File "usr/lib64/python2.4/site-packages/osgeo/gdal_array.py", line 157, in BandWriteArray ValueError: array does not have corresponding GDAL data type
The same command is working on Linux 32 bits systems.
Change History (4)
comment:1 by , 16 years ago
Version: | unspecified → 1.5.0 |
---|
comment:2 by , 16 years ago
Cc: | added |
---|---|
Component: | default → PythonBindings |
Keywords: | numpy added |
Status: | new → assigned |
comment:3 by , 16 years ago
Priority: | normal → high |
---|
Ok, I took a new crack at this and discovered that pct2rgb.py was passing numpy.int64 arrays into BandWriteArray() and there is no direct mapping from this type to anything that GDAL supports. I modified the method to cast to Float64 in this case in trunk (r15480).
If this does not cause any other apparent problems, then I'll port the change back into 1.5 branch before the 1.5 release.
comment:4 by , 16 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
I have merged this change back into 1.5 branch as well (r15500).
I have confirmed this occurs locally on my 64bit system with GDAL trunk.