Veel

Kuidas QGIS -is klõpsuga punkti funktsioone vaadata

Kuidas QGIS -is klõpsuga punkti funktsioone vaadata


Arendan QGIS-i jaoks pistikprogrammi. Loon QtCreatori abil isikupärastatud redigeerimise vormi. Vorm on järgmisel pildil

Ma loen csv -faili ja nupule OK klõpsates kuvatakse soovitud punktidega kiht

Minu eesmärk: Kui klõpsan nupul "VALI PUNKT", tahan joonistada punkti atribuutidega graafiku. Ma näen seda koodi

klassi nimivorm: "" "QGIS -i pistikprogrammi juurutamine." "" def __init __ (ise, iface): self.iface = iface self.dlg.pushButtonContour.clicked.connect (self.open_contour) self.canvas = self.iface.mapCanvas ( ) def open_graph (ise): self.pointEmitter = QgsMapToolEmitPoint (self.iface.mapCanvas ()) QObject.connect (self.pointEmitter, SIGNAL ("canvasClicked (const QgsPoint, Qt :: MouseButton)"), self.selectNow) ise .iface.mapCanvas (). setMapTool (self.pointEmitter) def selectNow (ise, punkt, nupp): layer = self.iface.activeLayer () kui mitte kiht või layer.type ()! = QgsMapLayer.VectorLayer: QMessageBox.warning (Puudub, "Ei!", "Vali vektorikiht") return width = self.iface.mapCanvas (). MapUnitsPerPixel () * 2 rect = QgsRectangle (point.x () - width, point.y () - width , punkt.x () + laius, punkt.y () + laius) rect = self.iface.mapCanvas (). mapRenderer (). mapToLayerCoordinates (layer, rect) layer.select ([], rect) feat = QgsFeature ( ) ids = [] samas layer.nextFeature (feat): ids.append (feat.id ()) layer.setSelectedFeatures ( id)

Aga mul on viga. Kui klõpsan valitud punkti ja valin punkti, annab see vea

TypeError: argumendid ei vastanud ühelegi ülekoormatud kõnele: QgsVectorLayer.select (QgsRectangle, bool): argument 1 sisaldab ootamatut tüüpi 'list' QgsVectorLayer.select (int): argument 1 sisaldab ootamatut tüüpi 'list' QgsVectorLayer.select (tundmatu-tüüp) : liiga palju argumente