Institutional, centralized QGIS installation/configuration (

QGIS more and more get’s to be installed ‘organisation wide’ by Windows Administrators (eg using SCCM, now Microsoft Endpoint Configuration Manager ), instead of personal installations by the GIS-people on their personal machines.

I get more and more questions about this (eg here)

So a short post about this. The good thing is that peeps from the QGIS user group Germany wrote a (also in english translated) page with A LOT of information and tips about how to do this. So I’m not going to copy that.

So for everybody wondering how to install QGIS with standard configuration or plugins:
READ . Thanks!

If you wonder about the loading order etc of all those settings, have a look into the code around here

Python development with PyCharm

Another pointing to… if you develop Python Plugins, and use PyCharm as IDE, read: about how to setup your IDE properly so PyCharm finds all QGIS and PyQt functions. Thanks Tudor!

Testing QGIS fixes on Windows

And as I am now crosslinking away, have a look at:
It shows the example about somebody having an issue, being fixed, and then being able to immediately test AND use the fix. By downloading that precise fixed QGIS. Very nice if you really really need that fix for your work TODAY. Disclaimer: in those QGIS applications NOT everybody is working (most notably Python stuff), it is not a full QGIS build like the ‘nightly builds’. Which are full installations of current development branch.

Happy QGIS-ing

Versie 3.5.0 van de PDOKServicesPlugin

OK, this is a short post to let the dutchies know there is a new version 3.5.0 of the PDOKServicesPlugin to load some of our national data as WMS, WFS or WCS.
For example: the GeoMorphological map of The Netherlands, or the data of the accidents that happened from 2008 till 2018. Here combined in one scary map of my surroundings:screenshot-20200619162849-1086x634 Read More

Select by location: hoe zit dat met die opties?

Currently, there’s around 20 persons in Bucharest working on QGIS development during the Contributors Meeting. And because the name of the hackfest is changed from developers meeting to contributors meeting, I now feel welcome too (as a non-coding contributor).
So what can I do, as a non-coding QGIS fan? Write documentation! I just started with some documentation that I really thought should be better. I even used it as a (bad) example in a presentation at the FOSS4GNL, titled “what we can learn from esri”. And Iselectbylocation_operators

Read More

(English) Proj: Select Datum Transformations for EPSG:28992

If you startup QGIS 3.8 / Zanzibar the first time to load a data in our national CRS (EPSG:28992) you are being presented with the following dialog:
I thought it had something todo with the fact that this OSGeo4W install maybe used the newer PROJ (6.0.1), but the About box of QGIS shows:
Compiled against PROJ5.2.0
Running against PROJ Rel. 5.2.0, September 15th, 2018

Checking my older version of QGIS I found the proj/Transformation string used there was:
Proj4: +proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel +towgs84=565.2369,50.0087,465.658,-0.406857,0.350733,-1.87035,4.0812 +units=m +no_defs
The first item in the dialog looks most like it…
Strange thing is that the first item is colored GREEN, so it looks like that is the preferred or current one?
But reading the information (from PROJ), you see:
EPSG Transformation Code: 15934
Source CRS: Amersfoort
Destination CRS: WGS 84
Remarks: Parameter values from Amersfoort to ETRS89(3) (tfm code 15739) assuming that ETRS89 is equivalent to QGS84 withing the accuracy of the transformation.
Replaces Amersfoort to WGS 84 (2) (code 1672)
Replaced by Amersfoort to WGS 84 (4) (tfm code 4833)

EPSG Transformation Code: 1112
Source CRS: Amersfoort
Destination CRS: WGS 84
Remarks: Replaced by Amersfoort to WGS84 (2) (code 1672).

EPSG Transformation Code: 1672
Source CRS: Amersfoort
Destination CRS: WGS 84
Remarks: Parameter values from Amersfoort to ETRS89(1) (code 1751) assuming that ETRS89 is equivalent to WGS84 within the accuracy of the transformation. Replaces Amersfoort to WGS84 (1) (code 1112). Replaced by Amersfoort to WGS84 (3) (code 15934).

EPSG Transformation Code: 4833
Source CRS: Amersfoort
Destination CRS: WGS 84
Remarks: Parameter values from Amersfoort to ETRS89(5) (tfm code 4830) assuming that ETRS89 is equivalent to WGS84 within the accuracy of the transformation.
Replaces Amersfoort to WGS84 (3) (code 15934).

So my preliminary conclusion now is: do not use the GREEN (top) one, but the last one, as that states: Replaces Amersfoort to WGS84 (3) (code 15934)..
Ok, Nyall answered my question on the mailing list.
It appears that the transformations QGIS used earlier was a little messy, and he advices lo look into QGIS with proj6. Funny thing is then you are shown just 2 options (again the first one green). I’ll have to compile projinfo to see what that gives…
Anybody better information or reasoning?

(English) QGISnetworklogger plugin or what are QGIS and my service talking about…

Just released a ‘new’ plugin:
QGIS Network Logger, install via the plugin manager of QGIS version 3.6 or higher (
One of the things QGIS is pretty good in is talking to OGC services (WebMapService/WMS, WebFeatureService/WFS etc etc), QGIS even talks to Esri web services.
Something what was hard in this, is that if you are an average Windows user of QGIS, with a build without debug information, you were never able to see WHAT exactly QGIS was talking about with the server…
So when QGIS fails to show something on your map, it was not always clear if it was a data problem, a QGIS problem or ( very often 🙂 ) a service issue.
With this plugin, made possible by work of several core-devs in QGIS 3.6 or more, you can ‘justs’ see all the GET/POST/PUT/DELETE requests that QGIS is firing off to the servers. If you are a WebDeveloper: it even listens to F12 (for others: that is the key to show the web-console in most browsers, which also show you internal information of traffic and web pages).
There is a lot to see:
Information and context menu
You see all url’s being fired, the HTTP Operation, status, query, headers from Request and Reply and data/content from the Request etc etc.
You can even ‘replay’ or try out a request in your browser or terminal, by using the context menu on a url:
In this example you can see that you can copy a request as a CURL ( command to fetch the data or image again.
OR if it is a GET url, you can just open it in your default browser.
The work was able because in QGIS 3.6 Nyall et al. changed some code, so it was easier to ‘listen’ to all the requests that QgsNetworkManager is doing. So this plugin just listens to the requests and show them in the window.
So as long as the provider (or plugin) is using the QgsNetworkManager interface to connect to online services, you will see the requests flying by in the logger window. I hope this is an argument for plugin builders to not use Requests anymore ;-), but stick to our own network machinery.
As said: this would not have been possible without help of Nyall and Alessandro. Nyall also helped with the treeview in my first rudimentary version.
That treeview also costs me some hair though. Because of the asynchrounous nature of the web, AND the fact that you can filter the requests, I bumped in all kind of threading issues…. The tree(view) is being filled, sorted, changed, updated etc etc so fast, that I suffered a lot of crashes… BUT I think I managed to make it stable now.
If not: let me know:
Also if you want to pick up one of the Feature Requests we already have 🙂
Happy QGISsing.