[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