[gdal-dev] Apply filter on VRT

Saâd HESSANE saad.hessane at gmail.com
Sun Apr 15 04:35:15 EDT 2012


Thank you !


2012/4/14 Chaitanya kumar CH <chaitanya.ch at gmail.com>

> Saâd,
>
> I too got errors.
> The only way to avoid them for now it to run the individual rasters
> through their own filter vrt files.
>
> I am going to dig deeper in the ticket #4616.
> http://trac.osgeo.org/gdal/ticket/4616
>
>
> On Fri, Apr 13, 2012 at 5:39 PM, Saâd HESSANE <saad.hessane at gmail.com>wrote:
>
>> 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
>>>>
>>>
>>>
>>
>
>
> --
> 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/20120415/5904bb53/attachment.html


More information about the gdal-dev mailing list