[OSM-dev] mod_tile - meta tile computation

Philipp Borgers borgers at mi.fu-berlin.de
Tue Dec 28 21:44:10 GMT 2010


Am Dienstag, den 28.12.2010, 21:43 +0100 schrieb Frederik Ramm:
> The result of this computation is a series of 5 integers stored in
> the 
> hash[] array, plus an offset. The resulting x and y values are of no 
> concern. The reason you are confused is proably because you have your 
> code print out
> 
> >         printf("%d,%u,%u\n",cmd->z,x,y);
> 
> at the end, which is not what this code is supposed to compute. 

What if we disable directory hashing but use meta tiling? Is this use
case intended? 

	snprintf(path, len, "%s/%s/%d/%u/%u.meta", tile_dir, xmlconfig, z, x, y);

In this use case x,y are of concern for snprintf but I don't understand
the computation. We do a bitwise and with x and ~mask and then shift
them 5 times 4 bits to the right. Which leads to strange values at least
in my head.

In theory the computation should map METATILE * METATILE tiles to one
meta file? Which should result for x in [0,7] and y in [0,7] in the new
values z/0/0.meta and for x in[8,15] and y in [8,15] in the values
z/1/1.meta and so on. I should try to divide the input by METATILE if
I'm right.

Is there a detailed description of the meta file layout?

Perhaps I don't see the obvious.

Thanks for your help.

regards

philipp





More information about the dev mailing list