The 6th Quantum GIS developer meeting in Zurich (Switzerland) ended on Monday. Below are my impressions, supplemented with information from Tim’s blog.
This meeting was more “quiet” than the previous ones: the presentations were only held on the first day (but the picture and sound were very good), there were no announcements of the presentations on IRC, so it wasn’t always clear who was speaking and what the topic was.Some topics were discussed on IRC and the mailing lists, if you wanted to, you could contribute with your comments, suggestions or topics. Subjectively, there were not that many commits, partly due to the use of GIT, but still not that many changes compared to previous hackfests.
One of the main discussions was on issues related to topology support. This was facilitated by the presence of Sandro Santilli, one of the developers of GEOS and PostGIS. Topological editing has been discussed almost since the introduction of digitising support in QGIS. At the meeting, we discussed the possibility and prospects of creating a common mechanism for topological editing of different data, but in the end, we decided to keep all three existing systems (simple features, the GRASS topological model, and the PostGIS topological model). This decision was made because of the large differences in the underlying models. Of course, if someone proposes a worthy implementation of the universal mechanism, it will be gladly considered.
As QGIS has expanded from the desktop market to the web, discussions about QGIS Server and, more recently, QGIS Web Client have become an integral part of meetings. Some of the results of these discussions can be found on a dedicated wiki page.
Finally, the move to GitHub is complete: all the documentation was moved there during the hackfest. The migration was accompanied by a change in directory structure, and a description of the new workflow for translators will be published soon. There are also plans to abandon LaTeX in favour of RST (ReStructured Text), which should lower the barrier to entry for both authors and translators.
Since the preparation of new QGIS releases is quite complex and time consuming task, Tim has taken Werner on as his assistant. Tim will prepare the main releases, and Werner will do the point releases. By the way, the upcoming release 1.7.2 is his first work at this position.
As preparing new QGIS releases is a complex and time-consuming task, Tim took on Werner as his assistant. Tim will prepare the major releases and Werner will prepare the point releases. The upcoming 1.7.2 release is his first work in this position.
Strangely enough, although everyone has been talking about revising and updating the API for a long time, nothing has been broken yet (I was hoping this process would at least start at haskfest). At the same time, so much new functionality has been added that it was decided to make 1.7.2 the last release of the 1.7 series and then release 1.8.
In addition to the topics already mentioned, the following issues were also discussed to a greater or lesser extent:
QGIS on Android
performance testing and identification of bottlenecks in vector data handling
new infrastructure (wiki migration, bugtracker improvements, new plugins repository, styles repository)
revival of unit testing and the launch of the project’s Dart server
user interface optimisation and redesign for version 2.0 (1, 2)
overhaul of the QgsGeometry class (adding support for curves, splines, collections)
As for me, I was not in the mood to fix bugs, nor did I have any special plans. So I was mainly busy adding new bugs :-) by adding new tools to fTools and GdalTools.
Nathan Woodrow made another nice video showing the activity of the QGIS developers between versions 1.6 and 1.7 (1265 commits were made during this time). The spike in activity in November is a hackfest.
Most Android devices can determine their position with some accuracy. This is achieved by using the Global Positioning System (GPS), triangulation from mobile network base stations, or by using open (public) hotspots. To use these features, we need the android.location package.
There are several classes in this package. The most important ones are:
LocationManager — provides access to the system location services, i.e., GPS and others. It also allows you to select the service that best meets your criteria (power consumption, positioning accuracy, etc.)
LocationProvider is an abstract class from which all providers of geographic location information are derived. The provider periodically provides information about changes in geographic coordinates of the device
LocationListener — used to receive notifications from the LocationProvider when coordinates change
Other classes that are worth mentioning are Location (geographical location of the device at a given point in time) and Criteria (criteria for selecting a provider).
In this post, I will focus on getting coordinates from the GPS_PROVIDER provider.
Android… So, it got to me. No, I did not become the happy owner of a shovel-shaped device mistakenly called a “phone” (my old SE K320i is great). It’s much worse than that :-). I had to find out how to develop applications for Android.
After successfully downloading and installing the SDK, I started looking for an IDE. On Android Developers there are two options: Eclipse with the ADT plugin and command line + any editor. I tried this Eclipse… IMHO, it’s an abomination. Firstly, it is terribly slow. So slow that M$ Visual Studio under VirtualBox beats it in terms of responsiveness and convenience. Secondдн, the interface organisation is awful. I have often heard that GIT is for aliens, in this case, Eclipse is not clear who wrote it and for whom :-). You won’t believe me, I spent about 15 minutes trying to find a way to open an existing project. It turns out that you have to import them not open. And the rest, like annoying hints on a quarter of the screen, the inability to change anything in the project properties if there are errors, etc. In short, Eclipse didn’t work for me.
I decided to write the code in Geany and build it manually in the terminal. However, there is also IntelliJ IDEA, which is rumoured to support the Android SDK, but I didn’t bother to try it (maybe for nothing).
P.S. By the way, for me the emulator wouldn’t work on the main X server, failing with
XDM authorization key matches an existing client! SDL init failure, reason is: Couldn't open X11 display
I wasn’t in the mood to look into it, so I just ran it on a separate X server.
A few days ago, at the suggestion of a friend, I read “Jonathan Livingston Seagull” by Richard Bach. It’s a wonderful thing, I’m still under the impression.
The weather is not good today. It’s thawing. Everything is melting, it’s damp and foggy. Normally, you would not want to do anything in weather like this, except maybe lie around with a book or watch a film. But no…
Since I did not get any feedback on the new tool in GdalTools for several days, I did some tests myself. After finally making sure that it works, I submitted the patch and wrote to Giuseppe. Since r15135 there is another tool available in GdalTools — gdaltindex.
I’ve slightly improved the symbology import/export patch (I wrote about it a few days ago) and submitted it too. Waiting for feedback now.
Then I started to improve the usability of the import/export dialogue of PostGIS and WMS connections. I decided not to bother with a patch (the changes are not that big) and cheekily committed everything directly to trunk.
I finally went into a frenzy and fixed a long-standing and nasty bug in RasterCalc, extended the set of available comparison operators and started updating the documentation.