TM::IP RESTful map surfaces

One of the many pieces in my puzzle are surfaces of topic maps. When computed these are simply PNG files. There will be different resolutions of these surface (maps), depending on how much content is involved.

As I want to integrate this into my TM::IP landscape, the best is to follow the pattern I used with TM::IP::Documents and have another Catalyst controller doing the work. That is now on its way onto CPAN.

How Does It Work?

A map owner can simply integrate such a surface by downloading it from, say

http://server/internet/web/.surface/x3.png

x3 is the zoom factor and /internet/web/ addresses in my store one topic map about the web.

An alternative way to integrate the image into an existing application is not to load it as a whole but only tiles of it. And this is what TM::IP::Surface does at the moment: to compute these tiles automatically, once they are requested:

http://server/internet/web/.surface/x3/60x40/20x3.png

First it makes sure that all tiles for the given zoom factor x3 exist. In this case there should be 60 horizontally and 40 vertically. And then it picks the one with coordinates (20, 3) and sends it to the client.

What Comes Next?

Once I am happy with this whole Catalyst-controller setup, I will add some HTML/jQuery templates and corresponding AJAX controllers which allow to control how such surface images are rendered (coloring, labeling, etc.). That configuration is then used by my TempleScripts.

Posted In