Tvorba vlastních aplikací postavených na knihovnách QGIS¶
Některé procesy je výhodné vykonávat automatizovaně, místo množství ruční práce. Na našich kurzech se snažíme tento přístup propagovat a nebude překvapením, že je možné vedle nástrojů pro práci s prostorovými daty typu Fiona, RasterIO nebo GDAL, můžeme využít i knihovny QGIS.
Základem je modul qgis.core, který je potřeba pro většinu úkolů spojených se zpracováním dat. Ale pomocí knihoven QGIS lze také celkem jednoduše vytvořit vlastní aplikaci s kompletním grafickým rozhraním, a to pomocí modulu qgis.gui, který zpřístupňuje různá části grafického rozhraní, jako je canvas pro vykreslení mapy, ale i další.
Základní kostra projektu¶
Pro to, aby šlo využít knihovny QGIS, je potřeba trochu režie při inicializaci projektu i při jeho ukončení:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #!/usr/bin/env python3
# Minimalistický skript, který inicializuje knihovny QGIS a připraví je k
# použití
from qgis.core import *
# Nejprve musíme nastavit cestu k instalaci QGIS
QgsApplication.setPrefixPath("/usr/local/", True)
# vytvoříme instanci aplikace QGIS. Druhý argument nastavuje, jestli se bude
# jednat o aplikaci využívající grafické rozhraní nebo ne
qgs = QgsApplication([], False)
# načtení poskytovatelů dat
qgs.initQgis()
#
# Na toto místo přijde vlastní kód aplikace, využívající knihovnu QGIS
#
# Na konci programu je potřeba zavolat exitQgis(), aby došlo k odregistrovaná
# poskytovatelů dat a vymazání vrstev z paměti počítače
qgs.exitQgis()
|
Po nastavení práv pro spuštění souboru chmod 755 standalone.py můžeme program spustit a nechat proběhnout.
Note
Pravděpodobně bude potřeba ještě nastavit správnou proměnnou
PYTHONPATH s cestou k instalaci QGIS knihoven pro Python.