QGIS

QGIS is a professional GIS application that is built on top of and proud to be itself Free and Open Source Software (FOSS)

qgis.org

Documentation

Plugins

Visit QGIS plugins web portal.

Name

Details

OGR2Layers

QuickMapServices

Qgis2threejs

mmqgis

Plugin reloader

Plugin builder

How-to create a QGIS plugin

  • Steps

    • Download osgeo4w (doesn't work... seems not needed), QtCreator (offline-installer)

    • Install QGIS plugins (extensions): Plugin Builder, Plugin Reloader (experimental)

    • Look at C:\Users\username\.qgis2\python\plugins, this is where plugins are loaded

    • Edit the file C:\Program Files\QGIS 2.18\bin\o4w_env.bat and add C:\Qt\Qt5.10.1\Tools\mingw530_32\bin to SET PATH commmand line, then open a dos window.

    • Install MinGW

    cd C:\Qt\Qt5.10.1\Tools\mingw530_32\bin
    copy mingw32-make.exe make.exe
    • In Windows, search for "OSGeo4W Shell", open the application.

    cd C:\Users\bertrand.thomas\.qgis2\python\plugins\MyPluginName
    make
    REM pyrcc4 -o resources.py  resources.qrc
    • Think about reload the plugin repository when the plugin directory is directly updated!

QGIS in Docker

How-to run QGIS container on Windows 10

  • First you need to install an X server, XMingin our case (download from sourceforge.net.

  • Create a docker-compose.yml file:

    db:
      image: kartoza/postgis:latest
      environment:
        - USERNAME=docker
        - PASS=docker
    
    qgisdesktop:
      image: kartoza/qgis-desktop:latest
      hostname: qgis-server
      volumes:
        # Wherever you want to mount your data from
        # TODO
        # Unix socket for X11
        - C:\Users\bertrand.thomas\.X11-unix:/tmp/.X11-unix
      links:
        - db:db
      environment:
        - DISPLAY=192.168.1.48:0
      command: qgis
  • Edit C:\Program Files (x86)\Xming\X0.hosts to add the IP address (192.168.1.48)

  • Execute from the command line (in the directory where the docker-compose file has been created):

    docker-compose up
  • From QGIS you can add PostgreSQL DB access, you'll need to get the DB IP address

    docker inspect kartoza_db_1

It works!

References:

TODO:

  • Update docker compose file to

    • Fix QGIS version 2.18.17

    • Fix PostgreSQL version 9.6.7

    • Install Python (2.7)

    • Fix file errors in the console (missing mapping)

Last updated