DeepZoom (ex-
SeaDragon) is a very cool 'application' of the image-tiling concept used in online maps like
google and
live maps/virtual earth.
There are (well,
seem to be) two 'modes' for DeepZoom: with or without a 'Collection'; where 'Collection' seems to mean each element of the image has it's own set of tiles and can be treated individually.
It is the 'Collection' mode that allows the
Hard Rock Cafe Memorabilia to slide images around when you choose different categories (by artist, type, decade, genre, location). When a 'Deep Zoom Collection' is created, each element has it's own folder
within which the tiles are grouped by zoom level. It's easy to conceptualise how this model will 'scale up' to
PhotoSynth where each element exists not just in a 2D space but in a 3D space with corresponding 3D positioning (but with the same basic metadata that supports DeepZoom Collections now) residing in the
info.bin/info.xml
files. Of course building the 'composer' for
PhotoSynth will be orders of magnitude more difficult :)
Anyway, back to DeepZoom... when you do NOT generate a collection,
DeepZoom Composer (Mermaid) generates the ENTIRE SCENE in a single set of zoom-level-grouped images... awfully similar to the way map tiles are cut, and this is where it gets interesting!
If you already have (coincidentally) a
Silverlight 1.0 "Tile Client" and
map browser running, it would be a simple matter to change your google topographic image location template (for example) from
var gridPos = quadkey.charAt(quadkey.length-1);
var t = new Tile(quadkey, WORLD.Zoom)
var nz = 17 - WORLD.Zoom;
imageUrl = 'http://mt'+gridPos+'.google.com/mt?n=404&v=w2p.63&x='
+t.Column+'&y='+t.Row+'&zoom='+nz+'';
to
var nz = 9 + WORLD.Zoom; // DeepZoom idiosyncrasy
imageUrl = '/ClientBin/DeepZoomMags/'+nz+'/'
+t.Column+'_'+t.Row+'.jpg';
and be able to navigate a DeepZoom image using Silverlight 1.0!
This example is NOT live on the web (for now), screenshots follow to prove it works:
Just to tie this back to
Geoquery 2008, the same Tile Client code exists in C#/WPF so it would also be trivial to modify the configurable
MapSources.xml to browse a DeepZoom (NON-Collection) image from a WPF application...
NOTE: there are known issues with this approach, including DeepZoom Composer not generating a perfect 'square' of source images, and trimming 'edge' images to the size they need to be rather than 'squares' (causing stretching on the right & bottom edges). Both would be simple to cater for in a purpose-built Silverlight 1.0 DeepZoom viewer.