Blog

Here I post my thoughts, QGIS tips and tricks, updates on my QGIS-related work, etc.

QGIS mapserver

20.08.2010 15:17 ·  GIS  ·  qgis

Marco Hugentobler wants to merge his project, QGIS mapserver, into the QGIS source code.

QGIS mapserver is an open source WMS server that runs on Linux, Windows and Mac OS X (other Unix-like systems should also be supported, but have not been tested). The server is a FastCGI application written in C++. It uses QGIS libraries for rendering and GIS operations.

Among the main features:

QGIS 1.5 "Tethys"

06.08.2010 10:30 ·  Notes, GIS  ·  qgis, release

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.

Going on vacations

26.07.2010 15:01 ·  Notes  ·  vacations

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.

Table joins in QGIS

22.07.2010 14:44 ·  GIS  ·  qgis

Marco Hugentobler has implemented initial support for table joins in QGIS. If you want to try out the new functionality, you can get the source code from the new branch of the repository

svn co https://svn.osgeo.org/qgis/branches/table_join_branch table_join

and build it.

To join a table to a layer’s attribute table, you need:

As this feature is still in the early stages of development, there are some issues:

Geographic coordinates to raster (row, column) coordinates

21.07.2010 15:37 ·  GIS  ·  qgis, python, howto

I have noticed that recently many people have asked how to get image coordinates (row, column) from real world coordinates (latitude/longitude). The following code shows how to do this in the QGIS Python console:

import math # needed for floor() function
iface = qgis.utils.iface
# let's assume that raster is a current layer
layer = iface.mapCanvas().currentLayer()
# geographic coordinates
x = 75.0791666
y = 57.2541666
extent = layer.extent()
width = layer.width()
height = layer.height()
# raster resolution (pixel size)
xres = (extent.xMaximum() - extent.xMinimum()) / width
yres = (extent.yMaximum() - extent.yMinimum()) / height
# calculate raster coordinates (row and column)
col = int(math.floor((x - extent.xMinimum()) / xres))
row = int(math.floor((extent.yMaximum() - y) / yres))

Nothing complicated or fancy. The same code can be used in plugin with minimal changes.

GdalTools — QGIS plugin for raster data processing

06.06.2010 13:07 ·  GIS  ·  qgis, plugins, gdaltools

GdalTools (or Raster Tools) is a plugin for the open source GIS QGIS. The main purpose of the plugin is to simplify the use of the GDAL command line utilities by providing the user with a graphical interface for the most common operations.

Initially, the plugin was developed by Faunalia, later other developers, including myself, joined them. Robert Szczepanek created nice icons for most of the tools, and the development of some features was sponsored by Silvio Grosso.

At the time of the first announcement (September 2009), the plugin provided only two tools: gdalbuildvrt and gdal_contour. Now the number of integrated tools is approaching 20.

Read more ››

Nature by Numbers

13.05.2010 14:49 ·  Notes  ·  video

I really liked it, cool video.

For those interested, there’s a theoretical part.

New ISP

07.05.2010 16:41 ·  Notes  ·  life

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
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.

Working with vectors using GDAL and Python

15.04.2010 09:55 ·  GIS  ·  gdal, python, howto

GDAL is a free library for working with raster and vector data, OGR is a part of the GDAL and is used to work with vector data. The command line utilities included in the library are widely used to perform a variety of tasks. Thanks to the developed API, you can work with OGR functions from many programming languages. This article is dedicated to using the OGR API in Python and is based on the GDAL Vector API Tutorial.

Read more ››

Current activities and plans

14.04.2010 13:25 ·  Notes  ·  life

There has been less work lately, and I have more free time to spend on interesting and useful things.

I have resumed work on GdalTools, but the frequency and number of commits are not as high as before. Mostly small improvements and bugfixes.

From time to time, I fix bugs in my own and other people’s QGIS plugins. I also write articles and notes, not often and not very long, but still. If someone had told me 5-10 years ago that I would be writing articles, I would not have believed them. But here we are.

I’m involved in polishing and improving fTools, which is where my more or less active participation in the life of the QGIS project began: just today I submitted three more patches and picked up a few more bugs to fix.

I plan to get my hands on Ubuntu (and thus Debian) and the process of creating a LiveCD, because I want to participate in the creation of a localised (Ukrainian and Russian) version of Arramagong — LiveCD/DVD for GIS specialists.

And with the possibility that QGIS will eventually migrate from Subversion to Git, it’s a good idea to improve my skills with that version control system.