26 QString QgsWriteVectorTilesBaseAlgorithm::group()
 const 
   28   return QObject::tr( 
"Vector tiles" );
 
   31 QString QgsWriteVectorTilesBaseAlgorithm::groupId()
 const 
   33   return QStringLiteral( 
"vectortiles" );
 
   36 QString QgsWriteVectorTilesBaseAlgorithm::shortHelpString()
 const 
   38   return QObject::tr( 
"This algorithm exports one or more vector layers to vector tiles - a data format optimized for fast map rendering and small data size." );
 
   41 void QgsWriteVectorTilesBaseAlgorithm::addBaseParameters()
 
   54   int minZoom = parameterAsInt( parameters, QStringLiteral( 
"MIN_ZOOM" ), context );
 
   55   int maxZoom = parameterAsInt( parameters, QStringLiteral( 
"MAX_ZOOM" ), context );
 
   57   QVariant layersVariant = parameters.value( parameterDefinition( QStringLiteral( 
"LAYERS" ) )->name() );
 
   68   prepareWriter( writer, parameters, context, outputs );
 
   75   if ( parameters.contains( QStringLiteral( 
"EXTENT" ) ) )
 
   93 QString QgsWriteVectorTilesXyzAlgorithm::name()
 const 
   95   return QStringLiteral( 
"writevectortiles_xyz" );
 
   98 QString QgsWriteVectorTilesXyzAlgorithm::displayName()
 const 
  100   return QObject::tr( 
"Write Vector Tiles (XYZ)" );
 
  105   return new QgsWriteVectorTilesXyzAlgorithm();
 
  108 void QgsWriteVectorTilesXyzAlgorithm::initAlgorithm( 
const QVariantMap & )
 
  111   addParameter( 
new QgsProcessingParameterString( QStringLiteral( 
"XYZ_TEMPLATE" ), QObject::tr( 
"File template" ), QStringLiteral( 
"{z}/{x}/{y}.pbf" ) ) );
 
  118   QString outputDir = parameterAsString( parameters, QStringLiteral( 
"OUTPUT_DIRECTORY" ), context );
 
  119   QString xyzTemplate = parameterAsString( parameters, QStringLiteral( 
"XYZ_TEMPLATE" ), context );
 
  121   dsUri.
setParam( QStringLiteral( 
"type" ), QStringLiteral( 
"xyz" ) );
 
  122   dsUri.
setParam( QStringLiteral( 
"url" ), QUrl::fromLocalFile( outputDir + 
"/" + xyzTemplate ).toString() );
 
  127   outputs.insert( QStringLiteral( 
"OUTPUT_DIRECTORY" ), outputDir );
 
  134 QString QgsWriteVectorTilesMbtilesAlgorithm::name()
 const 
  136   return QStringLiteral( 
"writevectortiles_mbtiles" );
 
  139 QString QgsWriteVectorTilesMbtilesAlgorithm::displayName()
 const 
  141   return QObject::tr( 
"Write Vector Tiles (MBTiles)" );
 
  146   return new QgsWriteVectorTilesMbtilesAlgorithm();
 
  149 void QgsWriteVectorTilesMbtilesAlgorithm::initAlgorithm( 
const QVariantMap & )
 
  156   addParameter( 
new QgsProcessingParameterString( QStringLiteral( 
"META_NAME" ), QObject::tr( 
"Metadata: Name" ), QVariant(), 
false, 
true ) );
 
  157   addParameter( 
new QgsProcessingParameterString( QStringLiteral( 
"META_DESCRIPTION" ), QObject::tr( 
"Metadata: Description" ), QVariant(), 
false, 
true ) );
 
  158   addParameter( 
new QgsProcessingParameterString( QStringLiteral( 
"META_ATTRIBUTION" ), QObject::tr( 
"Metadata: Attribution" ), QVariant(), 
false, 
true ) );
 
  159   addParameter( 
new QgsProcessingParameterString( QStringLiteral( 
"META_VERSION" ), QObject::tr( 
"Metadata: Version" ), QVariant(), 
false, 
true ) );
 
  160   addParameter( 
new QgsProcessingParameterString( QStringLiteral( 
"META_TYPE" ), QObject::tr( 
"Metadata: Type" ), QVariant(), 
false, 
true ) );
 
  161   addParameter( 
new QgsProcessingParameterString( QStringLiteral( 
"META_CENTER" ), QObject::tr( 
"Metadata: Center" ), QVariant(), 
false, 
true ) );
 
  166   QString outputFile = parameterAsFileOutput( parameters, QStringLiteral( 
"OUTPUT" ), context );
 
  168   dsUri.
setParam( QStringLiteral( 
"type" ), QStringLiteral( 
"mbtiles" ) );
 
  169   dsUri.
setParam( QStringLiteral( 
"url" ), outputFile );
 
  174   QString metaName = parameterAsString( parameters, QStringLiteral( 
"META_NAME" ), context );
 
  175   QString metaDesciption = parameterAsString( parameters, QStringLiteral( 
"META_DESCRIPTION" ), context );
 
  176   QString metaAttribution = parameterAsString( parameters, QStringLiteral( 
"META_ATTRIBUTION" ), context );
 
  177   QString metaVersion = parameterAsString( parameters, QStringLiteral( 
"META_VERSION" ), context );
 
  178   QString metaType = parameterAsString( parameters, QStringLiteral( 
"META_TYPE" ), context );
 
  179   QString metaCenter = parameterAsString( parameters, QStringLiteral( 
"META_CENTER" ), context );
 
  182   if ( !metaName.isEmpty() )
 
  183     meta[
"name"] = metaName;
 
  184   if ( !metaDesciption.isEmpty() )
 
  185     meta[
"description"] = metaDesciption;
 
  186   if ( !metaAttribution.isEmpty() )
 
  187     meta[
"attribution"] = metaAttribution;
 
  188   if ( !metaVersion.isEmpty() )
 
  189     meta[
"version"] = metaVersion;
 
  190   if ( !metaType.isEmpty() )
 
  191     meta[
"type"] = metaType;
 
  192   if ( !metaCenter.isEmpty() )
 
  193     meta[
"center"] = metaCenter;
 
  197   outputs.insert( QStringLiteral( 
"OUTPUT" ), outputFile );
 
This class represents a coordinate reference system (CRS).
Class for storing the component parts of a RDBMS data source URI (e.g.
QByteArray encodedUri() const
Returns the complete encoded URI as a byte array.
void setParam(const QString &key, const QString &value)
Sets a generic parameter value on the URI.
Abstract base class for processing algorithms.
Contains information about the context in which a processing algorithm is executed.
QgsCoordinateTransformContext transformContext() const
Returns the coordinate transform context.
Custom exception class for processing related exceptions.
Base class for providing feedback from a processing algorithm.
A rectangular map extent parameter for processing algorithms.
A generic file based destination parameter, for specifying the destination path for a file (non-map l...
A folder destination parameter, for specifying the destination path for a folder created by the algor...
A numeric parameter for processing algorithms.
A string parameter for processing algorithms.
A parameter for processing algorithms that need a list of input vector layers for writing of vector t...
static QList< QgsVectorTileWriter::Layer > parameterAsLayers(const QVariant &layersVariant, QgsProcessingContext &context)
Converts a QVariant value (a QVariantList) to a list of input layers.
A rectangle specified with double values.
Configuration of a single input vector layer to be included in the output.
Takes care of writing vector tiles.
QString errorMessage() const
Returns error message related to the previous call to writeTiles().
void setMaxZoom(int maxZoom)
Sets the maximum zoom level of tiles. Allowed values are in interval [0,24].
void setDestinationUri(const QString &uri)
Sets where and how the vector tiles will be written.
void setTransformContext(const QgsCoordinateTransformContext &transformContext)
Sets coordinate transform context for transforms between layers and tile matrix CRS.
void setExtent(const QgsRectangle &extent)
Sets extent of vector tile output.
bool writeTiles(QgsFeedback *feedback=nullptr)
Writes vector tiles according to the configuration.
void setLayers(const QList< QgsVectorTileWriter::Layer > &layers)
Sets vector layers and their configuration for output of vector tiles.
void setMinZoom(int minZoom)
Sets the minimum zoom level of tiles. Allowed values are in interval [0,24].
void setMetadata(const QVariantMap &metadata)
Sets that will be written to the output dataset. See class description for more on metadata support.