mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-11-04 00:04:25 -05:00 
			
		
		
		
	[needs-docs][processing] Respect user set default vector output format
in vector split algorithm The created outputs will now be created using the format specified from the Processing setting default vector format setting.
This commit is contained in:
		
							parent
							
								
									b9e223d802
								
							
						
					
					
						commit
						90bac82f12
					
				@ -29,11 +29,11 @@ from qgis.core import (QgsApplication,
 | 
			
		||||
                       QgsProcessingParameterFeatureSource,
 | 
			
		||||
                       QgsProcessingParameterField,
 | 
			
		||||
                       QgsProcessingParameterFolderDestination,
 | 
			
		||||
                       QgsProcessingOutputFolder,
 | 
			
		||||
                       QgsProcessingException,
 | 
			
		||||
                       QgsProcessingOutputMultipleLayers,
 | 
			
		||||
                       QgsExpression,
 | 
			
		||||
                       QgsFeatureRequest)
 | 
			
		||||
                       QgsFeatureRequest,
 | 
			
		||||
                       QgsVectorFileWriter)
 | 
			
		||||
 | 
			
		||||
from processing.algs.qgis.QgisAlgorithm import QgisAlgorithm
 | 
			
		||||
from processing.tools.system import mkdir
 | 
			
		||||
@ -88,6 +88,11 @@ class VectorSplit(QgisAlgorithm):
 | 
			
		||||
        fieldName = self.parameterAsString(parameters, self.FIELD, context)
 | 
			
		||||
        directory = self.parameterAsString(parameters, self.OUTPUT, context)
 | 
			
		||||
 | 
			
		||||
        output_format = context.preferredVectorFormat()
 | 
			
		||||
        if not output_format in QgsVectorFileWriter.supportedFormatExtensions():
 | 
			
		||||
            # fallback to gpkg if preferred format is not available
 | 
			
		||||
            output_format = 'gpkg'
 | 
			
		||||
 | 
			
		||||
        mkdir(directory)
 | 
			
		||||
 | 
			
		||||
        fieldIndex = source.fields().lookupField(fieldName)
 | 
			
		||||
@ -104,7 +109,7 @@ class VectorSplit(QgisAlgorithm):
 | 
			
		||||
        for current, i in enumerate(uniqueValues):
 | 
			
		||||
            if feedback.isCanceled():
 | 
			
		||||
                break
 | 
			
		||||
            fName = '{0}_{1}.gpkg'.format(baseName, str(i).strip())
 | 
			
		||||
            fName = '{0}_{1}.{2}'.format(baseName, str(i).strip(), output_format)
 | 
			
		||||
            feedback.pushInfo(self.tr('Creating layer: {}').format(fName))
 | 
			
		||||
 | 
			
		||||
            sink, dest = QgsProcessingUtils.createFeatureSink(fName, context, fields, geomType, crs)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user