[Tile-serving] Real time tile merging strategy

Kai Krueger kakrueger at gmail.com
Sun Mar 31 08:46:24 UTC 2013


On 03/29/2013 12:19 PM, sly (sylvain letuffe) wrote:
> On jeudi 28 mars 2013, Jon Burgess wrote:
>> I was given a patch by Andy Allan
> or kai's suggestion
>
> Thanks to all 3 of you for such ideas, I'm unsure if I'll digg into that, but
> if I do, you'll sure have a pull request from me ;-)
I was curious to see if the approach with a compositing storage backend 
goes through and so I decided to quickly implement it ;-)

Well, it sort of does go through, but the the updating and rendering 
request logic only supports requesting one set of tiles. With the 
current abstraction model, there is no way to pass through two rendering 
requests. Therefore it mostly works for one dynamic layer and one static 
fully rendered layer. So it is sort of ideal for compositing hillshading 
into a standard tile layer, but less ideal for other purposes.

Performance wise compositing tiles on the fly on the output side also 
kind of works, although it does definitely draw quite a bit of CPU 
resources. Never-the-less, I can get about 500 compositing requests per 
second out of my quad-core hyperthreading CPU. While a lot less than the 
10 - 20k /s requests I can get on the plain file storage backend, it is 
still in the range that is possibly feasible.



As I didn't have any hillshaded metatiles to test the compositing 
storage backend with, I ended up in addition writing a simple http_proxy 
storage backend, that can retrieve tiles from a remote tile server. E.g. 
to retrieve the hillshading tiles on toolserver ( 
http://toolserver.org/~cmarqu/hill/ )

So now you can configure a tileserver with a "tile_dir" of 
"composite:{default,/var/lib/mod_tile}{hill,ro_http_proxy://toolserver.org/~cmarqu/hill}" 
which will composite tiles coming from local disk storage together with 
the remote hillshading tiles and then serve the combined png.

For the moment, it is mostly still a proof of concept, and it still 
needs to be more configurable than it currently is. But it might already 
be useful to some. Please let me know if it works for you Sylvain.

Kai

>
>




More information about the Tile-serving mailing list