23#include <QRegularExpression>
33 const QVariant::Type type,
34 const QVariant defaultValue )
63 const QString msg = QString(
"%1 ('%2') cannot be converted into a list of geometries" ).arg(
name(
mName ),
toString() );
77 const QString msg = QString(
"%1 ('%2') cannot be converted into a rectangle" ).arg(
name(
mName ),
toString() );
100 const QUrl url =
toUrl();
107 const QString msg = QString(
"%1 request error for %2" ).arg(
name(
mName ), url.toString() );
147 const QString msg = QString(
"%1 ('%2') cannot be converted into a list of colors" ).arg(
name(
mName ),
toString() );
161 const QString msg = QString(
"%1 ('%2') cannot be converted into a list of int" ).arg(
name(
mName ),
toString() );
175 const QString msg = QString(
"%1 ('%2') cannot be converted into a list of float" ).arg(
name(
mName ),
toString() );
202 const QMetaEnum metaEnum( QMetaEnum::fromType<QgsWmsParameter::Name>() );
203 return metaEnum.valueToKey(
name );
208 const QMetaEnum metaEnum( QMetaEnum::fromType<QgsWmsParameter::Name>() );
266 save( pIcLabelSpace );
269 save( pItFontFamily );
279 save( pItFontItalic );
288 QVariant(
"black" ) );
289 save( pItFontColor );
292 save( pHighlightGeom );
297 save( pShowFeatureCount );
300 save( pHighlightSymbol );
303 save( pHighlightLabel );
307 QVariant(
"black" ) );
308 save( pHighlightColor );
311 save( pHighlightFontSize );
314 save( pHighlightFontWeight );
317 save( pHighlightFont );
321 QVariant(
"black" ) );
322 save( pHighlightBufferColor );
325 save( pHighlightBufferSize );
328 save( pLabelRotation );
331 save( pLabelDistance );
422 save( pQueryLayers );
427 save( pFeatureCount );
435 save( pLayerFtFamily );
440 save( pLayerFtBold );
445 save( pLayerFtItalic );
450 save( pLayerFtSize );
454 QVariant(
"black" ) );
455 save( pLayerFtColor );
493 save( pWmsPrecision );
498 save( pTransparent );
502 QVariant(
"white" ) );
534 save( pWithGeometry );
545 QVariant::StringList );
559 if ( it != mWmsParameters.constEnd() && !it->toString().isEmpty() )
561 const QString
sldBody = it->loadUrl();
571 return mWmsParameters.value( name );
576 auto it = mWmsParameters.find( name );
577 if ( it == mWmsParameters.end() )
585 bool QgsWmsParameters::loadParameter(
const QString &key,
const QString &value )
589 const thread_local QRegularExpression composerParamRegExp( QStringLiteral(
"^MAP\\d+:" ), QRegularExpression::CaseInsensitiveOption );
590 if ( key.contains( composerParamRegExp ) )
592#if QT_VERSION < QT_VERSION_CHECK(5, 15, 2)
593 const int mapId = key.midRef( 3, key.indexOf(
':' ) - 3 ).toInt();
595 const int mapId = QStringView {key}.mid( 3, key.indexOf(
':' ) - 3 ).toInt();
597 const QString theKey = key.mid( key.indexOf(
':' ) + 1 );
602 QgsWmsParameter param = mWmsParameters.value( name );
603 param.mValue =
value;
604 param.mMapId = mapId;
606 if ( ! param.isValid() )
620 auto it = mWmsParameters.find( name );
621 if ( it == mWmsParameters.end() )
622 it = mWmsParameters.insert( name, QgsWmsParameter() );
625 if ( !it->isValid() )
634 int separator = key.indexOf( QLatin1Char(
':' ) );
635 if ( separator >= 1 )
637 QString
id = key.left( separator );
638 QString param = key.right( key.length() - separator - 1 );
639 mExternalWMSParameters[id].insert( param,
value );
651 log( QStringLiteral(
"WMS Request parameters:" ) );
652 for (
auto it = mWmsParameters.constBegin(); it != mWmsParameters.constEnd(); ++it )
654 const QString
value = it->toString();
656 if ( !
value.isEmpty() )
660 if ( it->mMapId >= 0 )
662 name = QStringLiteral(
"%1:%2" ).arg( QString::number( it->mMapId ), name );
665 log( QStringLiteral(
" - %1 : %2" ).arg( name,
value ) );
670 log( QStringLiteral(
" - VERSION : %1" ).arg(
version() ) );
673 void QgsWmsParameters::save(
const QgsWmsParameter ¶meter,
bool multi )
677 mWmsParameters.insert( parameter.
mName, parameter );
681 mWmsParameters.replace( parameter.
mName, parameter );
708 if ( !srs.isEmpty() &&
crs.isEmpty() )
710 else if ( srs.isEmpty() && !
crs.isEmpty() )
712 else if ( !srs.isEmpty() && !
crs.isEmpty() )
789 version = QStringLiteral(
"1.3.0" );
793 if ( !
wmtver().isEmpty() )
799 version = QStringLiteral(
"1.3.0" );
809 version = QStringLiteral(
"1.1.1" );
813 version = QStringLiteral(
"1.3.0" );
824 if (
version().compare( QLatin1String(
"1.1.1" ) ) == 0
825 && req.compare( QLatin1String(
"capabilities" ), Qt::CaseInsensitive ) == 0 )
827 req = QStringLiteral(
"GetCapabilities" );
850 const QMetaEnum metaEnum( QMetaEnum::fromType<QgsWmsParameters::Format>() );
851 return metaEnum.valueToKey(
format );
859 if ( fStr.compare( QLatin1String(
"image/png" ), Qt::CaseInsensitive ) == 0 ||
860 fStr.compare( QLatin1String(
"png" ), Qt::CaseInsensitive ) == 0 )
864 else if ( fStr.compare( QLatin1String(
"jpg" ), Qt::CaseInsensitive ) == 0
865 || fStr.compare( QLatin1String(
"jpeg" ), Qt::CaseInsensitive ) == 0
866 || fStr.compare( QLatin1String(
"image/jpeg" ), Qt::CaseInsensitive ) == 0 )
870 else if ( fStr.compare( QLatin1String(
"image/svg" ), Qt::CaseInsensitive ) == 0 ||
871 fStr.compare( QLatin1String(
"image/svg+xml" ), Qt::CaseInsensitive ) == 0 ||
872 fStr.compare( QLatin1String(
"svg" ), Qt::CaseInsensitive ) == 0 )
876 else if ( fStr.compare( QLatin1String(
"application/pdf" ), Qt::CaseInsensitive ) == 0 ||
877 fStr.compare( QLatin1String(
"pdf" ), Qt::CaseInsensitive ) == 0 )
881 else if ( fStr.compare( QLatin1String(
"application/json" ), Qt::CaseInsensitive ) == 0 ||
882 fStr.compare( QLatin1String(
"json" ), Qt::CaseInsensitive ) == 0 )
904 if ( fStr.isEmpty() )
907 if ( fStr.startsWith( QLatin1String(
"text/xml" ), Qt::CaseInsensitive ) )
909 else if ( fStr.startsWith( QLatin1String(
"text/html" ), Qt::CaseInsensitive ) )
911 else if ( fStr.startsWith( QLatin1String(
"text/plain" ), Qt::CaseInsensitive ) )
913 else if ( fStr.startsWith( QLatin1String(
"application/vnd.ogc.gml" ), Qt::CaseInsensitive ) )
915 else if ( fStr.startsWith( QLatin1String(
"application/json" ), Qt::CaseInsensitive )
916 || fStr.startsWith( QLatin1String(
"application/geo+json" ), Qt::CaseInsensitive ) )
930 if ( fStr.startsWith( QLatin1String(
"application/vnd.ogc.gml/3" ), Qt::CaseInsensitive ) )
1244 font.fromString(
"" );
1260 font.fromString(
"" );
1467 const QStringList layersList { param.toStringList() };
1468 for (
const QString &layerName : std::as_const( layersList ) )
1470 if ( ! result.contains( layerName ) )
1471 result.append( layerName );
1481 const QStringList layersList { param.toStringList() };
1482 for (
const QString &layerName : std::as_const( layersList ) )
1484 if ( ! result.contains( layerName ) )
1485 result.append( layerName );
1500 return style << styles;
1503 QMultiMap<QString, QgsWmsParametersFilter> QgsWmsParameters::layerFilters(
const QStringList &layers )
const
1505 const QString nsWfs2 = QStringLiteral(
"http://www.opengis.net/fes/2.0" );
1506 const QString prefixWfs2 = QStringLiteral(
"<fes:" );
1508 const QStringList rawFilters =
filters();
1509 QMultiMap<QString, QgsWmsParametersFilter>
filters;
1510 for (
int i = 0;
i < rawFilters.size();
i++ )
1512 const QString f = rawFilters[
i];
1513 if ( f.startsWith( QLatin1Char(
'<' ) ) \
1514 && f.endsWith( QLatin1String(
"Filter>" ) ) \
1515 &&
i < layers.size() )
1522 if ( filter.
mFilter.contains( nsWfs2 ) \
1523 || filter.
mFilter.contains( prefixWfs2 ) )
1528 filters.insert( layers[
i], filter );
1530 else if ( !f.isEmpty() )
1534 const int colonIndex = f.indexOf(
':' );
1535 if ( colonIndex != -1 )
1537 const QString layers = f.section(
':', 0, 0 );
1538 const QString filter = f.section(
':', 1 );
1539 const QStringList layersList = layers.split(
',' );
1540 for (
const QString &layer : layersList )
1542 QgsWmsParametersFilter parametersFilter;
1543 parametersFilter.
mFilter = filter;
1545 filters.insert( layer, parametersFilter );
1551 raiseError( QStringLiteral(
"FILTER ('" ) + filterStr + QStringLiteral(
"') is not properly formatted" ) );
1560 bool force2D =
false;
1563 if ( options.contains( DxfFormatOption::FORCE_2D ) )
1565 force2D = QVariant( options[ DxfFormatOption::FORCE_2D ] ).toBool();
1576 if ( options.contains( DxfFormatOption::NO_MTEXT ) )
1578 noMText = QVariant( options[ DxfFormatOption::NO_MTEXT ] ).toBool();
1591 const QMultiMap<QString, QgsWmsParametersFilter>
filters = layerFilters( layers );
1595 QMultiMap<QString, QString> layerSelections;
1596 for (
const QString &s : selection )
1598 const QStringList splits = s.split(
':' );
1599 if ( splits.size() == 2 )
1601 layerSelections.insert( splits[0], splits[1] );
1606 raiseError( QStringLiteral(
"SELECTION ('" ) + selStr + QStringLiteral(
"') is not properly formatted" ) );
1610 QList<QgsWmsParametersLayer> parameters;
1611 for (
int i = 0;
i < layers.size();
i++ )
1613 QString layer = layers[
i];
1621 if ( isExternalLayer( layer ) )
1629 if (
i < styles.count() )
1632 if (
filters.contains( layer ) )
1634 auto it =
filters.find( layer );
1635 while ( it !=
filters.end() && it.key() == layer )
1637 param.
mFilter.append( it.value() );
1642 if ( layerSelections.contains( layer ) )
1644 QMultiMap<QString, QString>::const_iterator it;
1645 it = layerSelections.constFind( layer );
1646 while ( it != layerSelections.constEnd() && it.key() == layer )
1654 parameters.append( param );
1662 QList<QgsWmsParametersHighlightLayer> params;
1677 int nLayers = std::min( geoms.size(), slds.size() );
1678 for (
int i = 0;
i < nLayers;
i++ )
1681 param.
mName = QStringLiteral(
"highlight_" ) + QString::number(
i );
1683 param.
mSld = slds[
i];
1685 if (
i < labels.count() )
1688 if (
i < colors.count() )
1691 if (
i < sizes.count() )
1694 if (
i < weights.count() )
1697 if (
i < fonts.count() )
1698 param.
mFont = fonts[
i ];
1700 if (
i < bufferColors.count() )
1703 if (
i < bufferSizes.count() )
1706 if (
i < rotation.count() )
1709 if (
i < distance.count() )
1712 if (
i < hali.count() )
1715 if (
i < vali.count() )
1720 params.append( param );
1728 auto notExternalLayer = [](
const QString & name ) {
return ! QgsWmsParameters::isExternalLayer( name ); };
1730 QList<QgsWmsParametersExternalLayer> externalLayers;
1733 QStringList::iterator rit = std::remove_if( layers.begin(), layers.end(), notExternalLayer );
1735 for ( QStringList::iterator it = layers.begin(); it != rit; ++it )
1737 externalLayers << externalLayerParameter( *it );
1740 return externalLayers;
1764 QString pMapId = QStringLiteral(
"MAP" ) + QString::number( mapId );
1791 double gridx( -1 ), gridy( -1 );
1805 if ( gridx != -1 && gridy != -1 )
1812 QStringList allLayers;
1822 for (
const auto &layer : std::as_const( allLayers ) )
1824 if ( isExternalLayer( layer ) )
1827 layers << extParam.
mName;
1842 QList<QgsWmsParametersLayer> lParams;
1843 for (
int i = 0;
i < layers.size();
i++ )
1845 QString layer = layers[
i];
1849 if (
i < styles.count() )
1852 lParams.append( lParam );
1857 QList<QgsWmsParametersHighlightLayer> hParams;
1859 QList<QgsGeometry> geoms;
1887 QList<QColor> colors;
1908 QList<QColor> bufferColors;
1915 QList<double> bufferSizes;
1922 QList<double> rotations;
1929 QList<double> distances;
1950 int nHLayers = std::min( geoms.size(), slds.size() );
1951 for (
int i = 0;
i < nHLayers;
i++ )
1954 hParam.
mName = pMapId + QStringLiteral(
"_highlight_" ) + QString::number(
i );
1956 hParam.
mSld = slds[
i];
1958 if (
i < labels.count() )
1961 if (
i < colors.count() )
1964 if (
i < sizes.count() )
1967 if (
i < weights.count() )
1970 if (
i < fonts.count() )
1971 hParam.
mFont = fonts[
i ];
1973 if (
i < bufferColors.count() )
1976 if (
i < bufferSizes.count() )
1979 if (
i < rotations.count() )
1982 if (
i < distances.count() )
1985 if (
i < halis.count() )
1988 if (
i < valis.count() )
1991 hParams.append( hParam );
2002 QString
id { layerId };
2004 for (
auto it = mExternalWMSParameters.cbegin(); it != mExternalWMSParameters.cend(); ++it )
2006 if ( it.key().compare(
id, Qt::CaseSensitivity::CaseInsensitive ) == 0 )
2013 if ( !mExternalWMSParameters.contains(
id ) )
2019 const QMap<QString, QString> ¶mMap = mExternalWMSParameters[ id ];
2020 QMap<QString, QString>::const_iterator paramIt = paramMap.constBegin();
2021 for ( ; paramIt != paramMap.constEnd(); ++paramIt )
2023 QString paramName = paramIt.key().toLower();
2024 if ( paramName == QLatin1String(
"layers" ) || paramName == QLatin1String(
"styles" ) || paramName == QLatin1String(
"opacities" ) )
2026 const QStringList values = paramIt.value().split(
',' );
2027 for (
const QString &
value : values )
2030 else if ( paramName == QLatin1String(
"ignorereportedlayerextents" ) )
2032 wmsUri.
setParam( QStringLiteral(
"IgnoreReportedLayerExtents" ), paramIt.value() );
2034 else if ( paramName == QLatin1String(
"smoothpixmaptransform" ) )
2036 wmsUri.
setParam( QStringLiteral(
"SmoothPixmapTransform" ), paramIt.value() );
2038 else if ( paramName == QLatin1String(
"ignoregetmapurl" ) )
2040 wmsUri.
setParam( QStringLiteral(
"IgnoreGetMapUrl" ), paramIt.value() );
2042 else if ( paramName == QLatin1String(
"ignoregetfeatureinfourl" ) )
2044 wmsUri.
setParam( QStringLiteral(
"IgnoreGetFeatureInfoUrl" ), paramIt.value() );
2046 else if ( paramName == QLatin1String(
"ignoreaxisorientation" ) )
2048 wmsUri.
setParam( QStringLiteral(
"IgnoreAxisOrientation" ), paramIt.value() );
2050 else if ( paramName == QLatin1String(
"invertaxisorientation" ) )
2052 wmsUri.
setParam( QStringLiteral(
"InvertAxisOrientation" ), paramIt.value() );
2054 else if ( paramName == QLatin1String(
"dpimode" ) )
2056 wmsUri.
setParam( QStringLiteral(
"dpiMode" ), paramIt.value() );
2058 else if ( paramName == QLatin1String(
"stepwidth" ) )
2060 wmsUri.
setParam( QStringLiteral(
"stepWidth" ), paramIt.value() );
2062 else if ( paramName == QLatin1String(
"stepheight" ) )
2064 wmsUri.
setParam( QStringLiteral(
"stepHeight" ), paramIt.value() );
2068 wmsUri.
setParam( paramName, paramIt.value() );
2089 void QgsWmsParameters::log(
const QString &msg )
const
2094 void QgsWmsParameters::raiseError(
const QString &msg )
const
2099 QgsWmsParameter QgsWmsParameters::idParameter(
const QgsWmsParameter::Name name,
const int id )
const
2103 for (
const auto ¶m : mWmsParameters.values( name ) )
2105 if ( param.mMapId ==
id )
2114 QgsWmsParametersExternalLayer QgsWmsParameters::externalLayerParameter(
const QString &name )
const
2116 QgsWmsParametersExternalLayer param;
2125 bool QgsWmsParameters::isExternalLayer(
const QString &name )
2132 QStringList attributes;
2135 if ( options.contains( DxfFormatOption::LAYERATTRIBUTES ) )
2137 attributes = options[ DxfFormatOption::LAYERATTRIBUTES ].split(
',' );
2148 if ( options.contains( DxfFormatOption::USE_TITLE_AS_LAYERNAME ) )
2150 use = QVariant( options[ DxfFormatOption::USE_TITLE_AS_LAYERNAME ] ).toBool();
2161 if ( options.contains( DxfFormatOption::SCALE ) )
2163 scale = options[ DxfFormatOption::SCALE ].toDouble();
2175 if ( ! options.contains( DxfFormatOption::MODE ) )
2180 const QString mode = options[ DxfFormatOption::MODE ];
2181 if ( mode.compare( QLatin1String(
"SymbolLayerSymbology" ), Qt::CaseInsensitive ) == 0 )
2185 else if ( mode.compare( QLatin1String(
"FeatureSymbology" ), Qt::CaseInsensitive ) == 0 )
2195 QString codec = QStringLiteral(
"ISO-8859-1" );
2207 QMap<QgsWmsParameters::DxfFormatOption, QString> options;
2209 const QMetaEnum metaEnum( QMetaEnum::fromType<QgsWmsParameters::DxfFormatOption>() );
2212 for (
auto it = opts.constBegin(); it != opts.constEnd(); ++it )
2214 const int equalIdx = it->indexOf(
':' );
2215 if ( equalIdx > 0 && equalIdx < ( it->length() - 1 ) )
2217 const QString name = it->left( equalIdx ).toUpper();
2220 const QString
value = it->right( it->length() - equalIdx - 1 );
2221 options.insert( option,
value );
2230 QMap<QString, QString> dimValues;
2231 const QMetaEnum pnMetaEnum( QMetaEnum::fromType<QgsMapLayerServerProperties::PredefinedWmsDimensionName>() );
2233 for (
const QString &key : unmanagedNames )
2235 if ( key.startsWith( QLatin1String(
"DIM_" ) ) )
2239 else if ( pnMetaEnum.keyToValue( key.toUpper().toStdString().c_str() ) != -1 )
Exception thrown in case of malformed request.
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.
@ FeatureSymbology
Keeps the number of features and export symbology per feature (using the first symbol level)
@ SymbolLayerSymbology
Exports one feature per symbol layer (considering symbol levels)
@ NoSymbology
Export only data.
The QgsLegendSettings class stores the appearance and layout settings for legend drawing with QgsLege...
void setFontColor(const QColor &c)
Sets the font color used for legend items.
void setLayerFontColor(const QColor &fontColor)
Sets layer font color to fontColor Overrides fontColor()
void setTitle(const QString &t)
Sets the title for the legend, which will be rendered above all legend items.
QgsLegendStyle & rstyle(QgsLegendStyle::Style s)
Returns modifiable reference to the style for a legend component.
void setBoxSpace(double s)
Sets the legend box space (in millimeters), which is the empty margin around the inside of the legend...
void setSymbolSize(QSizeF s)
Sets the default symbol size (in millimeters) used for legend items.
void setMargin(Side side, double margin)
Sets the margin (in mm) for the specified side of the component.
void setFont(const QFont &font)
Sets the font used for rendering this legend component.
static void logMessage(const QString &message, const QString &tag=QString(), Qgis::MessageLevel level=Qgis::MessageLevel::Warning, bool notifyUser=true)
Adds a message to the log instance (and creates it if necessary).
A class to describe the version of a project.
A rectangle specified with double values.
bool isEmpty() const
Returns true if the rectangle is empty.
Definition of a parameter with basic conversion methods.
QList< QgsGeometry > toGeomList(bool &ok, char delimiter=',') const
Converts the parameter into a list of geometries.
QString loadUrl(bool &ok) const
Loads the data associated to the parameter converted into an url.
QUrl toUrl(bool &ok) const
Converts the parameter into an url.
QString toString(bool defaultValue=false) const
Converts the parameter into a string.
QList< double > toDoubleList(bool &ok, char delimiter=',') const
Converts the parameter into a list of doubles.
QStringList toStringList(char delimiter=',', bool skipEmptyParts=true) const
Converts the parameter into a list of strings.
virtual bool isValid() const
Returns true if the parameter is valid, false otherwise.
QString typeName() const
Returns the type of the parameter as a string.
static void raiseError(const QString &msg)
Raises an exception in case of an invalid parameters.
int toInt(bool &ok) const
Converts the parameter into an integer.
QList< int > toIntList(bool &ok, char delimiter=',') const
Converts the parameter into a list of integers.
QColor toColor(bool &ok) const
Converts the parameter into a color.
double toDouble(bool &ok) const
Converts the parameter into a double.
QgsRectangle toRectangle(bool &ok) const
Converts the parameter into a rectangle.
QList< QColor > toColorList(bool &ok, char delimiter=',') const
Converts the parameter into a list of colors.
QgsServerParameters provides an interface to retrieve and manipulate global parameters received from ...
virtual QString request() const
Returns REQUEST parameter as a string or an empty string if not defined.
QUrlQuery urlQuery() const
Returns a url query with underlying parameters.
QMap< QString, QString > mUnmanagedParameters
void load(const QUrlQuery &query)
Loads new parameters.
virtual QString version() const
Returns VERSION parameter as a string or an empty string if not defined.
QString value(const QString &key) const
Returns the value of a parameter.
@ QGIS_InvalidParameterValue
WMS parameter received from the client.
int toInt() const
Converts the parameter into an integer.
QList< double > toDoubleList(const char delimiter=',') const
Converts the parameter into a list of doubles.
QList< QColor > toColorList(const char delimiter=',') const
Converts the parameter into a list of colors.
double toDouble() const
Converts the parameter into a double.
void raiseError() const
Raises an error in case of an invalid conversion.
Name
Available parameters for WMS requests.
@ HIGHLIGHT_LABELBUFFERCOLOR
@ HIGHLIGHT_LABEL_DISTANCE
@ HIGHLIGHT_LABEL_VERTICAL_ALIGNMENT
@ HIGHLIGHT_LABELBUFFERSIZE
@ HIGHLIGHT_LABEL_HORIZONTAL_ALIGNMENT
@ HIGHLIGHT_LABEL_ROTATION
QUrl toUrl() const
Converts the parameter into an url.
QList< QgsGeometry > toGeomList(const char delimiter=',') const
Converts the parameter into a list of geometries.
bool isValid() const override
Returns true if the parameter is valid, false otherwise.
QString name() const
Returns the name of the parameter.
QgsRectangle toRectangle() const
Converts the parameter into a rectangle.
QgsWmsParameter(const QgsWmsParameter::Name name=QgsWmsParameter::UNKNOWN, const QVariant::Type type=QVariant::String, const QVariant defaultValue=QVariant(""))
Constructor for QgsWmsParameter.
QColor toColor() const
Converts the parameter into a color.
QgsWmsParameter::Name mName
QList< int > toIntList(const char delimiter=',') const
Converts the parameter into a list of integers.
QStringList toStyleList(const char delimiter=',') const
Converts the parameter into a list of strings and keeps empty parts Default style value is an empty s...
QString loadUrl() const
Loads the data associated to the parameter converted into an url.
Provides an interface to retrieve and manipulate WMS parameters received from the client.
QString rule() const
Returns RULE parameter or an empty string if none is defined.
QString layerTitle() const
Returns LAYERTITLE parameter or an empty string if not defined.
double layerSpaceAsDouble() const
Returns LAYERSPACE as a double or its default value if not defined.
QString boxSpace() const
Returns BOXSPACE parameter or an empty string if not defined.
QString wmsPrecision() const
Returns WMS_PRECISION parameter or an empty string if not defined.
double dxfScale() const
Returns the DXF SCALE parameter.
QString featureCount() const
Returns FEATURE_COUNT parameter or an empty string if none is defined.
QFont layerFont() const
Returns the layer font (built thanks to the LAYERFONTFAMILY, LAYERFONTSIZE, LAYERFONTBOLD,...
QList< int > opacitiesAsInt() const
Returns the list of opacities found in OPACITIES parameter as integers.
bool transparentAsBool() const
Returns TRANSPARENT parameter as a bool or its default value if not defined.
QString transparent() const
Returns TRANSPARENT parameter or an empty string if not defined.
QList< int > highlightLabelWeightAsInt() const
Returns HIGHLIGHT_LABELWEIGHT as a list of int.
QString iconLabelSpace() const
Returns ICONLABELSPACE parameter or an empty string if not defined.
QString layerTitleSpace() const
Returns LAYERTITLESPACE parameter or an empty string if not defined.
QString x() const
Returns X parameter or an empty string if not defined.
QString layerSpace() const
Returns LAYERSPACE parameter or an empty string if not defined.
int wmsPrecisionAsInt() const
Returns WMS_PRECISION parameter as an int or its default value if not defined.
QMap< DxfFormatOption, QString > dxfFormatOptions() const
Returns a map of DXF options defined within FORMAT_OPTIONS parameter.
QStringList highlightLabelBufferSize() const
Returns HIGHLIGHT_LABELBUFFERSIZE.
QStringList allLayersNickname() const
Returns nickname of layers found in LAYER and LAYERS parameters.
QString formatAsString() const
Returns FORMAT parameter as a string.
double layerFontSizeAsDouble() const
Returns LAYERFONTSIZE as a double.
QString externalWMSUri(const QString &id) const
Returns the external WMS uri.
QgsProjectVersion versionAsNumber() const
Returns VERSION parameter if defined or its default value.
QString scale() const
Returns SCALE parameter or an empty string if none is defined.
QString ruleLabel() const
Returns RULELABEL parameter or an empty string if none is defined.
double scaleAsDouble() const
Returns SCALE as a double.
bool layerFontItalicAsBool() const
Returns LAYERFONTITALIC as a boolean or its default value if not defined.
QgsWmsParametersComposerMap composerMapParameters(int mapId) const
Returns the requested parameters for a composer map parameter.
QgsRectangle bboxAsRectangle() const
Returns BBOX as a rectangle if defined and valid.
bool withGeometry() const
Returns if the client wants the feature info response with geometry information.
QStringList highlightLabelString() const
Returns HIGHLIGHT_LABELSTRING as a list of string.
QString tiled() const
Returns TILED parameter or an empty string if not defined.
QString layerFontSize() const
Returns LAYERFONTSIZE parameter or an empty string if not defined.
DxfFormatOption
Options for DXF format.
QList< QColor > highlightLabelColorAsColor() const
Returns HIGHLIGHT_LABELCOLOR as a list of color.
bool itemFontBoldAsBool() const
Returns ITEMFONTBOLD as a boolean or its default value if not defined.
QStringList highlightLabelHorizontalAlignment() const
Returns HIGHLIGHT_LABEL_HORIZONTAL_ALIGNMENT as a list of string.
void set(QgsWmsParameter::Name name, const QVariant &value)
Sets a parameter value thanks to its name.
QString pointTolerance() const
Returns FI_POINT_TOLERANCE parameter or an empty string if not defined.
QString filterGeom() const
Returns the filter geometry found in FILTER_GEOM parameter.
QString composerTemplate() const
Returns TEMPLATE parameter or an empty string if not defined.
Format infoFormat() const
Returns infoFormat.
QString dxfCodec() const
Returns the DXF CODEC parameter.
QString y() const
Returns Y parameter or an empty string if not defined.
QString srcHeight() const
Returns SRCHEIGHT parameter or an empty string if not defined.
double dpiAsDouble() const
Returns DPI parameter as an int or its default value if not defined.
QStringList highlightLabelVerticalAlignment() const
Returns HIGHLIGHT_LABEL_VERTICAL_ALIGNMENT as a list of string.
void dump() const
Dumps parameters.
int pointToleranceAsInt() const
Returns FI_POINT_TOLERANCE parameter as an integer.
bool withMapTip() const
withMapTip
QString polygonTolerance() const
Returns FI_POLYGON_TOLERANCE parameter or an empty string if not defined.
QStringList highlightGeom() const
Returns HIGHLIGHT_GEOM as a list of string in WKT.
QString i() const
Returns I parameter or an empty string if not defined.
QList< QColor > highlightLabelBufferColorAsColor() const
Returns HIGHLIGHT_LABELBUFFERCOLOR as a list of colors.
QString request() const override
Returns REQUEST parameter as a string or an empty string if not defined.
double layerTitleSpaceAsDouble() const
Returns LAYERTITLESPACE as a double.
QList< QgsWmsParametersLayer > layersParameters() const
Returns parameters for each layer found in LAYER/LAYERS.
int lineToleranceAsInt() const
Returns FI_LINE_TOLERANCE parameter as an integer.
QList< double > highlightLabelBufferSizeAsFloat() const
Returns HIGHLIGHT_LABELBUFFERSIZE as a list of float.
QString lineTolerance() const
Returns FI_LINE_TOLERANCE parameter or an empty string if not defined.
bool showFeatureCountAsBool() const
Returns SHOWFEATURECOUNT as a bool.
QStringList highlightLabelColor() const
Returns HIGHLIGHT_LABELCOLOR as a list of string.
bool versionIsValid(const QString version) const
Returns true if version is valid, false otherwise.
QString j() const
Returns J parameter or an empty string if not defined.
int xAsInt() const
Returns X parameter as an int or its default value if not defined.
QColor layerFontColorAsColor() const
Returns LAYERFONTCOLOR as a color or its defined value if not defined.
QString bbox() const
Returns BBOX if defined or an empty string.
QgsWmsParameters()
Constructor for WMS parameters with default values only.
int heightAsInt() const
Returns HEIGHT parameter as an int or its default value if not defined.
QStringList highlightLabelWeight() const
Returns HIGHLIGHT_LABELWEIGHT as a list of string.
QString backgroundColor() const
Returns BGCOLOR parameter or an empty string if not defined.
QStringList allStyles() const
Returns styles found in STYLE and STYLES parameters.
double symbolWidthAsDouble() const
Returns SYMBOLWIDTH as a double or its default value if not defined.
QColor backgroundColorAsColor() const
Returns BGCOLOR parameter as a QColor or its default value if not defined.
Format format() const
Returns format.
QgsWmsParameter operator[](QgsWmsParameter::Name name) const
Returns the parameter corresponding to name.
QString itemFontSize() const
Returns ITEMFONTSIZE parameter or an empty string if not defined.
QStringList atlasPk() const
Returns the ATLAS_PK parameter.
QList< QgsGeometry > highlightGeomAsGeom() const
Returns HIGHLIGHT_GEOM as a list of geometries.
QString layerFontFamily() const
Returns LAYERFONTFAMILY parameter or an empty string if not defined.
QList< QgsWmsParametersHighlightLayer > highlightLayersParameters() const
Returns parameters for each highlight layer.
int iAsInt() const
Returns I parameter as an int or its default value if not defined.
QStringList highlightLabelBufferColor() const
Returns HIGHLIGHT_LABELBUFFERCOLOR as a list of string.
int polygonToleranceAsInt() const
Returns FI_POLYGON_TOLERANCE parameter as an integer.
QgsDxfExport::SymbologyExport dxfMode() const
Returns the DXF MODE parameter.
bool ruleLabelAsBool() const
Returns RULELABEL as a bool.
QList< double > highlightLabelDistance() const
Returns HIGHLIGHT_LABEL_DISTANCE as a list of double.
QList< int > highlightLabelSizeAsInt() const
Returns HIGHLIGHT_LABELSIZE as a list of int An exception is raised if an invalid size is found.
int widthAsInt() const
Returns WIDTH parameter as an int or its default value if not defined.
QString sldBody() const
Returns SLD_body if defined or an empty string.
bool itemFontItalicAsBool() const
Returns ITEMFONTITALIC as a boolean or its default value if not defined.
QColor itemFontColorAsColor() const
Returns ITEMFONTCOLOR as a color.
double itemFontSizeAsDouble() const
Returns ITEMFONTSIZE as a double.
QString layerFontColor() const
Returns LAYERFONTCOLOR parameter or an empty string if not defined.
QString layoutParameter(const QString &id, bool &ok) const
Returns a layout parameter thanks to its id.
bool dxfUseLayerTitleAsName() const
Returns the DXF USE_TITLE_AS_LAYERNAME parameter.
QString symbolHeight() const
Returns SYMBOLHEIGHT parameter or an empty string if not defined.
int imageQualityAsInt() const
Returns IMAGE_QUALITY parameter as an integer.
QMap< QString, QString > dimensionValues() const
Returns the dimensions parameter.
QList< QgsWmsParametersExternalLayer > externalLayersParameters() const
Returns parameters for each external layer.
int infoFormatVersion() const
Returns the infoFormat version for GML.
QString layerFontBold() const
Returns LAYERFONTBOLD parameter or an empty string if not defined.
QgsLegendSettings legendSettings() const
Returns legend settings.
int srcHeightAsInt() const
Returns SRCHEIGHT parameter as an int or its default value if not defined.
QString symbolSpace() const
Returns SYMBOLSPACE parameter or an empty string if not defined.
QString itemFontBold() const
Returns ITEMFONTBOLD parameter or an empty string if not defined.
double symbolSpaceAsDouble() const
Returns SYMBOLSPACE as a double or its default value if not defined.
QString infoFormatAsString() const
Returns INFO_FORMAT parameter as a string.
QStringList highlightLabelFont() const
Returns HIGHLIGHT_LABELFONT.
QString wmtver() const
Returns WMTVER parameter or an empty string if not defined.
QStringList dxfLayerAttributes() const
Returns the DXF LAYERATTRIBUTES parameter.
QString srcWidth() const
Returns SRCWIDTH parameter or an empty string if not defined.
QStringList highlightLabelSize() const
Returns HIGHLIGHT_LABELSIZE as a list of string.
QString imageQuality() const
Returns IMAGE_QUALITY parameter or an empty string if not defined.
QList< double > highlightLabelRotation() const
Returns HIGHLIGHT_LABEL_ROTATION as a list of double.
QString height() const
Returns HEIGHT parameter or an empty string if not defined.
QString crs() const
Returns CRS or an empty string if none is defined.
QStringList selections() const
Returns the list of feature selection found in SELECTION parameter.
int featureCountAsInt() const
Returns FEATURE_COUNT as an integer.
int yAsInt() const
Returns Y parameter as an int or its default value if not defined.
bool layerTitleAsBool() const
Returns LAYERTITLE as a bool or its default value if not defined.
QString itemFontColor() const
Returns ITEMFONTCOLOR parameter or an empty string if not defined.
double boxSpaceAsDouble() const
Returns BOXSPACE as a double or its default value if not defined.
QString symbolWidth() const
Returns SYMBOLWIDTH parameter or an empty string if not defined.
bool tiledAsBool() const
Returns TILED parameter as a boolean.
Format
Output format for the response.
QString width() const
Returns WIDTH parameter or an empty string if not defined.
QFont itemFont() const
Returns the item font (built thanks to the ITEMFONTFAMILY, ITEMFONTSIZE, ITEMFONTBOLD,...
QStringList opacities() const
Returns the list of opacities found in OPACITIES parameter.
QString version() const override
Returns VERSION parameter as a string or an empty string if not defined.
QString layerFontItalic() const
Returns LAYERFONTITALIC parameter or an empty string if not defined.
QString itemFontItalic() const
Returns ITEMFONTITALIC parameter or an empty string if not defined.
QStringList filters() const
Returns the list of filters found in FILTER parameter.
QString dpi() const
Returns DPI parameter or an empty string if not defined.
QString itemFontFamily() const
Returns ITEMFONTFAMILY parameter or an empty string if not defined.
int jAsInt() const
Returns J parameter as an int or its default value if not defined.
QString showFeatureCount() const
Returns SHOWFEATURECOUNT parameter or an empty string if none is defined.
bool layerFontBoldAsBool() const
Returns LAYERFONTBOLD as a boolean or its default value if not defined.
double iconLabelSpaceAsDouble() const
Returns ICONLABELSPACE as a double or its default value if not defined.
QStringList highlightSymbol() const
Returns HIGHLIGHT_SYMBOL as a list of string.
QStringList queryLayersNickname() const
Returns nickname of layers found in QUERY_LAYERS parameter.
double symbolHeightAsDouble() const
Returns SYMBOLHEIGHT as a double or its default value if not defined.
bool infoFormatIsImage() const
Checks if INFO_FORMAT parameter is one of the image formats (PNG, JPG).
int srcWidthAsInt() const
Returns SRCWIDTH parameter as an int or its default value if not defined.
Median cut implementation.
const QString EXTERNAL_LAYER_PREFIX
QList< QgsWmsParametersLayer > mLayers
QList< QgsWmsParametersHighlightLayer > mHighlightLayers
QgsWmsParametersFilter::Type mType
QgsOgcUtils::FilterVersion mVersion
QList< QgsWmsParametersFilter > mFilter