2025-11-25 09:59:05 +00:00
|
|
|
# import os
|
|
|
|
|
# import sys
|
2025-11-25 09:39:21 +00:00
|
|
|
|
2025-11-25 09:59:05 +00:00
|
|
|
# QGIS_APP = "/Applications/QGIS-LTR.app/Contents"
|
|
|
|
|
# QGIS_PREFIX = f"{QGIS_APP}/Resources"
|
2025-11-25 09:39:21 +00:00
|
|
|
|
2025-11-25 09:59:05 +00:00
|
|
|
# # ==== FIX VERY IMPORTANT ====
|
|
|
|
|
# os.environ["QGIS_PREFIX_PATH"] = QGIS_PREFIX
|
|
|
|
|
# os.environ["PROJ_LIB"] = f"{QGIS_PREFIX}/proj"
|
|
|
|
|
# os.environ["GDAL_DATA"] = f"{QGIS_PREFIX}/gdal"
|
|
|
|
|
# os.environ["QT_PLUGIN_PATH"] = f"{QGIS_PREFIX}/plugins"
|
|
|
|
|
# # =============================
|
2025-11-25 09:39:21 +00:00
|
|
|
|
2025-11-25 09:59:05 +00:00
|
|
|
# os.environ["QT_QPA_PLATFORM"] = "offscreen"
|
2025-11-25 09:39:21 +00:00
|
|
|
|
2025-11-25 09:59:05 +00:00
|
|
|
# # Python path
|
|
|
|
|
# sys.path.append(f"{QGIS_PREFIX}/python")
|
|
|
|
|
# sys.path.append(f"{QGIS_PREFIX}/python/plugins")
|
2025-11-25 09:39:21 +00:00
|
|
|
|
2025-11-25 09:59:05 +00:00
|
|
|
# from qgis.core import QgsApplication
|
|
|
|
|
# from qgis.analysis import QgsNativeAlgorithms
|
2025-11-25 09:39:21 +00:00
|
|
|
|
2025-11-25 09:59:05 +00:00
|
|
|
# import processing
|
|
|
|
|
# from processing.core.Processing import Processing
|
2025-11-25 09:39:21 +00:00
|
|
|
|
2025-11-25 09:59:05 +00:00
|
|
|
# def start_qgis():
|
|
|
|
|
# qgs = QgsApplication([], False)
|
|
|
|
|
# qgs.initQgis()
|
2025-11-25 09:39:21 +00:00
|
|
|
|
2025-11-25 09:59:05 +00:00
|
|
|
# # === WAJIB: initialize processing ===
|
|
|
|
|
# Processing.initialize()
|
|
|
|
|
# qgs.processingRegistry().addProvider(QgsNativeAlgorithms())
|
2025-11-25 09:39:21 +00:00
|
|
|
|
2025-11-25 09:59:05 +00:00
|
|
|
# return qgs
|
2025-11-25 09:39:21 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-11-25 08:33:38 +00:00
|
|
|
import os
|
|
|
|
|
import sys
|
|
|
|
|
|
2025-11-25 10:06:22 +00:00
|
|
|
# === ENV for QGIS ===
|
2025-11-25 09:51:19 +00:00
|
|
|
os.environ["QGIS_PREFIX_PATH"] = "/usr"
|
|
|
|
|
os.environ["QGIS_HOME"] = "/usr"
|
2025-11-25 08:33:38 +00:00
|
|
|
os.environ["PROJ_LIB"] = "/usr/share/proj"
|
|
|
|
|
os.environ["GDAL_DATA"] = "/usr/share/gdal"
|
2025-11-25 10:06:22 +00:00
|
|
|
os.environ["QT_PLUGIN_PATH"] = "/usr/lib/x86_64-linux-gnu/qt5/plugins"
|
2025-11-25 08:33:38 +00:00
|
|
|
|
2025-11-25 10:06:22 +00:00
|
|
|
# === QGIS Python Modules ===
|
|
|
|
|
sys.path.insert(0, "/usr/share/qgis/python")
|
|
|
|
|
sys.path.insert(0, "/usr/share/qgis/python/plugins")
|
2025-11-25 08:58:08 +00:00
|
|
|
|
2025-11-25 10:06:22 +00:00
|
|
|
sys.path.insert(0, "/usr/lib/python3/dist-packages")
|
|
|
|
|
sys.path.insert(0, "/usr/lib/python3/dist-packages/qgis")
|
|
|
|
|
sys.path.insert(0, "/usr/lib/python3/dist-packages/qgis/plugins")
|
2025-11-25 09:51:19 +00:00
|
|
|
|
2025-11-25 10:06:22 +00:00
|
|
|
# === IMPORTS ===
|
2025-11-25 08:33:38 +00:00
|
|
|
from qgis.core import QgsApplication
|
|
|
|
|
from qgis.analysis import QgsNativeAlgorithms
|
2025-11-25 10:06:22 +00:00
|
|
|
|
|
|
|
|
# processing MUST be importable now
|
2025-11-25 08:33:38 +00:00
|
|
|
import processing
|
|
|
|
|
from processing.core.Processing import Processing
|
|
|
|
|
|
|
|
|
|
def start_qgis():
|
|
|
|
|
qgs = QgsApplication([], False)
|
|
|
|
|
qgs.initQgis()
|
|
|
|
|
Processing.initialize()
|
|
|
|
|
qgs.processingRegistry().addProvider(QgsNativeAlgorithms())
|
2025-11-25 09:39:21 +00:00
|
|
|
return qgs
|