Re: [aprsisce] Pre-Fetching
- Broncus wrote:
> Is there a reason to limit the prefetch depth? Why not allow the user the ability to download to any depth?I limit depth because of the 4x factor that increasing zoom levels
represents. When I say that I pre-fetch the next lower N zoom levels,
it means the ENTIRE area expanded by 4x for each zoom level closer.
Many times, this is not what the user really wants to see in detail.
For instance, why pre-fetch lots of ocean tiles just because the lower
left corner of the United States happens to be a peninsula?
I would entertain going deeper if the prefetch constrained itself to the
same are that would be viewed by zooming in at the current screen size,
but again, that's probably not what most users are looking for. Once
you get in to a certain area, they really want the 4x expansion as it
My own manual method is to get a reasonable area at a reasonable zoom
and trigger the prefetch. I then zoom in 2 or 3 times and pan around
triggering more prefetches until I think I've got enough queued. Then I
zoom in to a reasonable street level and pan around slowly while
watching for the fuzziness to disappear. At my origination and
destination points, I zoom in really deep to have the final detail
and/or back off 1 or 2 levels and trigger a final few prefetchs.
The client does do some automatic prefetching of one zoom level further
out and the 4 tiles one level closer (along with one additional tile at
the current zoom level out each edge of the screen) each time a new tile
is fetched from the server. This is in anticipation of traveling into
those areas or doing a small zoom for less or more detail.
Note that the automatic prefetchs of map tiles due to panning and
zooming are canceled if your attention has moved elsewhere (by more
panning and zooming) before the tiles were fetched. Manual Prefetch
requests are not canceled nor cancellable short of closing the client.
> In other software I have, the user selects the zoom levels for tile retrieval.So you know if that software holds to the same screen size on the
> In that same package, the author has also limited the zoom levels to:
> 1/4M, 1M, 4M, 16M, 64M and 256M per pixel. The maps are USGS topo, aerial and urban tiles from the TerraServer.
retrieval or actually expands the 4x to ensure fully detailed coverage
for the entire originally viewed area? I'm suspecting the former where
I do that latter.
> I was also thinking the ability to prefetch all tiles below the current level when the map is moved is possibly useful. Obviously this can be very time and space consuming. But if the user could select the levels he/she needed, then only the levels select would be fetched.See above for the automatic prefetch that has been in the client from
day 1 (of OSM support anyway). These automatic prefetches are not
guaranteed to be attempted, though, if you keep panning and zooming
around. "All" is a very data-intensive word when dealing with the 4x
> One reason this is useful to me is that I run a GPS simulator and have been retrieving tiles automatically. This has been useful so far in getting tiles for areas that I am interested in (mainly traveling to and from and though) and it would allow a single pass.If you slow the GPS simulator down so that it doesn't force panning
before the queue has worked off (yellow circle expands to disappear), it
will at least have pre-fetched one level down and one level up from the
current zoom view.
Lynn (D) - KJ4ERJ
PS. I've got a ToDo to use HTTP/1.1 for tile retrieval that reduces the
load on the network and tile server. I'll consider these suggestions
after I've been able to do that. I don't want my client to become
persona non grata (http://en.wikipedia.org/wiki/Persona_non_grata) on
the OSM tile servers.
> Best regards,
> Fred, N7FMH
> Yahoo! Groups Links