Viewing posts for the category QGIS
In our endless endeavour to spread QGIS, I was invited to conduct QGIS training at the Surveyor General Department in Swaziland.
In this article, we will do a walk-through of creating a live mirror of OSM for a specific country or region and for a specific set of OSM features. For this example, we will fetch all building data for Angola into a PostGIS database, and update that database with new features as they arrive in OSM. Providing an OSM mirror in this way is a powerful tool to pair the power of OSM with the power of QGIS and PostGIS. Now you will be able to do offline analysis of the data in OSM. How does this all work? Here is a little diagram that illustrates the underlying architecture (click for a larger version):
make_point( "auxiliary_storage_labeling_positionx" , "auxiliary_storage_labeling_positiony" )),
make_point( "auxiliary_storage_labeling_positionx" , "auxiliary_storage_labeling_positiony" )
One of the most brilliant but little-known features of QGIS is the ability to trigger layer refreshes and events in response to notifications from PostgreSQL. This was developed by the wizards from Oslandia and is easily added to any existing table in your PostgreSQL database - including PostGIS tables. This feature was added in version 3.0 (see https://qgis.org/en/site/forusers/visualchangelog30/#feature-trigger-layer-refresh-or-layer-actions-from-postgresql-notify-signal). Take for example this simple table:
Thanks to the great work of Grant Slater and the OpenStreetmap team, there are freely available XYZ tilesets for South Africa and Namibia 1:50 000 series toposheets which can easily be added to QGIS. Here is the general procedure to add a layer:
This is the second in a three part series on the behind-the-scenes GIS work that can go into planning a complex event, in this case the Cape Town Marathon.
This is part 1 of a 3-part series.
Well, QGIS 3 has been out for a couple of weeks now with lots of new functionality. While you are still feeling your way around all the new features I thought I could highlight some of the improvements to the browser panel that will make you fall further in love with QGIS.
Kartoza recently published the CoGo Plugin (aka Parcel Plugin) in the QGIS plugin repository. This plugin expands the group of plugins designed to manage SDI (Spatial Data Infrastructure). CoGo ('coordinate geometry') refers to its ability to handle both types of coordinates used in land surveying, namely cartesian coordinates (x,y; long/lat) and polar coordinates (bearing and distance).
I have been playing around with roads layers and wanted to change the line directions for some of my features. I looked around for solutions to do this in QGIS and saw that I could use the swap vector direction plugin in QGIS or ST_reverse in PostgreSQL. But I wanted to find a non destructive way to do this as I did not want to alter my data. I decided to try the geometry generator in QGIS.
If you are using QGIS 3 master builds on MacOS and encounter issues with the display of processing dialog layouts like this:
If you need to create a reference grid like this for your map, here's a simple method.
I finally have some time to sit down and write up some thoughts on the QGIS User Conference and Developer Meeting (aka Hackfest) that we just held in Nødebo, Denmark. First up I need to thank Lene Fischer, who was the organiser and wowed us all with her relaxed and competent organisational approach to the conference. Thanks also to the University of Copenhagen School of Forestry - they sponsored the event by providing the venue and accommodation - and the venue was absolutely awesome with little cottages in the forest and all sorts of interesting diversions scattered around the forest. Lene gave me a list of names of people who helped to organise the event - I am sorry I have only got your first names but a very big thank you to you all!
Ok so here is the scenario:
Someone wrote to me asking if it would be possible to generate an XYZ ASCII file from a single band raster layer in QGIS. No doubt there are more efficient ways (this approach is pretty slow but it works), but I thought it would be fun to show how you can iterate over a raster, writing out the value of each cell into a text file (along with the centroid coordinates for that cell).
Sometimes you want to automatically generate a report to reflect the latest state of your data. For example you may be capturing spatial data into a PostGIS database and want a snapshot of that every few hours expressed as a pdf report. This example shows you how you can quickly generate a pdf based on a QGIS project (.qgs file) and a QGIS template (.qpt file).
Kartoza has just wrapped up a three-day Introduction to QGIS course that we gave pro bono at The African Quaternary: Environments, Ecology and Humans conference in Cape Town (AfQUA2015). Thank you to Kelly Kirsten from the local organising committee at the University of Cape Town for inviting us. Admire Nyakudya presented to about fifteen conference delegates from around the world. Attendees ran QGIS 2.6.1 on their own notebooks on the operating system of their choice. Some already use QGIS, some were experiencing QGIS for the first time and some some wanted to compare it with ArcGIS. The course content was guided largely by the QGIS training manual but as we usually do, adapted for the requirements, interests and pace of the class.
Today in a project we are working on we wanted to load a QGIS project. It takes surprisingly few lines of code to make a small standalone application that loads a project and then shows it as a map in a window like this:
Today we wanted to find all the multipart features in this layer: