Calculating intersects for map layers and map extent dynamically in QGIS
Recently we have been working on a project that involves simulating the 1 in 50k topographic maps in South Africa. Since we are using QGIS Server to print the map all the logic is set up in print composer. All maps generated are dynamic (users can select a specific area within South Africa to print) and QGIS Server will use the map template to generate the map.
FOSS4G 2019 and QGIS in Bucharest
Open source GIS is alive and well and continues to grow in leaps and bounds around the world. Why so many Government entities in South Africa continue paying a fortune of tax-payers money for privative GIS and database software beats me, when wealthy, developed countries (as in most of Europe, for example) saw the light years ago and enthusiastically embrace FOSS.
Batch count vector features intersecting series of blocks in PostgreSQL
The national mapping agency in South Africa (NGI ) caters for national mapping, digital topographic and other Geo-Spatial Information services. The department is mandated to provide spatial data for the whole country. In most cases, they have an in-house team that is responsible for digitizing aerial photography, field validation to produce vector data that is used to make 1:50 000 topographic maps.
Show only features within current Atlas feature - QGIS 3
In our endless endeavour to spread QGIS, I was invited to conduct QGIS training at the Surveyor General Department in Swaziland.
Creating a live, topic specific mirror of OpenStreetMap in PostGIS
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):
FBIS 2 Launch Workshop
Mounting a storage drive in hetzener cloud for rancher deployments
This article builds upon an earlier blog post by Tim Sutton on using-a-sambacifs-mount-as-a-docker-volume. In the previous article, Tim described the process of mounting a storage driver in detail.
How to make beautiful lollipop call out labels in QGIS
Call out labels are a handy cartographic instrument for attaching labels to features on the map where you want the label to be offset from the feature being labelled. It allows you to prevent the map becoming overcrowded. I call the variant I describe here 'lollipop' labels because the 'callout line' is rendered with a decorative ball at the end.
Using NOTIFY to automatically refresh layers in QGIS
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:
How to easily add South African and Namibian toposheets as XYZ tiles to QGIS
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:
Year in Review: 2018
It’s been another awesome year for our Team. We have come a long way since establishing Kartoza in 2014, building many different software products, making friends and working with existing and new clients. Forming a company around an open source friendly business model presents many challenges but is also extremely rewarding. Here is our 2018 year end review that we would like to share with you!
Adding elevation to a line from a DEM in PostGIS and maintaining accurate measures
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.
How to create a point distance marker layer along a line in PostGIS
This is part 1 of a 3-part series.
Setting up geogig in a production environment
GIS practitioners and developers have long been interested in versioning spatial data. Luckily the folk at LocationTech have enabled us to do so through the provision of GeoGig (formerly geogit). Moreover, Geogig can interact with GeoServer seamlessly. At Kartoza we use Docker for orchestration of our services and as such it will form the backbone of this article.
How to Setup SSL on Nginx Using LetsEncrypt
Another doc about SSL? Maybe... We are writing this to explain our trial and error on setup SSL on the servers. You might have read somewhere about setting up SSL (so have we, and it's painful).
Our blog is based on hands-on experience and hopefully you can learn something from it.
QGIS, InaSAFE, OpenStreetMap, and GeoNode in Understanding Risk 2018
Using a SAMBA/CIFS mount as a docker volume
I preface this article by saying that what I am showing here is probably not best practice and you should test to see if it works reliably for you before taking this route. I should also mention that this is a hacky approach because it breaks our ‘never log on to a server’ rule, so it is not a long-term solution - it is a short-term hack until Hetzner adds a cloud storage offering to their cloud platform.
Some QGIS 3 Browser Improvements - Small Things Matter
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.
An intern's perspective on her working experience at Kartoza during the summer vacation
As a leading Open Source GIS company, Kartoza aims to introduce people and organisations to the world of Open Source GIS in South Africa. The majority of educational institutions in South Africa still teach students GIS and Remote Sensing using proprietary software. During the last few years, there has been a steady increase in institutions migrating to using Open Source GIS systems.
Kartoza is always on the lookout for young and talented students to enroll them in our vacation work or internship program with a possibility of employment. The following story is the experience from our most recent intern, Natalia Dambe, a Master's Student at the University of Cape Town. In her words:
A new plugin to manage land (survey) parcels in QGIS
Kartoza releases the CoGo Plugin for 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).