31 lines
771 B
Python
31 lines
771 B
Python
# utils/qgis_init.py
|
|
import os
|
|
import sys
|
|
|
|
# Lokasi instalasi QGIS di Linux (Ubuntu / Debian)
|
|
QGIS_PREFIX = "/usr"
|
|
|
|
# Path modul Python QGIS
|
|
sys.path.append("/usr/share/qgis/python")
|
|
|
|
# Environment variable agar QGIS dapat berjalan headless (tanpa GUI)
|
|
os.environ["QGIS_PREFIX_PATH"] = QGIS_PREFIX
|
|
os.environ["QT_QPA_PLATFORM"] = "offscreen"
|
|
|
|
from qgis.core import QgsApplication
|
|
from qgis.analysis import QgsNativeAlgorithms
|
|
import processing
|
|
from processing.core.Processing import Processing
|
|
|
|
|
|
def init_qgis():
|
|
qgs = QgsApplication([], False)
|
|
qgs.initQgis()
|
|
|
|
# Register QGIS processing provider
|
|
Processing.initialize()
|
|
QgsApplication.processingRegistry().addProvider(QgsNativeAlgorithms())
|
|
|
|
print("QGIS initialized successfully")
|
|
return qgs
|