Example #1
0
    def batchExportAsXls(self, layer, Wb):
        features = layer.selectedFeatures()

        mapTool = QgsMapTool(self.iface.mapCanvas())
        FieldName = self.dlg.fieldCombo.currentField()

        for feature in features:
            title = feature[FieldName]
            if not title:
                title = 'profile'
            sh = Wb.add_sheet(str(title))
            self.profiles = list()
            pointstoDraw = list()

            # Get feature geometry
            first_segment = True
            if first_segment:
                k = 0
                first_segment = False
            else:
                k = 1
            while not feature.geometry().vertexAt(k) == QgsPoint(0, 0):
                point2 = mapTool.toMapCoordinates(
                    layer, QgsPoint(feature.geometry().vertexAt(k)))
                pointstoDraw += [[point2.x(), point2.y()]]
                k += 1
            self.updateProfile(pointstoDraw, mapTool, False)
            if self.profiles:
                plotTool().exportToXls(self.profiles, sh, title)
                plotTool().clearData(self.dlg.plotWidget, self.profiles)
                self.dlg.activeLayerList.clear()
Example #2
0
 def selectAnnotation(self):
     self.rb.reset(QgsWkbTypes.PolygonGeometry)
     self.rb.setColor(QColor(0, 0, 255, 128))
     for item in self.annotationList.selectedItems():
         index = self.annotationList.row(item)
         mapTool = QgsMapTool(self.iface.mapCanvas())
         point = mapTool.toCanvasCoordinates(
             self.annotationManager.annotations()[index].mapPosition())
         pt1 = mapTool.toMapCoordinates(
             QPoint(point.x() - 10,
                    point.y() - 10))
         pt2 = mapTool.toMapCoordinates(
             QPoint(point.x() + 10,
                    point.y() + 10))
         rect = QgsRectangle(pt1, pt2)
         poly = QgsGeometry().fromRect(rect)
         self.rb.addGeometry(poly, None)
Example #3
0
    def batchExportPlot(self, layer):
        features = layer.selectedFeatures()

        mapTool = QgsMapTool(self.iface.mapCanvas())
        FieldName = self.dlg.fieldCombo.currentField()

        projFolder = self.settings.value('projFolder')
        outputFolder = QFileDialog.getExistingDirectory(
            directory=projFolder,
            caption='Choose the folder to export profile plots')
        outputFolder = toUnicode(outputFolder)

        if outputFolder:
            for feature in features:
                title = feature[FieldName]
                if not title:
                    title = 'profile'
                self.profiles = list()
                pointstoDraw = list()

                # Get feature geometry
                first_segment = True
                if first_segment:
                    k = 0
                    first_segment = False
                else:
                    k = 1
                while not feature.geometry().vertexAt(k) == QgsPoint(0, 0):
                    point2 = mapTool.toMapCoordinates(
                        layer, QgsPoint(feature.geometry().vertexAt(k)))
                    pointstoDraw += [[point2.x(), point2.y()]]
                    k += 1
                self.updateProfile(pointstoDraw, mapTool, False)
                if self.profiles:
                    self.exportPlot(folder=outputFolder,
                                    name=str(feature.id()).zfill(3),
                                    title=str(title))
                    plotTool().clearData(self.dlg.plotWidget, self.profiles)
                    self.dlg.activeLayerList.clear()