Exemple #1
0
def changed_geom(layerId, geoms):
    fids = geoms.keys()
    freq = QgsFeatureRequest()
    freq.setFilterFids(fids)
    feats = list(layer_from_name(shpName).getFeatures(freq))
    fks_to_change = get_fk_set(shpName, shpKeyName, skipFirst=False, fids=fids)
    global shpChange
    shpChange = {k: v for (k, v) in zip(fks_to_change, feats)}
Exemple #2
0
def get_fk_set(layerName, fkName, skipFirst=True, fids=None):
    layer = layer_from_name(layerName)
    freq = QgsFeatureRequest()
    if fids is not None:
        freq.setFilterFids(fids)
    feats = [f for f in layer.getFeatures(freq)]
    fkSet = []
    first = True
    for f in feats:
        if skipFirst and first:
            first = False
            continue
        fk = f.attribute(fkName)
        fkSet.append(fk)
    return fkSet
Exemple #3
0
def get_fk_set(layerName, fkName, skipFirst=1, fids=None, useProvider=False):
    """
        skipFirst: number of initial lines to skip (header lines in excel)
    """
    layer = layer_from_name(layerName)
    freq = QgsFeatureRequest()
    if fids is not None:
        freq.setFilterFids(fids)
    if not useProvider:
        feats = [f for f in layer.getFeatures(freq)]
    else:
        feats = [f for f in layer.dataProvider().getFeatures(freq)]
    fkSet = []
    for f in feats[skipFirst:]:
        QgsMessageLog.logMessage('FK {}'.format(f.attribute(fkName)), logTag,
                                 QgsMessageLog.CRITICAL)
        fk = f.attribute(fkName)
        if fk:  # Skip NULL ids that may be reported from excel files
            fkSet.append(fk)
    return fkSet
Exemple #4
0
def get_fk_set(layerName, fkName, skipFirst=1, fids=None, useProvider=False):
    """
        skipFirst: number of initial lines to skip (header lines in excel)
    """
    layer = layer_from_name(layerName)
    freq = QgsFeatureRequest()
    if fids is not None:
        freq.setFilterFids(fids)
    if not useProvider:
        feats = [f for f in layer.getFeatures(freq)]
    else:
        feats = [f for f in layer.dataProvider().getFeatures(freq)]
    fkSet = []
    for f in feats[skipFirst:]:
        QgsMessageLog.logMessage(
            'FK {}'.format(f.attribute(fkName)), logTag, QgsMessageLog.CRITICAL)
        fk = f.attribute(fkName)
        if fk:  # Skip NULL ids that may be reported from excel files
            fkSet.append(fk)
    return fkSet
Exemple #5
0
def query_layer_for_fids(layerName, fids):
    layer = layer_from_name(layerName)
    freq = QgsFeatureRequest()
    freq.setFilterFids(fids)
    return list(layer.getFeatures(freq))
Exemple #6
0
def query_layer_for_fids(layerName, fids):
    layer = layer_from_name(layerName)
    freq = QgsFeatureRequest()
    freq.setFilterFids(fids)
    return list(layer.getFeatures(freq))