22QString QgsCopyLayerMetadataAlgorithm::name()
const
24 return QStringLiteral(
"copylayermetadata" );
27QString QgsCopyLayerMetadataAlgorithm::displayName()
const
29 return QObject::tr(
"Copy layer metadata" );
32QStringList QgsCopyLayerMetadataAlgorithm::tags()
const
34 return QObject::tr(
"change,layer,metadata,qmd" ).split(
',' );
37QString QgsCopyLayerMetadataAlgorithm::group()
const
39 return QObject::tr(
"Metadata tools" );
42QString QgsCopyLayerMetadataAlgorithm::groupId()
const
44 return QStringLiteral(
"metadatatools" );
47QString QgsCopyLayerMetadataAlgorithm::shortHelpString()
const
49 return QObject::tr(
"This algorithm copies metadata from a source layer to a target layer.\n\nAny existing metadata in the target layer will be replaced." );
52QString QgsCopyLayerMetadataAlgorithm::shortDescription()
const
54 return QObject::tr(
"Copies the metadata from one layer to another." );
57QgsCopyLayerMetadataAlgorithm *QgsCopyLayerMetadataAlgorithm::createInstance()
const
59 return new QgsCopyLayerMetadataAlgorithm();
62void QgsCopyLayerMetadataAlgorithm::initAlgorithm(
const QVariantMap & )
72 QgsMapLayer *sourceLayer = parameterAsLayer( parameters, QStringLiteral(
"SOURCE" ), context );
73 QgsMapLayer *targetLayer = parameterAsLayer( parameters, QStringLiteral(
"TARGET" ), context );
74 const bool saveAsDefault = parameterAsBool( parameters, QStringLiteral(
"DEFAULT" ), context );
82 mLayerId = targetLayer->
id();
99 Q_UNUSED( parameters );
103 results.insert( QStringLiteral(
"OUTPUT" ), mLayerId );
109QString QgsApplyLayerMetadataAlgorithm::name()
const
111 return QStringLiteral(
"setlayermetadata" );
114QString QgsApplyLayerMetadataAlgorithm::displayName()
const
116 return QObject::tr(
"Set layer metadata" );
119QStringList QgsApplyLayerMetadataAlgorithm::tags()
const
121 return QObject::tr(
"change,layer,metadata,qmd" ).split(
',' );
124QString QgsApplyLayerMetadataAlgorithm::group()
const
126 return QObject::tr(
"Metadata tools" );
129QString QgsApplyLayerMetadataAlgorithm::groupId()
const
131 return QStringLiteral(
"metadatatools" );
134QString QgsApplyLayerMetadataAlgorithm::shortHelpString()
const
136 return QObject::tr(
"This algorithm applies the metadata to a layer. The metadata must be defined as QMD file.\n\nAny existing metadata in the layer will be replaced." );
139QString QgsApplyLayerMetadataAlgorithm::shortDescription()
const
141 return QObject::tr(
"Applies the metadata from a QMD file to a layer." );
144QgsApplyLayerMetadataAlgorithm *QgsApplyLayerMetadataAlgorithm::createInstance()
const
146 return new QgsApplyLayerMetadataAlgorithm();
149void QgsApplyLayerMetadataAlgorithm::initAlgorithm(
const QVariantMap & )
159 QgsMapLayer *layer = parameterAsLayer( parameters, QStringLiteral(
"INPUT" ), context );
160 const QString metadata = parameterAsFile( parameters, QStringLiteral(
"METADATA" ), context );
161 const bool saveAsDefault = parameterAsBool( parameters, QStringLiteral(
"DEFAULT" ), context );
166 mLayerId = layer->
id();
190 Q_UNUSED( parameters );
194 results.insert( QStringLiteral(
"OUTPUT" ), mLayerId );
200QString QgsExportLayerMetadataAlgorithm::name()
const
202 return QStringLiteral(
"exportlayermetadata" );
205QString QgsExportLayerMetadataAlgorithm::displayName()
const
207 return QObject::tr(
"Export layer metadata" );
210QStringList QgsExportLayerMetadataAlgorithm::tags()
const
212 return QObject::tr(
"export,layer,metadata,qmd" ).split(
',' );
215QString QgsExportLayerMetadataAlgorithm::group()
const
217 return QObject::tr(
"Metadata tools" );
220QString QgsExportLayerMetadataAlgorithm::groupId()
const
222 return QStringLiteral(
"metadatatools" );
225QString QgsExportLayerMetadataAlgorithm::shortHelpString()
const
227 return QObject::tr(
"This algorithm exports layer's metadata to a QMD file." );
230QString QgsExportLayerMetadataAlgorithm::shortDescription()
const
232 return QObject::tr(
"Exports layer's metadata to a QMD file." );
235QgsExportLayerMetadataAlgorithm *QgsExportLayerMetadataAlgorithm::createInstance()
const
237 return new QgsExportLayerMetadataAlgorithm();
240void QgsExportLayerMetadataAlgorithm::initAlgorithm(
const QVariantMap & )
243 addParameter(
new QgsProcessingParameterFileDestination( QStringLiteral(
"OUTPUT" ), QObject::tr(
"Output" ), QObject::tr(
"QGIS Metadata File" ) + QStringLiteral(
" (*.qmd *.QMD)" ) ) );
248 QgsMapLayer *layer = parameterAsLayer( parameters, QStringLiteral(
"INPUT" ), context );
249 const QString outputFile = parameterAsString( parameters, QStringLiteral(
"OUTPUT" ), context );
262 results.insert( QStringLiteral(
"OUTPUT" ), outputFile );
268QString QgsAddHistoryMetadataAlgorithm::name()
const
270 return QStringLiteral(
"addhistorymetadata" );
273QString QgsAddHistoryMetadataAlgorithm::displayName()
const
275 return QObject::tr(
"Add history metadata" );
278QStringList QgsAddHistoryMetadataAlgorithm::tags()
const
280 return QObject::tr(
"add,history,metadata" ).split(
',' );
283QString QgsAddHistoryMetadataAlgorithm::group()
const
285 return QObject::tr(
"Metadata tools" );
288QString QgsAddHistoryMetadataAlgorithm::groupId()
const
290 return QStringLiteral(
"metadatatools" );
293QString QgsAddHistoryMetadataAlgorithm::shortHelpString()
const
295 return QObject::tr(
"This algorithm adds a new history entry to the layer's metadata." );
298QString QgsAddHistoryMetadataAlgorithm::shortDescription()
const
300 return QObject::tr(
"Adds a new history entry to the layer's metadata." );
303QgsAddHistoryMetadataAlgorithm *QgsAddHistoryMetadataAlgorithm::createInstance()
const
305 return new QgsAddHistoryMetadataAlgorithm();
308void QgsAddHistoryMetadataAlgorithm::initAlgorithm(
const QVariantMap & )
317 QgsMapLayer *layer = parameterAsLayer( parameters, QStringLiteral(
"INPUT" ), context );
318 const QString history = parameterAsString( parameters, QStringLiteral(
"HISTORY" ), context );
323 mLayerId = layer->
id();
325 std::unique_ptr<QgsLayerMetadata> md( layer->
metadata().
clone() );
326 md->addHistoryItem( history );
334 Q_UNUSED( parameters );
338 results.insert( QStringLiteral(
"OUTPUT" ), mLayerId );
344QString QgsUpdateLayerMetadataAlgorithm::name()
const
346 return QStringLiteral(
"updatelayermetadata" );
349QString QgsUpdateLayerMetadataAlgorithm::displayName()
const
351 return QObject::tr(
"Update layer metadata" );
354QStringList QgsUpdateLayerMetadataAlgorithm::tags()
const
356 return QObject::tr(
"change,update,layer,metadata,qmd" ).split(
',' );
359QString QgsUpdateLayerMetadataAlgorithm::group()
const
361 return QObject::tr(
"Metadata tools" );
364QString QgsUpdateLayerMetadataAlgorithm::groupId()
const
366 return QStringLiteral(
"metadatatools" );
369QString QgsUpdateLayerMetadataAlgorithm::shortHelpString()
const
371 return QObject::tr(
"This algorithm copies all non-empty metadata fields from a source layer to a target layer.\n\nLeaves empty input fields unchanged in the target." );
374QString QgsUpdateLayerMetadataAlgorithm::shortDescription()
const
376 return QObject::tr(
"Copies all non-empty metadata fields from one layer to another." );
379QgsUpdateLayerMetadataAlgorithm *QgsUpdateLayerMetadataAlgorithm::createInstance()
const
381 return new QgsUpdateLayerMetadataAlgorithm();
384void QgsUpdateLayerMetadataAlgorithm::initAlgorithm(
const QVariantMap & )
393 QgsMapLayer *sourceLayer = parameterAsLayer( parameters, QStringLiteral(
"SOURCE" ), context );
394 QgsMapLayer *targetLayer = parameterAsLayer( parameters, QStringLiteral(
"TARGET" ), context );
402 mLayerId = targetLayer->
id();
404 std::unique_ptr<QgsLayerMetadata> md( targetLayer->
metadata().
clone() );
405 md->combine( &sourceLayer->
metadata() );
413 Q_UNUSED( parameters );
417 results.insert( QStringLiteral(
"OUTPUT" ), mLayerId );
423QString QgsSetMetadataFieldsAlgorithm::name()
const
425 return QStringLiteral(
"setmetadatafields" );
428QString QgsSetMetadataFieldsAlgorithm::displayName()
const
430 return QObject::tr(
"Set metadata fields" );
433QStringList QgsSetMetadataFieldsAlgorithm::tags()
const
435 return QObject::tr(
"set,metadata,title,abstract,identifier" ).split(
',' );
438QString QgsSetMetadataFieldsAlgorithm::group()
const
440 return QObject::tr(
"Metadata tools" );
443QString QgsSetMetadataFieldsAlgorithm::groupId()
const
445 return QStringLiteral(
"metadatatools" );
448QString QgsSetMetadataFieldsAlgorithm::shortHelpString()
const
450 return QObject::tr(
"This algorithm sets various metadata fields for a layer." );
453QString QgsSetMetadataFieldsAlgorithm::shortDescription()
const
455 return QObject::tr(
"Sets various metadata fields for a layer." );
458QgsSetMetadataFieldsAlgorithm *QgsSetMetadataFieldsAlgorithm::createInstance()
const
460 return new QgsSetMetadataFieldsAlgorithm();
463void QgsSetMetadataFieldsAlgorithm::initAlgorithm(
const QVariantMap & )
466 addParameter(
new QgsProcessingParameterString( QStringLiteral(
"IDENTIFIER" ), QObject::tr(
"Identifier" ), QVariant(),
false,
true ) );
467 addParameter(
new QgsProcessingParameterString( QStringLiteral(
"PARENT_IDENTIFIER" ), QObject::tr(
"Parent identifier" ), QVariant(),
false,
true ) );
473 addParameter(
new QgsProcessingParameterCrs( QStringLiteral(
"CRS" ), QObject::tr(
"Coordinate reference system" ), QVariant(),
true ) );
481 QgsMapLayer *layer = parameterAsLayer( parameters, QStringLiteral(
"INPUT" ), context );
486 mLayerId = layer->
id();
488 const bool ignoreEmpty = parameterAsBool( parameters, QStringLiteral(
"IGNORE_EMPTY" ), context );
490 std::unique_ptr<QgsLayerMetadata> md( layer->
metadata().
clone() );
492 if ( parameters.value( QStringLiteral(
"IDENTIFIER" ) ).isValid() )
494 const QString identifier = parameterAsString( parameters, QStringLiteral(
"IDENTIFIER" ), context );
495 if ( !identifier.isEmpty() || !ignoreEmpty )
497 md->setIdentifier( identifier );
501 if ( parameters.value( QStringLiteral(
"PARENT_IDENTIFIER" ) ).isValid() )
503 const QString parentIdentifier = parameterAsString( parameters, QStringLiteral(
"PARENT_IDENTIFIER" ), context );
504 if ( !parentIdentifier.isEmpty() || !ignoreEmpty )
506 md->setParentIdentifier( parentIdentifier );
510 if ( parameters.value( QStringLiteral(
"TITLE" ) ).isValid() )
512 const QString title = parameterAsString( parameters, QStringLiteral(
"TITLE" ), context );
513 if ( !title.isEmpty() || !ignoreEmpty )
515 md->setTitle( title );
519 if ( parameters.value( QStringLiteral(
"TYPE" ) ).isValid() )
521 const QString type = parameterAsString( parameters, QStringLiteral(
"TYPE" ), context );
522 if ( !type.isEmpty() || !ignoreEmpty )
528 if ( parameters.value( QStringLiteral(
"LANGUAGE" ) ).isValid() )
530 const QString language = parameterAsString( parameters, QStringLiteral(
"LANGUAGE" ), context );
531 if ( !language.isEmpty() || !ignoreEmpty )
533 md->setLanguage( language );
537 if ( parameters.value( QStringLiteral(
"ENCODING" ) ).isValid() )
539 const QString encoding = parameterAsString( parameters, QStringLiteral(
"ENCODING" ), context );
540 if ( !encoding.isEmpty() || !ignoreEmpty )
542 md->setEncoding( encoding );
546 if ( parameters.value( QStringLiteral(
"ABSTRACT" ) ).isValid() )
548 const QString abstract = parameterAsString( parameters, QStringLiteral(
"ABSTRACT" ), context );
549 if ( !abstract.isEmpty() || !ignoreEmpty )
551 md->setAbstract( abstract );
555 if ( parameters.value( QStringLiteral(
"CRS" ) ).isValid() )
564 if ( parameters.value( QStringLiteral(
"FEES" ) ).isValid() )
566 const QString fees = parameterAsString( parameters, QStringLiteral(
"FEES" ), context );
567 if ( !fees.isEmpty() || !ignoreEmpty )
580 Q_UNUSED( parameters );
584 results.insert( QStringLiteral(
"OUTPUT" ), mLayerId );
@ File
Parameter is a single file.
Represents a coordinate reference system (CRS).
bool isValid() const
Returns whether this CRS is correctly initialized and usable.
Base class for all map layer types.
virtual QString loadNamedMetadata(const QString &uri, bool &resultFlag)
Retrieve a named metadata for this layer if one exists (either as a .qmd file on disk or as a record ...
QgsLayerMetadata metadata
virtual void setMetadata(const QgsLayerMetadata &metadata)
Sets the layer's metadata store.
virtual QString saveDefaultMetadata(bool &resultFlag)
Save the current metadata of this layer as the default metadata (either as a .qmd file on disk or as ...
QString saveNamedMetadata(const QString &uri, bool &resultFlag)
Save the current metadata of this layer as a named metadata (either as a .qmd file on disk or as a re...
Contains information about the context in which a processing algorithm is executed.
Custom exception class for processing related exceptions.
Base class for providing feedback from a processing algorithm.
A map layer output for processing algorithms, where layers may be either vector or raster.
A boolean parameter for processing algorithms.
A coordinate reference system parameter for processing algorithms.
A generic file based destination parameter, for specifying the destination path for a file (non-map l...
An input file or folder parameter for processing algorithms.
A map layer parameter for processing algorithms.
A string parameter for processing algorithms.
const QgsCoordinateReferenceSystem & crs