import os import sys # ==== Linux QGIS installation prefix ==== QGIS_PREFIX = "/usr" # QGIS Environment os.environ["QGIS_PREFIX_PATH"] = QGIS_PREFIX os.environ["QGIS_HOME"] = QGIS_PREFIX # GDAL + PROJ os.environ["PROJ_LIB"] = "/usr/share/proj" os.environ["GDAL_DATA"] = "/usr/share/gdal" # QT plugin path (Umum untuk Ubuntu/Debian) os.environ["QT_PLUGIN_PATH"] = "/usr/lib/x86_64-linux-gnu/qt5/plugins" # Put QGIS bin into PATH os.environ["PATH"] = "/usr/bin:" + os.environ.get("PATH", "") # Python path milik QGIS (WAJIB ditambahkan SEBELUM import processing) QGIS_PYTHON_PATHS = [ "/usr/lib/python3/dist-packages", "/usr/lib/python3/dist-packages/qgis", "/usr/lib/python3/dist-packages/qgis/plugins", "/usr/lib/qgis", "/usr/lib/qgis/plugins", "/usr/lib/python3/dist-packages/PyQt5", ] for p in QGIS_PYTHON_PATHS: if p not in sys.path: sys.path.insert(0, p) # Setelah sys.path benar → Baru import QGIS & Processing from qgis.core import QgsApplication from qgis.analysis import QgsNativeAlgorithms import processing from processing.core.Processing import Processing def start_qgis(): qgs = QgsApplication([], False) qgs.initQgis() Processing.initialize() qgs.processingRegistry().addProvider(QgsNativeAlgorithms()) return qgs