[gdal-dev] Interpolation when using the WMS format

Peter Hopfgartner peter.hopfgartner at r3-gis.com
Thu Sep 18 13:23:06 PDT 2014


Salut Evan,

thanks for you recipe. Unfortunately, what I am really interested in is to use this from MapServer. Could you give me a pointer in the source where the resampling takes place?

Thanks,

Peter

Am 18.09.2014 um 22:11 schrieb Even Rouault <even.rouault at spatialys.com>:

> Le jeudi 18 septembre 2014 17:40:11, Peter Hopfgartner a écrit :
>> Hi, everybody
>> 
>> we are using the GDAL WMS driver for getting maps from a public WMTS
>> service, http://www.basemap.at. Anyway, the resulting image does not
>> look smooth. In particular, I would guess that the the image was scaled
>> with something like a nearest neighbor algorithm.
>> So my question is simply, if I can switch the interpolation method in
>> some place.
>> 
>> The XML file, taken from
>> http://gisforge.wordpress.com/2012/11/06/basemap-at-wmts-layer-in-qgis/,
>> is:
>> 
>> <GDAL_WMS>
>>  <Service name="TMS">
>> <ServerUrl>http://maps.wien.gv.at/basemap/geolandbasemap/normal/google3857/
>> ${z}/${y}/${x}.jpeg</ServerUrl> </Service>
>>  <DataWindow>
>>   <UpperLeftX>-20037508.34</UpperLeftX>
>>   <UpperLeftY>20037508.34</UpperLeftY>
>>   <LowerRightX>20037508.34</LowerRightX>
>>   <LowerRightY>-20037508.34</LowerRightY>
>>   <TileLevel>18</TileLevel>
>>   <TileCountX>1</TileCountX>
>>   <TileCountY>1</TileCountY>
>>   <YOrigin>top</YOrigin>
>>  </DataWindow>
>>  <Projection>EPSG:3857</Projection>
>>  <BlockSizeX>256</BlockSizeX>
>>  <BlockSizeY>256</BlockSizeY>
>>  <BandsCount>3</BandsCount>
>>  <Cache />
>> </GDAL_WMS>
>> 
>> The command is:
>> 
>> gdal_translate -srcwin 35500000 23500000 100000 100000 -of JPEG -outsize
>> 250 250 basemap_at.xml basemap_at.jpg
> 
> Peter,
> 
> Resampling done by gdal_translate is nearest neighbour, so not always that 
> great.
> 
> What you can do is select an outsize that is compatible with the source 
> overviews. In TMS, the ratio between sucessive overviews work with factor of 
> 2, so you should select an outsize of 10000 / 2^N. The closest is 10000 / 256 
> = 390.625 -> 391
> 
> So 
> 
> gdal_translate -srcwin 35500000 23500000 100000 100000 -outsize
> 391 391 basemap_at.xml tmp.tif
> 
> and then:
> 
> gdalwarp tmp.tif tmp2.tif -r lanczos -ts 250 250 (you can try different 
> resampling kernel)
> gdal_translate tmp2.tif basemap_at.jpg -of JPEG
> 
> Best regards,
> 
> Even
> 
> -- 
> Spatialys - Geospatial professional services
> http://www.spatialys.com



More information about the gdal-dev mailing list