mirror of
https://github.com/qgis/QGIS.git
synced 2025-11-22 00:14:55 -05:00
[processing] more cleanups (follow up 06c4b07222)
This commit is contained in:
parent
45c8a09439
commit
acdde31b3d
@ -96,10 +96,11 @@ class ExampleAlgorithm(GeoAlgorithm):
|
|||||||
# directly
|
# directly
|
||||||
settings = QSettings()
|
settings = QSettings()
|
||||||
systemEncoding = settings.value('/UI/encoding', 'System')
|
systemEncoding = settings.value('/UI/encoding', 'System')
|
||||||
provider = vectorLayer.dataProvider()
|
writer = QgsVectorFileWriter(output,
|
||||||
writer = QgsVectorFileWriter(output, systemEncoding,
|
systemEncoding,
|
||||||
provider.fields(),
|
vectorLayer.fields(),
|
||||||
provider.wkbType(), provider.crs())
|
vectorLayer.wkbType(),
|
||||||
|
vectorLayer.crs())
|
||||||
|
|
||||||
# Now we take the features from input layer and add them to the
|
# Now we take the features from input layer and add them to the
|
||||||
# output. Method features() returns an iterator, considering the
|
# output. Method features() returns an iterator, considering the
|
||||||
|
|||||||
@ -9,10 +9,9 @@ from qgis.core import QgsFeature, QgsField
|
|||||||
from processing.tools.vector import VectorWriter
|
from processing.tools.vector import VectorWriter
|
||||||
|
|
||||||
layer = processing.getObject(input)
|
layer = processing.getObject(input)
|
||||||
provider = layer.dataProvider()
|
fields = layer.fields()
|
||||||
fields = provider.fields()
|
|
||||||
fields.append(QgsField('UNIQ_COUNT', QVariant.Int))
|
fields.append(QgsField('UNIQ_COUNT', QVariant.Int))
|
||||||
writer = VectorWriter(N_unique_values, None, fields, provider.wkbType(),
|
writer = VectorWriter(N_unique_values, None, fields, layer.wkbType(),
|
||||||
layer.crs())
|
layer.crs())
|
||||||
|
|
||||||
class_field_index = layer.fieldNameIndex(class_field)
|
class_field_index = layer.fieldNameIndex(class_field)
|
||||||
|
|||||||
@ -273,10 +273,9 @@ class GeoAlgorithm:
|
|||||||
# For the case of memory layer, if the
|
# For the case of memory layer, if the
|
||||||
# getCompatible method has been called
|
# getCompatible method has been called
|
||||||
continue
|
continue
|
||||||
provider = layer.dataProvider()
|
|
||||||
writer = out.getVectorWriter(
|
writer = out.getVectorWriter(
|
||||||
provider.fields(),
|
layer.fields(),
|
||||||
provider.wkbType(), layer.crs()
|
layer.wkbType(), layer.crs()
|
||||||
)
|
)
|
||||||
features = vector.features(layer)
|
features = vector.features(layer)
|
||||||
for feature in features:
|
for feature in features:
|
||||||
@ -312,8 +311,7 @@ class GeoAlgorithm:
|
|||||||
elif isinstance(out, OutputTable):
|
elif isinstance(out, OutputTable):
|
||||||
if out.compatible is not None:
|
if out.compatible is not None:
|
||||||
layer = dataobjects.getObjectFromUri(out.compatible)
|
layer = dataobjects.getObjectFromUri(out.compatible)
|
||||||
provider = layer.dataProvider()
|
writer = out.getTableWriter(layer.fields())
|
||||||
writer = out.getTableWriter(provider.fields())
|
|
||||||
features = vector.features(layer)
|
features = vector.features(layer)
|
||||||
for feature in features:
|
for feature in features:
|
||||||
writer.addRecord(feature)
|
writer.addRecord(feature)
|
||||||
|
|||||||
@ -64,13 +64,12 @@ def runalgIterating(alg, paramToIter, progress):
|
|||||||
feat = QgsFeature()
|
feat = QgsFeature()
|
||||||
filelist = []
|
filelist = []
|
||||||
outputs = {}
|
outputs = {}
|
||||||
provider = layer.dataProvider()
|
|
||||||
features = vector.features(layer)
|
features = vector.features(layer)
|
||||||
for feat in features:
|
for feat in features:
|
||||||
output = getTempFilename('shp')
|
output = getTempFilename('shp')
|
||||||
filelist.append(output)
|
filelist.append(output)
|
||||||
writer = QgsVectorFileWriter(output, systemEncoding,
|
writer = QgsVectorFileWriter(output, systemEncoding,
|
||||||
provider.fields(), provider.wkbType(), layer.crs())
|
layer.fields(), layer.wkbType(), layer.crs())
|
||||||
writer.addFeature(feat)
|
writer.addFeature(feat)
|
||||||
del writer
|
del writer
|
||||||
|
|
||||||
|
|||||||
@ -471,7 +471,7 @@ class ParametersPanel(BASE, WIDGET):
|
|||||||
QVariant.UInt, QVariant.ULongLong]
|
QVariant.UInt, QVariant.ULongLong]
|
||||||
|
|
||||||
fieldNames = set()
|
fieldNames = set()
|
||||||
for field in layer.pendingFields():
|
for field in layer.fields():
|
||||||
if not fieldTypes or field.type() in fieldTypes:
|
if not fieldTypes or field.type() in fieldTypes:
|
||||||
fieldNames.add(unicode(field.name()))
|
fieldNames.add(unicode(field.name()))
|
||||||
return sorted(list(fieldNames), cmp=locale.strcoll)
|
return sorted(list(fieldNames), cmp=locale.strcoll)
|
||||||
|
|||||||
@ -294,8 +294,8 @@ def exportVectorLayer(layer, supported=None):
|
|||||||
useSelection = ProcessingConfig.getSetting(ProcessingConfig.USE_SELECTED)
|
useSelection = ProcessingConfig.getSetting(ProcessingConfig.USE_SELECTED)
|
||||||
if useSelection and layer.selectedFeatureCount() != 0:
|
if useSelection and layer.selectedFeatureCount() != 0:
|
||||||
writer = QgsVectorFileWriter(output, systemEncoding,
|
writer = QgsVectorFileWriter(output, systemEncoding,
|
||||||
layer.pendingFields(),
|
layer.fields(),
|
||||||
provider.wkbType(), layer.crs())
|
layer.wkbType(), layer.crs())
|
||||||
selection = layer.selectedFeatures()
|
selection = layer.selectedFeatures()
|
||||||
for feat in selection:
|
for feat in selection:
|
||||||
writer.addFeature(feat)
|
writer.addFeature(feat)
|
||||||
@ -310,7 +310,7 @@ def exportVectorLayer(layer, supported=None):
|
|||||||
if not os.path.splitext(layer.source())[1].lower() in supported or not isASCII:
|
if not os.path.splitext(layer.source())[1].lower() in supported or not isASCII:
|
||||||
writer = QgsVectorFileWriter(
|
writer = QgsVectorFileWriter(
|
||||||
output, systemEncoding,
|
output, systemEncoding,
|
||||||
layer.pendingFields(), provider.wkbType(),
|
layer.fields(), layer.wkbType(),
|
||||||
layer.crs()
|
layer.crs()
|
||||||
)
|
)
|
||||||
for feat in layer.getFeatures():
|
for feat in layer.getFeatures():
|
||||||
@ -354,7 +354,6 @@ def exportTable(table):
|
|||||||
settings = QSettings()
|
settings = QSettings()
|
||||||
systemEncoding = settings.value('/UI/encoding', 'System')
|
systemEncoding = settings.value('/UI/encoding', 'System')
|
||||||
output = getTempFilename()
|
output = getTempFilename()
|
||||||
provider = table.dataProvider()
|
|
||||||
isASCII = True
|
isASCII = True
|
||||||
try:
|
try:
|
||||||
unicode(table.source()).decode('ascii')
|
unicode(table.source()).decode('ascii')
|
||||||
@ -364,7 +363,7 @@ def exportTable(table):
|
|||||||
or unicode(table.source()).endswith('shp')
|
or unicode(table.source()).endswith('shp')
|
||||||
if not isDbf or not isASCII:
|
if not isDbf or not isASCII:
|
||||||
writer = QgsVectorFileWriter(output, systemEncoding,
|
writer = QgsVectorFileWriter(output, systemEncoding,
|
||||||
provider.fields(), QgsWkbTypes.NullGeometry,
|
layer.fields(), QgsWkbTypes.NullGeometry,
|
||||||
QgsCoordinateReferenceSystem('4326'))
|
QgsCoordinateReferenceSystem('4326'))
|
||||||
for feat in table.getFeatures():
|
for feat in table.getFeatures():
|
||||||
writer.addFeature(feat)
|
writer.addFeature(feat)
|
||||||
|
|||||||
@ -316,10 +316,10 @@ def combineVectorFields(layerA, layerB):
|
|||||||
"""Create single field map from two input field maps.
|
"""Create single field map from two input field maps.
|
||||||
"""
|
"""
|
||||||
fields = []
|
fields = []
|
||||||
fieldsA = layerA.pendingFields()
|
fieldsA = layerA.fields()
|
||||||
fields.extend(fieldsA)
|
fields.extend(fieldsA)
|
||||||
namesA = [unicode(f.name()).lower() for f in fieldsA]
|
namesA = [unicode(f.name()).lower() for f in fieldsA]
|
||||||
fieldsB = layerB.pendingFields()
|
fieldsB = layerB.fields()
|
||||||
for field in fieldsB:
|
for field in fieldsB:
|
||||||
name = unicode(field.name()).lower()
|
name = unicode(field.name()).lower()
|
||||||
if name in namesA:
|
if name in namesA:
|
||||||
@ -366,7 +366,7 @@ def duplicateInMemory(layer, newName='', addToRegistry=False):
|
|||||||
memProvider = memLayer.dataProvider()
|
memProvider = memLayer.dataProvider()
|
||||||
|
|
||||||
provider = layer.dataProvider()
|
provider = layer.dataProvider()
|
||||||
fields = provider.fields().toList()
|
fields = layer.fields().toList()
|
||||||
memProvider.addAttributes(fields)
|
memProvider.addAttributes(fields)
|
||||||
memLayer.updateFields()
|
memLayer.updateFields()
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user