I worked in an R&D group at FSU back in 2003 making webmaps. When google maps came around, I spent a week deconstruction its inner workings. The tiling was such an obvious solution, but no one else was doing it yet.
Our next rev of the mapping software included tiling and progressive tile loading. We started with a commercial backend for creating the tiles (ESRI ArcIMS), and eventually switched to an open source solution (UWM's MapServer). Last I heard they had an entirely open source stack (MapServer, OpenLayers, gdal, etc).
Anyways, when I realized that Google had cached each and every one of these tiles - at every zoom level - I was simply confounded. It was the first time I actually contemplated the scale of a company like Google.
I actually implemented Tiling at Trailworks.com back in 1998 for a prototype that worked almost exactly like Google Maps, complete with drag-to-scroll and even drag-to-throw (but pre-dating mousewheels, therefore no mousewheel-zoom). In IE4/NN4, no less.
The problem back then was storage. Even for the US-only trail maps we were doing, there was no way we were going to store all those tiles at the $$$/GB that hard-drive space went for at the time. The plan was to cache only the most popular areas, and rebuild outlying tiles as necessary.
Yeah, it's 17,179,869,184 tiles for the entire earth 4^(N-1), where N is number of zoom levels, which is 18. Granted, a great deal of these redirect to their solid blue ocean tile.
EDIT: "Each tile is 256 pixels square and the number of tiles across at each zoom level is given by this formula: Math.pow(2, zoom)"; ops I missed the word "across" :)
How did you come up with that number? The sum loop that follows reports 524287 tiles total.
#include <stdio.h>
#include <math.h>
int main(void)
{
int i;
double tot = 0;
for(i = 0; i <= 18; ++i)
tot += exp2(i);
printf("tot %f\n", tot);
return 0;
}
Comments
I worked in an R&D group at FSU back in 2003 making webmaps. When google maps came around, I spent a week deconstruction its inner workings. The tiling was such an obvious solution, but no one else was doing it yet.
Our next rev of the mapping software included tiling and progressive tile loading. We started with a commercial backend for creating the tiles (ESRI ArcIMS), and eventually switched to an open source solution (UWM's MapServer). Last I heard they had an entirely open source stack (MapServer, OpenLayers, gdal, etc).
Anyways, when I realized that Google had cached each and every one of these tiles - at every zoom level - I was simply confounded. It was the first time I actually contemplated the scale of a company like Google.
I actually implemented Tiling at Trailworks.com back in 1998 for a prototype that worked almost exactly like Google Maps, complete with drag-to-scroll and even drag-to-throw (but pre-dating mousewheels, therefore no mousewheel-zoom). In IE4/NN4, no less.
The problem back then was storage. Even for the US-only trail maps we were doing, there was no way we were going to store all those tiles at the $$$/GB that hard-drive space went for at the time. The plan was to cache only the most popular areas, and rebuild outlying tiles as necessary.
Yeah, it's 17,179,869,184 tiles for the entire earth 4^(N-1), where N is number of zoom levels, which is 18. Granted, a great deal of these redirect to their solid blue ocean tile.
EDIT: "Each tile is 256 pixels square and the number of tiles across at each zoom level is given by this formula: Math.pow(2, zoom)"; ops I missed the word "across" :)
How did you come up with that number? The sum loop that follows reports 524287 tiles total.
#include <stdio.h> #include <math.h> int main(void) { int i; double tot = 0; for(i = 0; i <= 18; ++i) tot += exp2(i); printf("tot %f\n", tot); return 0; }