[gdal-dev] Warp with different band types?
Even Rouault
even.rouault at spatialys.com
Wed Aug 25 04:47:11 PDT 2021
Le 25/08/2021 à 13:12, Idan Miara a écrit :
> Thanks Even!
>
> For my case, max(data types) is good enough, but I see that for the
> general case calling this function might be a better option.
>
> I couldn't find a reference for GDALWarpResolveWorkingDataType in the
> python wrappers, or the warp tester:
> https://github.com/OSGeo/gdal/blob/master/autotest/alg/warp.py
> <https://github.com/OSGeo/gdal/blob/master/autotest/alg/warp.py>
It's not meant for general consumption. Mostly an implementation detail
>
> Looking at
> https://github.com/OSGeo/gdal/blob/master/autotest/cpp/test_alg.cpp#L89
> <https://github.com/OSGeo/gdal/blob/master/autotest/cpp/test_alg.cpp#L89>
> I couldn't find a test that is considering two bands with different
> data types.
>
> I was expecting that, at least in the python version, gdal.Warp will
> call this function internally before warping and not take the first
> data type as a default.
gdal.Warp() just calls the same logic as the gdalwarp binary. The fix
shouldn't be too hard if you want to have a try. Otherwise please file a
ticket about that
>
> Idan
>
> On Mon, 23 Aug 2021 at 11:51, Even Rouault <even.rouault at spatialys.com
> <mailto:even.rouault at spatialys.com>> wrote:
>
> Idan,
>
> The warping kernel works on a multiple band dataset by using a
> single working data type, which should be the "max" of the types
> of the input bands, so here int16. I believe this is working, but
> here the issue is more at the creation of the dataset itself than
> during the warping. This is due to
> https://github.com/OSGeo/gdal/blob/3302b5c9cb62191df3409676aa97fced07c92c3b/gdal/apps/gdalwarp_lib.cpp#L3017
> <https://github.com/OSGeo/gdal/blob/3302b5c9cb62191df3409676aa97fced07c92c3b/gdal/apps/gdalwarp_lib.cpp#L3017>
> . GDALWarpResolveWorkingDataType() should likely be used instead
>
> Even
>
> Le 23/08/2021 à 00:58, Idan Miara a écrit :
>> Hi all,
>>
>> I was trying to warp a ds with a byte band and an int16 band and
>> got a ds with two byte band.
>> Is warp using the first band data type for all the output bands?
>> Is that a bug?
>>
>> If multiple band types are not supported - maybe max(band types)
>> could be a better default (assuming no explicit output type) ?
>>
>> Kind regards,
>> Idan
>>
>>
>> _______________________________________________
>> gdal-dev mailing list
>> gdal-dev at lists.osgeo.org <mailto:gdal-dev at lists.osgeo.org>
>> https://lists.osgeo.org/mailman/listinfo/gdal-dev <https://lists.osgeo.org/mailman/listinfo/gdal-dev>
>
> --
> http://www.spatialys.com <http://www.spatialys.com>
> My software is free, but my time generally not.
>
--
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/20210825/c1261fc1/attachment-0001.html>
More information about the gdal-dev
mailing list