[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