Nathan has published an interesting video showing 8 years of QGIS development.
The video was created using Gource, detailed explanations of the process can be found on Nathan’s blog. Each cluster of files represents a directory, and branches show the directory hierarchy of the source code.
With this post I’ll try to summarise the past year.
Last year I changed jobs twice. I left the area where I had been working for more than 6 years - the land registry. Then I worked for some time in a software company developing a trading platform for the Forex market. I had to learn the Ada language as the trading server was developed in this language. Despite the new field and new tools, I did quite well, although there were some difficulties. But I wanted something else…
Private life, this area is best described by the title of E. M. Remarque’s famous novel “All Quiet on the Western Front”. There is nothing to add.
There were lot of changes in the GIS world. The OSM (OpenStreetMap) project has gained worldwide recognition. In addition, Microsoft has given the project access to raster data from its Bing Maps service. Unfortunately, I am not yet involved in the OSM community, but I am very pleased with the development of the project.
ESRI has opened the Geodatabase API, Shapefile is still alive. GIS are pawing their way into the mobile device market.
QGIS is evolving: improved new symbology, raster calculator, QGIS MapServer, many new useful plugins. I have developed and released a few new plugins and continue to improve existing ones. QGIS User Guide was translated into Russian.
This year I was unable to attend the QGIS developer meetings in Pisa and Wrocław. It’s a shame and a pity.
Party of Regions won majorities on most regional and city councils as well as most of the mayoralties.
It’s been 10 years since school and 5 years since university.
On the desktop, I switched from Slackware to Debian testing. There is a dual-boot to Windows XP, as I need it sometimes, e.g. to build QGIS and/or test some bugs (the power of the computer does not allow comfortable use of virtual machines).
Basically, this is the year I gave up dancing. Most likely, for good.
After reading manuals and smart books, I decided to migrate some of my local SVN repositories to Git. It would seem to be a simple process, but no… there were some problems.
I’m running DeepStyle 3.1 (which is basically Slackware 12.2). Git 1.6.1.3 was installed with the system.
So I created a directory for the project, ran git-svn and got a “command not found” error. The first problem turned out to be quite simple, you have to use git svn (at least on Slackware), i.e. without the hyphen. Strange, almost all articles refer to git-svn…
OK, I tried to run the correct command and got a scary error message
Can't locate Error.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.8/i486-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/5.8.8/i486-linux-thread-multi /usr/lib/perl5/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i486-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl .) at /usr/lib/perl5/vendor_perl/5.8.8/Git.pm line 93.
BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/5.8.8/Git.pm line 93.
Compilation failed in require at /usr/bin/git-svn line 45.
BEGIN failed--compilation aborted at /usr/bin/git-svn line 45.
This one took a bit longer. It turned out that I needed to install additional Perl modules and the corresponding bindings for SVN. To install the modules, use the following command (internet access required):
sudo cpan Alien::SVN Error Term::ReadKey
Wait for the installation to finish. Now download subversion-bindings SlackBuild. Extract the archive, change the SVN version in the script to the one you are using and run it. Wait for it to compile and then install the package that was created. Everything should be working now.
The actual repository migration is quite simple (at least in my case). First, we need to match the usernames in SVN and Git, so we create a text file with the following content (of course, the names should be real):
jdoe = Jon Doe
tomm = Tom Morton
Then create a temporary directory for the project, initialise the Git repository, and import the sources from SVN:
The --no-metadata switch in the third command is needed to ignore SVN-specific information. The fourth command creates a mapping between Subversion and Git usernames using a previously created file. The last command performs the import of the source code. The import process will take some time (depending on the size of the repository and the number of commits). Once it has finished, you can clone the temporary repository to get rid of any garbage left behind by SVN.
Based on the report published on the Linfiity Geo Blog and my own impressions.
The 4th QGIS hackfest, held from 11 to 15 November in Wrocław, Poland, attracted 29 participants (28 people and one dog). All participants did their best to make QGIS even better. A lot was accomplished in four days: hundreds of commits, demonstrations of new features, and many productive discussions. The meeting was organised by Paweł Netzel with the help of Milena Nowotarska, Robert Szczepanek, Maciej Sieczka and Borys Jurgiel and took place at the Department of Climatology and Atmospheric Protection of the University of Wroclaw.
My contribution — numerous improvements to the fTools plugin. When using the “Merge shapefiles to one” tool, it is now possible to select not only a folder, but also individual files. The “Simplify geometry” tool has been redesigned: I added a customisable simplification threshold and the ability to simplify the whole layer or only selected features; simplification can be done “in place” or by creating a new shapefile; “in place” simplification supports undo/redo; at the end of the simplification plugin shows a report about the total number of vertices in a layer before and after simplification.
Below, you will find an overview of the most important topics that were discussed during the hackfest as well as most notable changes.
When I was young and handsome, I used to dance. Not professionally, but quite seriously. At least, our team has been given the title of “people’s”, and not so long ago it was confirmed.
I’ve uploaded some photos to Picasa, and below is one of my favourite performances. I apologise in advance for the quality: this is amateur video, and the lighting on the stage is terrible (thanks to the Palace’s sound/lighting director).
The collaborative project to translate the QGIS 1.5 User Guide into Russian is nearing completion. I’m busy with the final editing and formatting.
Recently, I had to look into the OGC CSW (Catalogue Service Web) standard. It’s an interesting and useful thing, but most of the public servers I managed to find implement various aspects of it in a strange way :-(. So I have to add a monstrous construction to the code to catch exceptions and give the user a more or less understandable error message.
I am also slowly writing Pascal wrappers for the GDAL/OGR and Proj libraries. I couldn’t find any Pascal bindings for GDAL/OGR, so I’m making my own. I already have a more or less working module for OGR and some examples of its use. A module for OSR is also ready, but has not been tested yet. Next in line is a module for GDAL.
The situation with the Proj wrapper was a bit more interesting: first, I found a Pascal module for Proj 4.4.3 (the current Proj version is 4.7.0), and this wrapper required changes to the source code of the Proj library. I didn’t like this approach and started to make my own module, partly based on the one I found. Later, when updating the FPC compiler, I accidentally noticed that the available packages included modules for Proj 4.6.1. Now I’m not sure what to do: should I continue developing my own wrapper or not?
I plan to push the results of my work upstream, and if that doesn’t work, I’ll just publish them somewhere.
I returned to Zaporizhzhia yesterday, sunburned and a little refreshed. The heat in Crimea is terrible, and the proximity of the sea does not help. In Choban-Kale, at 11 o’clock in the afternoon, we had 53°C in the direct sun (they say it was almost 60°C in Simeiz), and the water temperature was ~28–29°C. However, it is no better in Zaporizhzhia.
While I was on holiday, the next version of QGIS — 1.5.0 “Tethys” — was released. The official announcement is on the QGIS blog. There are many changes: a lot of bugs have been fixed, new tools have been added, and old tools have been improved (fTools, GdalTools, annotations, new georeferencing module). The documentation is actively updated.
I am leaving for Crimea tomorrow morning at 6 a.m. and will be back late in the afternoon on the 5th.
I will not have internet access there, but you can write to me :-). I promise to answer all emails, comments, bug reports and feature requests when I’m back.
I have been using PeopleNET as my ISP for quite some time. The speed was not very high, and the only plan available was pay-per-gigabyte. But it was more than enough for email, jabber and most websites.
There were simply no other options. Ukrtelecom cited a lack of technical capacity and offered to pay a fee and wait for the capacity to appear (they could not give an estimate of how long this would take). Beeline said they couldn’t provide service to this address, although they had connected the house next door. And there have never been any LANs in our neighbourhood, and if there were, they were very far away and not for a long time.
The Telza ISP didn’t make any excuses or problems, they just pulled the cable through a block and a half. So now I have internet like this
SpeedTest results for my new ISP
And PeopleNET was left as a backup and travelling option. Their USB modem fits perfectly into the small pocket of a laptop bag.