35 lines
987 B
Python
35 lines
987 B
Python
import os
|
|
import sys
|
|
|
|
# QGIS environment
|
|
os.environ["QGIS_PREFIX_PATH"] = "/usr"
|
|
os.environ["QGIS_HOME"] = "/usr"
|
|
|
|
os.environ["PROJ_LIB"] = "/usr/share/proj"
|
|
os.environ["GDAL_DATA"] = "/usr/share/gdal"
|
|
os.environ["QT_PLUGIN_PATH"] = "/usr/lib/x86_64-linux-gnu/qt5/plugins"
|
|
|
|
os.environ["QT_QPA_PLATFORM"] = "offscreen"
|
|
|
|
# QGIS Python plugins (THIS IS THE MISSING PART)
|
|
sys.path.append("/usr/share/qgis/python")
|
|
sys.path.append("/usr/share/qgis/python/plugins")
|
|
|
|
# Python modules (from system)
|
|
sys.path.append("/usr/lib/python3/dist-packages")
|
|
sys.path.append("/usr/lib/python3/dist-packages/qgis")
|
|
|
|
|
|
from qgis.core import QgsApplication, QgsProviderRegistry
|
|
from qgis.analysis import QgsNativeAlgorithms
|
|
import processing
|
|
from processing.core.Processing import Processing
|
|
|
|
def start_qgis():
|
|
qgs = QgsApplication([], False)
|
|
qgs.initQgis()
|
|
Processing.initialize()
|
|
QgsProviderRegistry.instance()
|
|
qgs.processingRegistry().addProvider(QgsNativeAlgorithms())
|
|
return qgs
|