Geography Reference
In-Depth Information
100
80
60
40
20
IDEE−Base
Cartociudad
0
0
10
20
30
40
50
60
70
80
90
100
requests (%)
Figure 2. Percentile of requests for the analyzed services.
received from the 9 th December of 2009 to 13 th May in 2010. IDEE-Base logs reflect a total of
16.891.616 requests received between 15 th March and 17 th June in 2010.
It must be noted that the performance gain achieved by the use of a tile cache will vary
depending on how the tile requests are distributed over the tiling space. If those were
uniformly distributed, the cache gain would be proportional to the cache size. However, lucky
for us, it has been found that tile requests usually follow a heavy-tailed Pareto distribution,
as shown in Figure 2. In our example, tile requests to the Cartociudad map service follow the
20:80 rule, which means that the 20% of tiles receive the 80% of the total number of requests. In
the case of IDEE-Base, this behaviour is even more prominent, where the 10% of tiles receive
almost a 90% of total requests. Services that show Pareto distributions are well-suited for
caching, because high cache hit ratios can be found by caching a reduced fraction of the total
tiles.
Figure 3 and Figure 4 show the distribution of tile requests to each resolution level of the
tile pyramid for the analyzed services. The maximum number of requests is received at
resolution level 4 for both services. This peak is due to the fact that this is the default resolution
on the initial rendering of the popular clients in use with this cartography, as it allows the
visualization of the whole country on a single screen. As can be observed, the density of
requests (requests/tile) is higher at low resolution levels than at higher ones. Because of this,
a common practice consists in pregenerating the tiles belonging to the lowest resolution levels,
and leave the rest of tiles to be cached on demand when they are first requested.
4. Tile cache implementations
With the standardization of tiled web map services, multiple tile cache implementations have
appeared. Between them, the main existent implementations are: TileCache, GeoWebCache
and MapProxy. A comparison between these implementations is summarized in Table 1.
As can be seen, TileCache and MapProxy are both implemented in Python (interpreted
language), while GeoWebCache is implemented in Java (compiled language). These three
 
Search WWH ::




Custom Search