Wednesday, August 26, 2009

gipfel—Mountain Viewer/Locater

This is definitely one of the most original and niche projects I’ve come across— and those two qualities are almost bound to get projects included in this section! gipfel has a unique application for mountain images and plotting. According to the Web site:

gipfel helps to find the names of mountains or points of interest on a picture. It uses a database containing names and GPS data. With the given viewpoint (the point from which the picture was taken) and two known mountains on the picture, gipfel can compute all parameters needed to compute the positions of other mountains on the picture. gipfel can also generate (stitch) panorama images.

Installation. A source tarball is available on the Web site, and trawling around the Net, I found a package from the ancient wonderland of Debian. But, the package is just as old and beardy as its parent OS. Installing gipfel’s source is a pretty basic process, so I went with the tarball. Once the contents are extracted and you have a terminal open in the new directory, it needs only the usual:

$ ./configure
$ make

And, as sudo or root:

# make install

However, like most niche projects, it does have a number of slightly obscure requirements that probably aren’t installed on your system (the configure script will inform you). The Web site gives the following requirements:

• UNIX-like system (for example, Linux, *BSD)

• fltk-1.1

• gsl (GNU Scientific Library)

• libtiff

I found I needed to install fltk-1.1-dev and libgsl0-dev to get past ./configure (you probably need the -dev package for libtiff installed too, but I already had that installed from a previous project). Once compilation has finished and the install script has done its thing, you can start the program with:

$ gipfel

Usage Once you’re inside, the first thing you’ll need to do is load a picture of mountains (and a word of warning, it only accepts .jpg files, so convert whatever you have if it isn’t
already a .jpg). Once the image is loaded, you either can choose a viewpoint from a predefined set of locations, such as Everest Base Camp and so on, or enter the coordinates manually. However, I couldn’t wrap my head around the interface for manual entry, and as Johannes Hofmann says on his own page:

...gipfel also can be used to play around with the parameters manually. But be warned: it is pretty difficult to find the right parameters for a given picture manually. You can think of gipfel as a georeferencing software for arbitrary images (not only satellite images or maps).

As a result, Johannes recommends the Web site as a great place for getting GPS locations, but bear in mind that the site is in German, und mein Deutsch ist nicht so gut, so you may need to run a Web translator. If you’re lucky enough to get a range of reference points appearing on your image, you can start to manipulate where they land on your picture according to perspective, as overwhelming chance dictates that the other mountain peaks won’t line up immediately and, therefore, will require tweaking.

If you look at the controls, such as the compass bearing, focal length, tilt and so on, these will start to move the reference points around while still connecting them as a body of points. Provided you have the right coordinates for your point of view, the reference points should line up, along with information on all the other peaks with it (which is really what the project is for in the first place). gipfel also has an image stitching mode, which allows you to generate panoramic images from multiple images that have been referenced with gipfel. As my attempts with gipfel didn’t turn out so well, I include a shot of Johannes’ stunning results achieved from Lempersberg to Zugspitze in the Bavarian Alps, as well as one of the epic panoramic shots as shown on the Web site. Although this project is still a bit unwieldy, it is still in development, and you have to hand it to gipfel, it is certainly original.

Source of Information : Linux Journal Issue 181 May 2009

No comments: