I've been sketching out an alternative to the OSGeo Tiled Map Service for most of the spring. Not yet another standard, but an example of another, more RESTful way of providing tiles to a mapping client. I'm just going to scrap it now and point you to Chapter 5 of RESTful Web Services by Leonard Richardson and Sam Ruby.
The OSGeo TMS is composed of a general family of algorithms, parameterized by map scale and image coordinate origin, for finding the URL of specific map tile. The basic algorithm is coded within web map client applications, and the clients query a service for an enumeration of all the variants of the algorithm that it implements. The client application selects the optimal variant of the algorithm, and executes it to obtain the URIs of the map imagery it needs. The advantages of TMS over an OGC WMS are that map tile resources can distributed over any number of servers (it scales, trivially), and that clients can leverage the caching mechanisms built into the Web (If-Modified-Since and ETag, also known as conditional GET) to conserve bandwidth and improve performance.
The service outlined by Richardson and Ruby has all the advantages of TMS and one more: there's no requirement on map clients to possess or execute tile-locating algorithms. A request for imagery to such a service would return a document containing:
a link to the central map tile
links to that tile's neighbors
A map client would simply GET and render the central tile, and then traverse the links to build out a full map mosaic.
This is rather a lot like the RESTful feature services I wrote about in April: simply elegant, but also a hard sell. Mainstream GIS folks recoil in horror at the thought of relying on link traversal to render their maps. I think this is partly based on experience with under-performing OGC WMS instances, partly on discomfort with anything too different than desktop architecture (web-as-filesystem), and on the fact that there are no web-traversing map services in the wild. We're also following Google's lead in this area because its hard to argue with the success of Google Maps. Richardson and Ruby gloss over the fact that Google's map tile service is much more like the OSGeo TMS than their ROA (Resource Oriented Architecture) maps.
Lots of good stuff in the book. I hope the librarians out there appreciate my link to WorldCat instead of Amazon ;)
Comments
Re: Rome Reborn as a Flash Movie
Author: Bill Thorp
Is this really about Flash, or even web sites? Couldn't I render obtuse SVG in a browser? PDFs? AJAX? Applets? Would you really deep-link their content if you could? Should they want you to? (There are ways: http://www.unfocus.com/projects/)Re: Rome Reborn as a Flash Movie
Author: Allan
Trouble is, Flash is considered the "easy" way towards cross-platform rich content delivery. There's only one Flash engine that gets ported by one company. Browser engines present a messier landscape to provide content for. Furthermore, Flash apps are probably being built by media design people who don't have a deep appreciation for the implications of non-URL-addressable content that gets buried in the process. I think the solution is not so much to rail against the people who do this but rather to provide examples of what you/we consider better practices. These people are earnestly doing their jobs and when they look around for "how do we build an interactive web site to showcase our stuff" they will have a greater likelihood of finding decent patterns.Re: Rome Reborn as a Flash Movie
Author: Sean
Ross Scaife (from The Stoa Consortium) found himself unable to link to his favorite image on the Rome Reborn "site", something that we take for granted on the dull, plain old HTML web. I have no problem with Flash, the tool. A site implemented entirely in javascript with no links (no non-human UI) would be almost as bad. It might as well be a glossy paper brochure. Best practices are clearly laid out in Cohen and Rosenzweig's book. The authors were not as concerned about the programmable web as I am, but their advice about URIs and multimedia is as relevant to machine users as human users.Re: Rome Reborn as a Flash Movie
Author: Bill Thorp
"Flash with Named Anchors" is an HTML publishing template in Flash. This is an awareness issue. The authors of Rome... don't know how to use it, and Mr. Scaife must be totally unaware of HTTP packet sniffing. http://www.romereborn.virginia.edu/imageG8.jpgRe: Rome Reborn as a Flash Movie
Author: Sean
Good fodder for this weekend, yes?