Exemple #1
0
def getLayerFromString(string, forceLoad=True):
    """Returns an object (layer/table) given a source definition.

    if forceLoad is true, it tries to load it if it is not currently open
    Otherwise, it will return the object only if it is loaded in QGIS.
    """

    if string is None:
        return None

    # prefer project layers
    layer = QgsProcessingUtils.mapLayerFromProject(string, QgsProject.instance())
    if layer:
        return layer

    if not forceLoad:
        return None

    return QgsProcessingUtils.mapLayerFromString(string)
Exemple #2
0
def getLayerFromString(string, forceLoad=True):
    """Returns an object (layer/table) given a source definition.

    if forceLoad is true, it tries to load it if it is not currently open
    Otherwise, it will return the object only if it is loaded in QGIS.
    """

    if string is None:
        return None

    # prefer project layers
    layer = QgsProcessingUtils.mapLayerFromProject(string, QgsProject.instance())
    if layer:
        return layer

    if not forceLoad:
        return None

    return QgsProcessingUtils.mapLayerFromString(string)
Exemple #3
0
    def value(self):
        layers = ''
        for i in range(self.layersTree.topLevelItemCount()):
            item = self.layersTree.topLevelItem(i)
            if item:
                layerName = item.text(0)
                layer = QgsProcessingUtils.mapLayerFromProject(
                    layerName, QgsProject.instance())
                if not layer:
                    continue

                provider = layer.dataProvider()
                if not provider:
                    continue

                interpolationAttribute = item.text(1)
                if interpolationAttribute == 'Z_COORD':
                    zCoord = True
                    fieldIndex = -1
                else:
                    zCoord = False
                    fieldIndex = layer.fields().indexFromName(
                        interpolationAttribute)

                comboBox = self.layersTree.itemWidget(
                    self.layersTree.topLevelItem(i), 2)
                inputTypeName = comboBox.currentText()
                if inputTypeName == self.tr('Points'):
                    inputType = QgsInterpolator.POINTS
                elif inputTypeName == self.tr('Structure lines'):
                    inputType = QgsInterpolator.STRUCTURE_LINES
                else:
                    inputType = QgsInterpolator.BREAK_LINES

            layers += '{},{},{:d},{:d};'.format(layer.source(), zCoord,
                                                fieldIndex, inputType)
        return layers[:-1]
    def value(self):
        layers = ''
        for i in range(self.layersTree.topLevelItemCount()):
            item = self.layersTree.topLevelItem(i)
            if item:
                layerName = item.text(0)
                layer = QgsProcessingUtils.mapLayerFromProject(layerName, QgsProject.instance())
                if not layer:
                    continue

                provider = layer.dataProvider()
                if not provider:
                    continue

                interpolationAttribute = item.text(1)
                if interpolationAttribute == 'Z_COORD':
                    zCoord = True
                    fieldIndex = -1
                else:
                    zCoord = False
                    fieldIndex = layer.fields().indexFromName(interpolationAttribute)

                comboBox = self.layersTree.itemWidget(self.layersTree.topLevelItem(i), 2)
                inputTypeName = comboBox.currentText()
                if inputTypeName == self.tr('Points'):
                    inputType = QgsInterpolator.POINTS
                elif inputTypeName == self.tr('Structure lines'):
                    inputType = QgsInterpolator.STRUCTURE_LINES
                else:
                    inputType = QgsInterpolator.BREAK_LINES

            layers += '{},{},{:d},{:d};'.format(layer.source(),
                                                zCoord,
                                                fieldIndex,
                                                inputType)
        return layers[:-1]