QGIS Python Interface (iface)¶
რა არის iface?¶
iface არის QgisInterface ობიექტი, რომელიც Python კონსოლში და QGIS პლაგინებში უზრუნველყოფს წვდომას QGIS-ის გრაფიკულ ინტერფეისთან (GUI).
მისი საშუალებით შესაძლებელია:
- შრეების დამატება/წაშლა
- რუკის ხედის მართვა
- მომხმარებლის შეტყობინებების ჩვენება
- პროექტის ფანჯარასთან ურთიერთობა
iface.addVectorLayer()¶
აღწერა¶
iface.addVectorLayer() გამოიყენება ვექტორული შრის დასამატებლად QGIS-ის ინტერფეისში.
სინტაქსი¶
პარამეტრები¶
- path (str) – ფაილის გზა ან მონაცემთა წყაროს URI
- layer_name (str) – სახელი Layers Panel-ში
- provider (str) – მონაცემთა პროვაიდერი (მაგ.:
"ogr","postgres","spatialite","memory")
დაბრუნებული მნიშვნელობა¶
აბრუნებს QgsVectorLayer ობიექტს (ან None, თუ შრე ვერ ჩაიტვირთა).
მაგალითები¶
# Shapefile
iface.addVectorLayer("C:/data/roads.shp", "Roads", "ogr")
# GeoJSON
iface.addVectorLayer("C:/data/buildings.geojson", "Buildings", "ogr")
# PostGIS
uri = "dbname='gisdb' host=localhost port=5432 user='postgres' password='1234' table=\"public\".\"roads\" (geom)"
iface.addVectorLayer(uri, "Roads from PostGIS", "postgres")
ალტერნატივა: QgsVectorLayer + QgsProject¶
layer = QgsVectorLayer("C:/data/roads.shp", "Roads", "ogr")
if layer.isValid():
QgsProject.instance().addMapLayer(layer)
iface-ის სხვა ხშირად გამოყენებული მეთოდები¶
1. რუკის ხედის კონტროლი¶
iface.mapCanvas()– აბრუნებს რუკის Canvas ობიექტსiface.zoomIn()– მასშტაბის გაზრდაiface.zoomOut()– მასშტაბის შემცირებაiface.zoomFull()– სრული_extent-ზე გადასვლაiface.zoomToActiveLayer()– აქტიურ შრეზე გადაზუმვა
2. შრეებთან მუშაობა¶
iface.activeLayer()– აბრუნებს ამჟამინდელ აქტიურ შრესiface.addRasterLayer(path, name)– რასტრული შრის დამატებაiface.legendInterface()(QGIS 2.x) – შრეების კონტროლი (QGIS 3-ში გამოყენებულიაQgsLayerTree)
3. შეტყობინებები და დიალოგები¶
iface.messageBar().pushMessage("Title", "Text")– შეტყობინების ჩვენება Message Bar-შიiface.messageBar().pushWarning("Warning", "Something went wrong")iface.messageBar().pushSuccess("Success", "Operation completed")
4. GUI ფანჯრები და პანელები¶
iface.mainWindow()– აბრუნებს QGIS-ის მთავარ ფანჯარას (QMainWindow ობიექტი)iface.layerTreeView()– აბრუნებს შრეების ხის ვიზუალსiface.newProject()– ქმნის ახალ ცარიელ პროექტს
5. კურსორის პოზიცია¶
iface.mapCanvas().mouseLastXY()– ბოლო კურსორის კოორდინატები Canvas-ზეiface.mapCanvas().extent()– ამჟამინდელი extent
სად გამოიყენება iface¶
- QGIS Python Console – პირდაპირი სკრიპტების გასაშვებად
- QGIS Plugins – GUI-ზე რეაგირებისთვის და შრეების სამართავად
- სასწავლო მაგალითებში – სტუდენტებისთვის QGIS API-ის გაცნობისას
✍️ რეზიუმე¶
iface= QgisInterface, რომელიც აკავშირებს Python-სა და QGIS ინტერფეისს.iface.addVectorLayer()ამატებს ვექტორულ შრეს GUI-ში.iface-ში ასევე შედის რუკის მართვა, შეტყობინებების ჩვენება, შრეების კონტროლი და პროექტის ფანჯარასთან წვდომა.- სასწავლო პროცესში
ifaceსაშუალებას აძლევს სტუდენტებს ინტერაქტიულად მართონ QGIS Python Console-იდან.