New Projects - Fresh from the Labs
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.
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)
gsl (GNU Scientific Library)
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:
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 www.alpin-koordinaten.de 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.
John Knight is the New Projects columnist for Linux Journal.
- Promise Theory—What Is It?
- Integrating Trac, Jenkins and Cobbler—Customizing Linux Operating Systems for Organizational Needs
- New Products
- Tech Tip: Really Simple HTTP Server with Python
- Non-Linux FOSS: Remember Burning ISOs?
- Raspberry Pi: the Perfect Home Server
- RSS Feeds
- EdgeRouter Lite