Wednesday, August 27, 2008

Old Maps Search Interface - ideas and existing projects

How should the search interface produced by our project look like ?

Let's have a look first at existing implementations of such search...

One of the best map search interfaces is now definitively the Google Maps interface. Clean, straightforward, user-friendly and not over-complicated. This will surely be the first inspiration for our work.

But we need more than a text search, in fact we need "Where, When, What and Who" search approach analogous to Electronic Culture Atlas Initiative (ECAI):



Other inspiring interfaces were developed by Alexandria Digital Library (look at their WebClient) and by DigMap.eu (look at their Portal) and other related projects.

Some time a go we used (open source) TimeMap.net system for similar kind of search on a small collection in the Moravian Library in Brno (you can search subset of Old Map and Manuscript collection on the map and filter results by time and fulltext query at http://timemap.mzk.cz/).

Unfortunately the TimeMap project is not able to handle any larger number of documents as all the data are loaded into a client-side based Java Applet.

Therefore, we are looking for usable building blocks for a new search interface, which should be strictly web-based (JavaScript, AJAX) and which will allow us to use powerful spatial search algorithms on the server side (we will write about them later).

For a map query window we would like use maps data published by Google, Microsoft, Yahoo or OpenStreetMap. That should be relatively easy as all of these are supported by an open-source OpenLayers project.

Second component of the search interface is a web-based timeline widget, similar to the one implemented in Google Labs Experimental Timeline View:



We did a research into projects implementing Timeline for selecting a time range or date range and summarized the result list on our Wiki.

If the publishing format of digitized maps and an existing georeference data allow us to overlay maps we will implement an interface similar to MapSynthesizer - a scalable prototype user interface for browsing, searching, and information discovery. MapSynthesizer has been developed by Microsoft Research and published online as open-source. Unfortunately, its source code is almost unusable and we would like to base this kind of interface on OpenLayers anyway, rather than on one specific map API (Virtual Earth in this case).

Anyway, you can have a look at this really nice vision of a future user interface for online map libraries:




More info about MapSynthesizer including source code, live prototype (IE only) and a PDF article about this project is available online.


In case you have anything to say about your expectations from search interface, or feel that some project is missing on the linked lists... don't hesitate and write a comment to this blog post!

Wednesday, July 23, 2008

Georeferencing Images by Control Points: TransGen and gcps2wld utility

We have just released TransGen, a utility based on GeoTools/Java. It allows you to generate a best fitting affine transformation from the set of control points.

The set of control points can be generated for example by our online tool prototype and has a simple text format: "latitude longitude pixelx pixely" per line. A sample of file with GCPS points and related JPG image derived from Natural Earth II is available in our code repository.

The utility generates a World File, which represents the best fitting transformation for given set of ground control points (GCPs) in a format that can be used by virtually any GIS system.

The process of image registration is done by an algorithm, which allows you to restrict some of the standard operations. By default all the six affine operations are applied (translate x, translate y, scale x, scale y, rotate, skew).



But you can set constant value for some of the operations, thus for example eliminating the skew/shear (this is what you need for generation of KML for Google Earth which only supports affine5) or rotation (when you know that the map has north orientation already). There is also a possibility to compute the best similarity transformation.

You can download the command line utility implementing this algorithms:


TransGen source code is available in our code repository. The programming and design of the algorithm was done by Jan Jezek and was funded from our grant. The main functionality is now available as part of Java GeoTools package, and therefore available to the community as well as to other programmers.

We are going to embed the algorithms from this tool in the user friendly web-based tool we plan to develop to produce georeference for scanned maps. We have converted this utility to the Python programming language for production use (gcps2wld.py), where we used Affine6 and Affine5 implementation from excellent open-source MapAnalyst application.

Note:
GeoTools.org is being used by OpenSource projects like GeoServer or uDig. Plenty of websites and information systems are profiting from the functionality provided by this library. For example Great Britain Historical GIS Project is utilizing it for development of its http://www.visionofbritain.org.uk/ website)

Tuesday, July 15, 2008

Introduction of OldMapsOnline.org

The presentation of our project, together with a demo of prototype tools is the fastest way for anybody to see what we are working on.

If you have 15 minutes you can have a look at the OldMapsOnline.org related part of the presentation "Tiles as an approach to on-line publishing of scanned old maps, vedute and other historical documents" (SlideShow) from 3rd International Workshop on Digital Approaches to Cartographic Heritage, Barcelona, Catalunya, Spain 26 - 27 June 2008 organized by the ICA Commission on Digital Technologies in Cartographic Heritage and the Institut Cartogràfic de Catalunya.



Link to the video playback.

Monday, June 23, 2008

Image Server IIPImage now supports Zoomify

Zoomify tiles are very popular for publishing old maps and other historical documents - it is the easiest way of publishing of large scanned images on the web. Also, the free Flash based Zoomify Viewer looks very nice. Zoomify works with directory structure which contains image tiles and accompanying XML. You can just upload it all to a server and you have your image online. Zoomify tiles are going to be supported in all our tools for georeferencing and searching of old maps.

Now you can also use the freely available image server IIPImage to deliver tiles from your TIFF files on demand, but still use the same viewer. This way the data from your digital repository can be used both for long-term digital preservation and also for online publishing.

IIPImage support for JPEG2000 format as the source raster image is scheduled for the next year by our grant.

IIPImage is quite easy to setup on your server which runs UNIX or Windows (now Microsoft IIS is supported too).

The default Zoomify viewer with tiles generated by IIPImage:










Fullscreen version of the same viewer

Behaviour for the user is practically identical to the images served from small static files from the disk. IIPImage has support for cashing and is already a mature project, used for example in labs of Louvre in Paris.

Your image is at the same time available also by an IIP protocol, therefore you can also use the native clients supporting this protocol. One of the best such viewers is a very nice AJAX based IIPMooViewer.

Development of Zoomify extension was done with our funding by Ruven Pillay, maintainer and developer of the IIPImage. Source code is now available in IIPImage SVN at SourceForge. It is going to appear in next stable version.

Note: a project j2ktilerenderer is also generating Zoomify tiles - from JPEG2000.

Thursday, June 12, 2008

OpenLayers support for Zoomify - first version

OpenLayers is an open-source JavaScript based mapping client a la Google Maps.

OpenLayers can display several map sources, like maps from Google Maps, Yahoo, Microsoft Live Maps as well as from any WMS compatible map server. Therefore you can combine maps from different sources, you can even create and modify vector features or sketch on top of the maps - just like when you create your own maps in Google My Maps.

We have extended OpenLayers project with functionality needed to display Zoomify tiles (source code of this patch is here).

Simple example displaying Zoomify tiles in OpenLayers is in our code repository:

http://oldmapsonline.googlecode.com/svn/trunk/openlayers/examples/zoomify.html

(we will improve this patch - it's loading is very slow for now as OpenLayers is not merged into one file and it is not compressed)

This is the core functionality of our planned georeference tool (GUI prototype), which will allow anyone to generate georeference metadata for already published maps: especially those published as zoomify tiles, TMS Tiles or through a WMS standard from a MapServer.

Friday, May 30, 2008

OldMapsOnline Project Started

We are pleased to announce a start of the OldMapsOnline project! We aim to devolop freely available/open source tool chain and methodology which will allow anyone (namely libraries, archives and museums) to publish scanned old maps in both GIS and user friendly, standards based way.

The system will:

  • provide online georeferencing tool and online rectifier for large digitised maps which will generate geo-metadata for cataloguing the maps, search purposes as well as presentation and overlay of maps
  • suggest or develop software tools useful for publishing huge collections of scanned old maps
  • facilitate search for digitised maps and graphics linked to a certain geographic location
  • provide user friendly search interface using geographic and temporal information (marking an area on a map, timeline, map ranking)
  • be available in English and Czech and it will be possible to translate it into other languages.


We also plan to contribute to existing open source projects such as OpenLayers, MapServer, GDAL and IIPImage.

The four-year project (2008-2011) is backed by the Moravian Library in Brno with financial support from the Ministry of Culture of the Czech Republic as a R&D project# DC08P02OUK006.

Have a look at online video from presentation of prototypes of our tools to get more information.