[Tile-serving] Real time tile merging strategy

Kai Krueger kakrueger at gmail.com
Sun Mar 31 20:45:27 UTC 2013


On 03/31/2013 01:40 PM, sly (sylvain letuffe) wrote:
> Hi kai,
>
>> 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.
> This is maybe why it isn't best to implement this feature at the storing layer
> level.
> I would bet that most people don't have a fully rendered layer (at least I
> don't).
No doubt there are limitations of doing it at that level and due to 
those it might not be useful to everyone or even many. To do it at a 
different level of abstraction though would require a fair bit of 
rejuggling of the mod_tile infrastructure. Given the limited complexity 
of mod_tile as a whole, that shouldn't be too difficult either, but was 
just a little too much for a Saturday evening ;-) You probably want to 
have an additional layer of abstraction between the storage backends and 
the front end of mod_tile, sort of a compositing or filtering layer that 
also can reinject arbitrary numbers of rendering requests into the system.

Coming to think of it, you can already get it working with the current 
system by using the http_proxy backend. You can use the http_proxy 
backend to retrieve the the tile data from your own server, thus going 
through the normal expiry and on the fly rendering stages. I.e. 
"composite:{ro_http_proxy://localhost/layer1}{ro_http_proxy://localhost/layer2}". 
Although it probably should work, it might be considered a little crazy 
though... ;-)
>
>
>> Please let me know if it works for you Sylvain.
> I'm stuck on :
> ERROR: init_storage_ro_coposite: Support for compositing storage has not been
> compiled into this program
>
> Looks like it needs some lib named "cairo" I seam to have, but unfound by the
> configure script.
Yes, indeed it needs the cairo imaging library, as that is what it uses 
to composite the two png files. I was originally hoping to use the 
Image32 interface of mapnik, but mapnik is C++ and mod_tile isn't

Do you have the cairo-devel and pkg-config packages installed 
(libcairo2-dev and pkg-config on ubuntu)? That is what the config 
scripts use to find the header files and library.

Kai
>
>
>




More information about the Tile-serving mailing list