.. _processing_algs_input_output: ************************************************** Input and output types for Processing Algorithms ************************************************** Here is the list of input and output types that are supported in Processing with their corresponding alg decorator constants, their name in the modeler designer if exposed. Input types =========== .. list-table:: :widths: 20 25 20 30 :header-rows: 1 :class: longtable * - Input name - Class - Alg constant - Description * - Annotation layer - :class:`QgsProcessingParameterAnnotationLayer ` - ``alg.ANNOTATION_LAYER`` - An annotation layer * - Authentication Configuration - :class:`QgsProcessingParameterAuthConfig ` - ``alg.AUTH_CFG`` - Allows users to select from available authentication configurations or create new authentication configurations * - Raster band - :class:`QgsProcessingParameterBand ` - ``alg.BAND`` - A band of a raster layer * - Boolean - :class:`QgsProcessingParameterBoolean ` - ``alg.BOOL`` - A boolean value * - Connection Name - :class:`QgsProcessingParameterProviderConnection ` - - A selection from available registered connections for a particular data provider * - Color - :class:`QgsProcessingParameterColor ` - ``alg.COLOR`` - A color * - Coordinate Operation - :class:`QgsProcessingParameterCoordinateOperation ` - ``alg.COORDINATE_OPERATION`` - A coordinate operation (for CRS transformations) * - CRS - :class:`QgsProcessingParameterCrs ` - ``alg.CRS`` - A Coordinate Reference System * - Database Schema - :class:`QgsProcessingParameterDatabaseSchema ` - ``alg.DATABASE_SCHEMA`` - A database schema * - Database Table - :class:`QgsProcessingParameterDatabaseTable ` - ``alg.DATABASE_TABLE`` - A database table * - Datetime - :class:`QgsProcessingParameterDateTime ` - ``alg.DATETIME`` - A datetime (or a pure date or time) * - Distance - :class:`QgsProcessingParameterDistance ` - ``alg.DISTANCE`` - A double numeric parameter for distance values * - DXF Layers - :class:`QgsProcessingParameterDxfLayers ` - - A list of vector layers to export as DXF file * - Enum - :class:`QgsProcessingParameterEnum ` - ``alg.ENUM`` - An enumeration, allowing for selection from a set of predefined values * - Expression - :class:`QgsProcessingParameterExpression ` - ``alg.EXPRESSION`` - An expression * - Extent - :class:`QgsProcessingParameterExtent ` - ``alg.EXTENT`` - A spatial extent defined by xmin, xmax, ymin, ymax * - - :class:`QgsProcessingParameterField ` - ``alg.FIELD`` - A field in the attribute table of a vector layer * - Field Aggregates - :class:`QgsProcessingParameterAggregate ` - - A parameter for “aggregate” configurations, which consist of a definition of desired output fields, types, and aggregate used to populate them * - Fields Mapper - :class:`QgsProcessingParameterFieldMapping ` - - A parameter for “field mapping” configurations, which consist of a definition of desired output fields, types, and expressions used to populate them * - File/Folder - :class:`QgsProcessingParameterFile ` - ``alg.FILE`` - A filename of an existing file * - - :class:`QgsProcessingParameterFileDestination ` - ``alg.FILE_DEST`` - A filename for a newly created output file * - - :class:`QgsProcessingParameterFolderDestination ` - ``alg.FOLDER_DEST`` - A folder (destination folder) * - Geometry - :class:`QgsProcessingParameterGeometry ` - ``alg.GEOMETRY`` - A geometry * - - :attr:`QgsProcessingParameterNumber.Integer ` - ``alg.INT`` - An integer * - Print Layout - :class:`QgsProcessingParameterLayout ` - ``alg.LAYOUT`` - A layout * - Print Layout Item - :class:`QgsProcessingParameterLayoutItem ` - ``alg.LAYOUT_ITEM`` - A layout item * - Map Layer - :class:`QgsProcessingParameterMapLayer ` - ``alg.MAPLAYER`` - A map layer * - Map Theme - :class:`QgsProcessingParameterMapTheme ` - ``alg.MAP_THEME`` - A project map theme * - Matrix - :class:`QgsProcessingParameterMatrix ` - ``alg.MATRIX`` - A matrix * - Mesh Dataset Groups - :class:`QgsProcessingParameterMeshDatasetGroups ` - - Dataset groups of mesh layer * - Mesh Dataset Time - :class:`QgsProcessingParameterMeshDatasetTime ` - - Dataset index from a mesh layer by time setting * - Mesh Layer - :class:`QgsProcessingParameterMeshLayer ` - ``alg.MESH_LAYER`` - A mesh layer * - Multiple Input - :class:`QgsProcessingParameterMultipleLayers ` - ``alg.MULTILAYER`` - A set of layers * - Number - :attr:`QgsProcessingParameterNumber.Double ` - ``alg.NUMBER`` - A numerical value * - Point - :class:`QgsProcessingParameterPoint ` - ``alg.POINT`` - A point * - Point Cloud Attribute - :class:`QgsProcessingParameterPointCloudAttribute ` - - An attribute from a point cloud layer * - - :class:`QgsProcessingParameterPointCloudDestination ` - ``alg.POINTCLOUD_LAYER_DEST`` - A point cloud layer destination parameter, for specifying the destination path for a point cloud layer created by the algorithm * - Point Cloud Layer - :class:`QgsProcessingParameterPointCloudLayer ` - ``alg.POINTCLOUD_LAYER`` - A point cloud layer * - - :class:`QgsProcessingParameterProviderConnection ` - ``alg.PROVIDER_CONNECTION`` - An available connection for a database provider * - Range - :class:`QgsProcessingParameterRange ` - ``alg.RANGE`` - A number range * - Raster Layer - :class:`QgsProcessingParameterRasterLayer ` - ``alg.RASTER_LAYER`` - A raster layer * - - :class:`QgsProcessingParameterRasterDestination ` - ``alg.RASTER_LAYER_DEST`` - A raster layer destination parameter, for specifying the destination path for a raster layer created by the algorithm * - Scale - :class:`QgsProcessingParameterScale ` - ``alg.SCALE`` - A map scale * - - :class:`QgsProcessingParameterFeatureSink ` - ``alg.SINK`` - A feature sink * - TIN Creation Layers - :class:`QgsProcessingParameterTinInputLayers ` - - Selection of multiple layers to create a TIN with vertices and/or break lines * - Vector Features - :class:`QgsProcessingParameterFeatureSource ` - ``alg.SOURCE`` - A feature source * - String - :class:`QgsProcessingParameterString ` - ``alg.STRING`` - A text string * - Vector Layer - :class:`QgsProcessingParameterVectorLayer ` - ``alg.VECTOR_LAYER`` - A vector layer * - - :class:`QgsProcessingParameterVectorDestination ` - ``alg.VECTOR_LAYER_DEST`` - A vector layer destination parameter, for specifying the destination path for a vector layer created by the algorithm * - Vector Tile Writer Layers - :class:`QgsProcessingParameterVectorTileDestination ` - - A vector tile layer destination parameter, for specifying the destination path for a vector tile layer created by the algorithm Output types ============ .. list-table:: :widths: 47 24 29 :header-rows: 1 :class: longtable * - Class - Alg constant - Description * - :class:`QgsProcessingOutputBoolean ` - ``alg.BOOL`` - A boolean value * - :class:`QgsProcessingOutputNumber ` - ``alg.DISTANCE`` - A double numeric parameter for distance values * - :class:`QgsProcessingOutputFile ` - ``alg.FILE`` - A filename of an existing file * - :class:`QgsProcessingOutputFolder ` - ``alg.FOLDER`` - A folder * - :class:`QgsProcessingOutputHtml ` - ``alg.HTML`` - HTML * - :class:`QgsProcessingOutputNumber ` - ``alg.INT`` - A integer * - :class:`QgsProcessingOutputLayerDefinition ` - ``alg.LAYERDEF`` - A layer definition * - :class:`QgsProcessingOutputMapLayer ` - ``alg.MAPLAYER`` - A map layer * - :class:`QgsProcessingOutputMultipleLayers ` - ``alg.MULTILAYER`` - A set of layers * - :class:`QgsProcessingOutputNumber ` - ``alg.NUMBER`` - A numerical value * - :class:`QgsProcessingOutputPointCloudLayer ` - ``alg.POINTCLOUD_LAYER`` - A point cloud layer * - :class:`QgsProcessingOutputRasterLayer ` - ``alg.RASTER_LAYER`` - A raster layer * - :class:`QgsProcessingOutputString ` - ``alg.STRING`` - A text string * - :class:`QgsProcessingOutputVectorLayer ` - ``alg.VECTOR_LAYER`` - A vector layer * - :class:`QgsProcessingOutputVectorTileLayer ` - - A vector tile layer