DOLAR 39,9584 0.32%
EURO 47,0584 0.42%
ALTIN 4.199,48-1,30
BITCOIN 42795810.01924%
İstanbul
°

SABAHA KALAN SÜRE

Ubuntu’da PYQGIS nasıl bağımsız komut dosyası olarak kullanılır – dijital coğrafya

ABONE OL
Haziran 28, 2025 16:33
0

BEĞENDİM

ABONE OL

Bugün küçük bir prototip yazmak için QGIS Python Bağlamaları olan PYQGI’leri kullanarak bağımsız bir komut dosyasını bir araya getirmek istedim. Henüz böyle bağımsız bir senaryo yazmamıştım, ama düşük asılı meyve gibi görünüyordu. Görünen o ki, Ubuntu’da gerçekten basit değil. Burada sana nasıl çalıştığını göstereceğim.

Okuma PYQGIS Geliştirici Yemek Kitabı’ndaki ilgili dokümanlarKomut dosyası içindeki QGIS uygulama bağlamını ayarlamak için hızlı bir kopya/yapıştırma işi olacağını varsaydım. Ama şeytan ayrıntılı. Dokümanlar, QGIS’in kaynaklarının kurulduğu yeri kontrol ederek, Master veya benzer bir şey derleyerek QGI’leri kurduğunuzu varsayıyor gibi görünüyor. Ancak qGIS.org Paket Repo’dan önceden oluşturulmuş paketleri kullanıyorum.

Dokümanlara göre burada bir PYQGIS betiğinin en temel biçimini görüyorsunuz. Yalnızca QGIS uygulama örneğini başlatır, başka bir şey yoktur. Ancak çalıştırmadan önce, Python’un ithal QGIS modüllerini bulduğundan emin olmalıyız.

from qgis.core import QgsApplication

# Supply path to qgis install location
QgsApplication.setPrefixPath("/usr/bin/qgis", True)

# Create a reference to the QgsApplication.  Setting the
# second argument to False disables the GUI.
qgs = QgsApplication([], False)

# Load providers
qgs.initQgis()

# Put your pyqgis code here:
print("Success!")

# Finally, exitQgis() is called to remove the
# provider and layer registries from memory
qgs.exitQgis()

Dokümanlar bize Python’a QGIS Python modüllerini nerede bulacağını söylemek için Linux’ta böyle bir şey kullanmamızı söylüyor:

export PYTHONPATH=//share/qgis/python

Ama bu nerede ?

Çevrimiçi olarak herhangi bir doküman veya başka yardım bulamadım, bu yüzden kullandım dpkg-query -L ile yüklenmiş dosyaları bulmak için qgis paket. Görünen o ki, qGIS.org Repo’dan Ubuntu’daki QGI’ler çok sayıda farklı paketten oluşuyor ve ayrıca daha fazla Python bağımlılığı yüklemek için Systems kendi paket yöneticisini düzgün bir şekilde kullanıyor. PYQGIS şeyler de şemaya sığacak şekilde paketlenir ve bu nedenle bağımsız bir python3-qgis Python modüllerini düşüren paket /usr/lib/python3/dist-packages/.

Şimdi, Pythonpath’i kullanarak ayarladığımda

export PYTHONPATH=/usr/lib/python3/dist-packages/

ve komut dosyasını yukarıdan çalıştırın

python my_script.py

Daha fazla alamıyorum ModuleNotFoundError: No module named 'qgis'.

Neyse ki, Dokümanlar’da öngörülen bağlantılı kütüphanelerden herhangi bir hata almıyorum.

En az 10 karakter gerekli


HIZLI YORUM YAP