MangoMap, a cloud platform where users can create and share web accessible maps, is running an excellent weekly video tutorial series on QGIS. Now in its third week, the introductory course has so far covered the QGIS interface, Creating a Basic Map and Custom Labelling. Each tutorial video comes with an exercise data download and videos can be downloaded and shared with those who don’t have internet access.
The next release of QGIS will have multithreaded map rendering, a feature initially added to QGIS Enterprise in late 2013, a customised version of QGIS provided by the Swiss consultancy firm Sourcepole. The code providing multithreaded rendering is now part of the unstable development branch of QGIS, which is now undergoing testing. So what is multithreaded map rendering and does it mean for QGIS?
All modern desktop computers have multicore CPUs, with 4 to 8 processing cores on a single CPU die. In theory, multicore CPUs allow computer code to run in parallel on each processor core resulting in a considerable speed advantage. However, standard computer code does not take advantage of extra processing cores, so called single-threaded code uses one core at a time.
This is because multithreaded computer code has to be explicitly written and compiled in order to take full advantage of modern multicore CPUs. This is no easy task and multithreaded applications remain comparatively rare, generally limited to multimedia, games and computer graphics applications that require CPU intensive calculations.
Computer scientist Martin Dobias, who is adding multithreaded rendering to QGIS explained in a recent interview that the development version of QGIS was initially quite unstable, it often slowed down or even crashed because more than one processor core attempted to access the same data at the same time. In order for multithreaded rendering to work it was necessary to get the CPU cores to work cooperatively rather than competitively.
The current version of QGIS, 2.2 Valmiera, is single threaded. It uses one CPU core when redrawing the map window or when a menus are selected, it cannot multitask within its own application. This typically causes QGIS to become unresponsive while a map redraws when one zooms or pans. This is especially true for large data sets.
However, as seen in the demo video below, the development branch of QGIS 2.3 now has stable multithreaded map rendering. There is a considerable increase in map rendering speed but also significantly, the interface of QGIS remains fully responsive. Furthermore, the already impressive responsiveness will grow proportionate the number of CPUs and cores provided. Imagine QGIS 2.4 running on a modern dual CPU Xeon workstation, with up to 24 CPU cores and 48 processor threads. This is just a taste of what to expect in QGIS 2.4 which is due for release on the 20th of June.
Note: This article was edited to include the recent interview of Martin Dobias by Tim Sutton.
Tim Sutton of Linfiniti Consulting, a lead developer of QGIS, recently started The QGIS Podcast. Now in it’s 6th instalment, The QGIS Podcast gives an exciting insight into the current developments and future plans for QGIS and related open source GIS projects.
In the latest episode Tim interviews Paul Ramsey. Paul is a key developer of PostGIS, an enterprise grade geospatial extension for the free and open source PostgreSQL database management system. This extension allows the database to store, manipulate and query shapefile and raster spatial data.
Paul cited two interesting examples where PostgreSQL/PostGIS is used enterprise environments; the Institut Géographique National (the French national mapping agency) and the British Ordnance Survey. The British Ordnance Survey stores it’s master map of half a billion records in a PostgreSQL/PostGIS database. Subscribers can access the master map via the Ordnance Survey’s OnDemand web service.
Dublin’s geospatial data sharing portal, Dublinked, announced a data visualisation competition as part of the Dublinked Innovation Network’s second Data Visualisation event, that was held in NUI Maynooth in March 2014.
The challenge is quite simple, to create a data visualisation (static or interactive) using data from the Dublinked Datastore.
The closing date 12 Noon Wednesday 7th May 2014.