[gdal-dev] Apply filter on VRT

Saâd HESSANE saad.hessane at gmail.com
Thu Apr 12 10:47:08 EDT 2012


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/20120412/a2e38622/attachment.html


More information about the gdal-dev mailing list