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 <[email protected]> > 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 <[email protected]>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 >> [email protected] >> http://lists.osgeo.org/mailman/listinfo/gdal-dev >> > > > > -- > Best regards, > Chaitanya kumar CH. > > +91-9494447584 > 17.2416N 80.1426E >
_______________________________________________ gdal-dev mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/gdal-dev
