[gdal-dev] Apply filter on VRT

Saâd HESSANE saad.hessane at gmail.com
Fri Apr 13 08:09:49 EDT 2012


Hy list,

Has anyone reproduce the bug?

Thank you.



2012/4/12 Saâd HESSANE <saad.hessane at gmail.com>

> Yes of course :
>
>>  <VRTDataset rasterXSize="52436" rasterYSize="32400">
>>   <SRS>...</SRS>
>>   <GeoTransform>...</GeoTransform>
>>   <VRTRasterBand dataType="UInt16" band="1">
>>     <NoDataValue>0</NoDataValue>
>>     <ColorInterp>Gray</ColorInterp>
>>     <KernelFilteredSource>
>>       <SourceFilename relativeToVRT="1">1.tif</SourceFilename>
>>       <SourceBand>1</SourceBand>
>>       <SourceProperties RasterXSize="8449" RasterYSize="6429"
>> DataType="UInt16" BlockXSize="8449" BlockYSize="1" />
>>       <SrcRect xOff="0" yOff="0" xSize="8449" ySize="6429" />
>>       <DstRect xOff="0" yOff="0" xSize="10721" ySize="8158" />
>>       <NODATA>0</NODATA>
>>     </KernelFilteredSource>
>>     <KernelFilteredSource>
>>       <SourceFilename relativeToVRT="1">2.tif</SourceFilename>
>>       <SourceBand>1</SourceBand>
>>       <SourceProperties RasterXSize="8772" RasterYSize="6407"
>> DataType="UInt16" BlockXSize="8772" BlockYSize="1" />
>>       <SrcRect xOff="0" yOff="0" xSize="8772" ySize="6407" />
>>       <DstRect xOff="43664" yOff="25993" xSize="8772" ySize="6407" />
>>       <NODATA>0</NODATA>
>>     </KernelFilteredSource>
>>   </VRTRasterBand>
>> </VRTDataset>
>
>
> It's really simple to reproduce the problem : do a "buildvrt" on a set of
> raster ( > 1 raster ). Edit the vrt file and rename "ComplexSource" tag
> with "KernelFilteredSource". add if you want the kernel definition.
> Now you can do a gdal_translate to write a tiff file.
>
> There's no error in the terminale.
> gdal_translate crash and a windows error dialog appears saying that the
> the program has encountered an error and have to be close (the error is in
> frensh sorry for my bad english...).
> I'm using gdal 1.9 x64 onto Win 7 x64.
>
>
>
> 2012/4/12 Chaitanya kumar CH <chaitanya.ch at gmail.com>
>
>> Saâd,
>>
>> Can you provide the vrt file causing the crash? Also, please show me the
>> error messages you got.
>>
>>
>> On Thu, Apr 12, 2012 at 7:21 PM, Saâd HESSANE <saad.hessane at gmail.com>wrote:
>>
>>> Thank you Chaitanya for the answer,
>>>
>>> I do the test with the kenel element like the documentation :
>>>
>>>
>>>> <Kernel normalized="1">
>>>>     <Size>3</Size>
>>>>     <Coefs>0.11111111 0.11111111 0.11111111 0.11111111 0.11111111
>>>> 0.11111111 0.11111111 0.11111111 0.11111111</Coefs>
>>>> </Kernel>
>>>>
>>> It's the same probleme, gdal_translate crash. But if the VRTRasterBand
>>> have just one KernelFilteredSource element, gdal_translate work fine and
>>> apply the filtre correctely.
>>>
>>> The poblem appears if there are more than one KernelFilteredSource
>>> element in the VRTRasterBand.
>>>
>>>
>>>
>>> 2012/4/12 Chaitanya kumar CH <chaitanya.ch at gmail.com>
>>>
>>>> Saâd,
>>>>
>>>> There should be a Kernel element in a KernelFilteredSource.
>>>> FYI, all the pixels whose kernel has a nodata pixel will be reported as
>>>> a nodata pixel.
>>>>
>>>>  On Wed, Apr 11, 2012 at 3:20 PM, Saâd HESSANE <saad.hessane at gmail.com>wrote:
>>>>
>>>>>  Hy all,
>>>>>
>>>>> I have a VRT file generated with buildvrt utility :
>>>>>
>>>>> <VRTDataset rasterXSize="52436" rasterYSize="32400">
>>>>>>   <SRS>...</SRS>
>>>>>>   <GeoTransform>...</GeoTransform>
>>>>>>   <VRTRasterBand dataType="UInt16" band="1">
>>>>>>     <NoDataValue>0</NoDataValue>
>>>>>>     <ColorInterp>Gray</ColorInterp>
>>>>>>     <ComplexSource>
>>>>>>       <SourceFilename relativeToVRT="1">1.tif</SourceFilename>
>>>>>>       <SourceBand>1</SourceBand>
>>>>>>       <SourceProperties RasterXSize="8449" RasterYSize="6429"
>>>>>> DataType="UInt16" BlockXSize="8449" BlockYSize="1" />
>>>>>>       <SrcRect xOff="0" yOff="0" xSize="8449" ySize="6429" />
>>>>>>       <DstRect xOff="0" yOff="0" xSize="10721" ySize="8158" />
>>>>>>       <NODATA>0</NODATA>
>>>>>>     </ComplexSource>
>>>>>>     <ComplexSource>
>>>>>>       <SourceFilename relativeToVRT="1">2.tif</SourceFilename>
>>>>>>       <SourceBand>1</SourceBand>
>>>>>>       <SourceProperties RasterXSize="8772" RasterYSize="6407"
>>>>>> DataType="UInt16" BlockXSize="8772" BlockYSize="1" />
>>>>>>       <SrcRect xOff="0" yOff="0" xSize="8772" ySize="6407" />
>>>>>>       <DstRect xOff="43664" yOff="25993" xSize="8772" ySize="6407" />
>>>>>>       <NODATA>0</NODATA>
>>>>>>     </ComplexSource>
>>>>>>   </VRTRasterBand>
>>>>>> </VRTDataset>
>>>>>>
>>>>>
>>>>> It's work fine with a gdal_translate.
>>>>> Now I want to apply a filter kernel to the VRT. I have to use the
>>>>> KernelFilteredSource.
>>>>> The gdal api say that VRTKernelFilteredSource is a sub-class of
>>>>> VRTComplexSource. So a VRTKernelFilteredSource *is *a
>>>>> VRTComplexSource.
>>>>> But if I replace VRTComplexSource by VRTKernelFilteredSource,
>>>>> gdal_translate crash. This is the new VRT :
>>>>>
>>>>> <VRTDataset rasterXSize="52436" rasterYSize="32400">
>>>>>>   <SRS>...</SRS>
>>>>>>   <GeoTransform>...</GeoTransform>
>>>>>>   <VRTRasterBand dataType="UInt16" band="1">
>>>>>>     <NoDataValue>0</NoDataValue>
>>>>>>     <ColorInterp>Gray</ColorInterp>
>>>>>>     <KernelFilteredSource>
>>>>>>       <SourceFilename relativeToVRT="1">1.tif</SourceFilename>
>>>>>>       <SourceBand>1</SourceBand>
>>>>>>       <SourceProperties RasterXSize="8449" RasterYSize="6429"
>>>>>> DataType="UInt16" BlockXSize="8449" BlockYSize="1" />
>>>>>>       <SrcRect xOff="0" yOff="0" xSize="8449" ySize="6429" />
>>>>>>       <DstRect xOff="0" yOff="0" xSize="10721" ySize="8158" />
>>>>>>       <NODATA>0</NODATA>
>>>>>>     </KernelFilteredSource>
>>>>>>     <KernelFilteredSource>
>>>>>>       <SourceFilename relativeToVRT="1">2.tif</SourceFilename>
>>>>>>       <SourceBand>1</SourceBand>
>>>>>>       <SourceProperties RasterXSize="8772" RasterYSize="6407"
>>>>>> DataType="UInt16" BlockXSize="8772" BlockYSize="1" />
>>>>>>       <SrcRect xOff="0" yOff="0" xSize="8772" ySize="6407" />
>>>>>>       <DstRect xOff="43664" yOff="25993" xSize="8772" ySize="6407" />
>>>>>>       <NODATA>0</NODATA>
>>>>>>     </KernelFilteredSource>
>>>>>>   </VRTRasterBand>
>>>>>> </VRTDataset>
>>>>>>
>>>>>
>>>>> It's weird, I expected a polymorphism between VRTComplexSource and
>>>>> VRTKernelFilteredSource.
>>>>> So the question : how can I apply a filter to a VRT?
>>>>> Thank you !
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> gdal-dev mailing list
>>>>> gdal-dev at lists.osgeo.org
>>>>> http://lists.osgeo.org/mailman/listinfo/gdal-dev
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Best regards,
>>>> Chaitanya kumar CH.
>>>>
>>>> +91-9494447584
>>>> 17.2416N 80.1426E
>>>>
>>>
>>>
>>
>>
>> --
>> Best regards,
>> Chaitanya kumar CH.
>>
>> +91-9494447584
>> 17.2416N 80.1426E
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/gdal-dev/attachments/20120413/a3bcce77/attachment.html


More information about the gdal-dev mailing list