diff --git a/python/core/auto_generated/metadata/qgslayermetadataformatter.sip.in b/python/core/auto_generated/metadata/qgslayermetadataformatter.sip.in
index d72760d4d5c..60c6728dfb9 100644
--- a/python/core/auto_generated/metadata/qgslayermetadataformatter.sip.in
+++ b/python/core/auto_generated/metadata/qgslayermetadataformatter.sip.in
@@ -39,10 +39,12 @@ Formats the "Contacts" section according to a ``metadata`` object.
This will return a HTML table.
%End
- QString extentSectionHtml() const;
+ QString extentSectionHtml( const bool showSpatialExtent = true ) const;
%Docstring
-Formats the "Extents" section according to a ``metadata`` object.
+Formats the "Extents" section according to a ``metadata`` object (extent and temporal).
This will return a HTML table.
+
+:param showSpatialExtent: flag if the spatial extent needs to be displayed. Default to true.
%End
QString identificationSectionHtml() const;
diff --git a/src/core/metadata/qgslayermetadataformatter.cpp b/src/core/metadata/qgslayermetadataformatter.cpp
index ad0053fb724..fa2691aa33c 100644
--- a/src/core/metadata/qgslayermetadataformatter.cpp
+++ b/src/core/metadata/qgslayermetadataformatter.cpp
@@ -107,50 +107,53 @@ QString QgsLayerMetadataFormatter::contactsSectionHtml() const
return myMetadata;
}
-QString QgsLayerMetadataFormatter::extentSectionHtml() const
+QString QgsLayerMetadataFormatter::extentSectionHtml( const bool showSpatialExtent ) const
{
- QString myMetadata = QStringLiteral( "
\n" );
- myMetadata += QStringLiteral( "" ) + QObject::tr( "CRS" ) + QStringLiteral( " | " );
- if ( mMetadata.crs().isValid() )
- {
- myMetadata += mMetadata.crs().authid() + QStringLiteral( " - " );
- myMetadata += mMetadata.crs().description() + QStringLiteral( " - " );
- if ( mMetadata.crs().isGeographic() )
- myMetadata += QObject::tr( "Geographic" );
- else
- myMetadata += QObject::tr( "Projected" );
- }
- myMetadata += QLatin1String( " |
\n" );
-
const QgsLayerMetadata::Extent extent = mMetadata.extent();
- myMetadata += QStringLiteral( "" ) + QObject::tr( "Spatial Extent" ) + QStringLiteral( " | " );
- const QList< QgsLayerMetadata::SpatialExtent > spatialExtents = extent.spatialExtents();
bool notFirstRow = false;
- for ( const QgsLayerMetadata::SpatialExtent &spatialExtent : spatialExtents )
+ QString myMetadata = QStringLiteral( "\n" );
+ if ( showSpatialExtent )
{
- if ( notFirstRow )
+ myMetadata += QStringLiteral( "" ) + QObject::tr( "CRS" ) + QStringLiteral( " | " );
+ if ( mMetadata.crs().isValid() )
{
- myMetadata += QLatin1String( " \n" );
+ myMetadata += mMetadata.crs().authid() + QStringLiteral( " - " );
+ myMetadata += mMetadata.crs().description() + QStringLiteral( " - " );
+ if ( mMetadata.crs().isGeographic() )
+ myMetadata += QObject::tr( "Geographic" );
+ else
+ myMetadata += QObject::tr( "Projected" );
}
- myMetadata += QStringLiteral( "" ) + QObject::tr( "CRS" ) + QStringLiteral( ": " ) + spatialExtent.extentCrs.authid() + QStringLiteral( " - " );
- myMetadata += spatialExtent.extentCrs.description() + QStringLiteral( " - " );
- if ( spatialExtent.extentCrs.isGeographic() )
- myMetadata += QObject::tr( "Geographic" );
- else
- myMetadata += QObject::tr( "Projected" );
- myMetadata += QStringLiteral( " " );
- myMetadata += QStringLiteral( "" ) + QObject::tr( "X Minimum" ) + QStringLiteral( ": " ) + qgsDoubleToString( spatialExtent.bounds.xMinimum() ) + QStringLiteral( " " );
- myMetadata += QStringLiteral( "" ) + QObject::tr( "Y Minimum" ) + QStringLiteral( ": " ) + qgsDoubleToString( spatialExtent.bounds.yMinimum() ) + QStringLiteral( " " );
- myMetadata += QStringLiteral( "" ) + QObject::tr( "X Maximum" ) + QStringLiteral( ": " ) + qgsDoubleToString( spatialExtent.bounds.xMaximum() ) + QStringLiteral( " " );
- myMetadata += QStringLiteral( "" ) + QObject::tr( "Y Maximum" ) + QStringLiteral( ": " ) + qgsDoubleToString( spatialExtent.bounds.yMaximum() ) + QStringLiteral( " " );
- if ( spatialExtent.bounds.zMinimum() || spatialExtent.bounds.zMaximum() )
+ myMetadata += QLatin1String( " | \n" );
+
+ myMetadata += QStringLiteral( "" ) + QObject::tr( "Spatial Extent" ) + QStringLiteral( " | " );
+ const QList< QgsLayerMetadata::SpatialExtent > spatialExtents = extent.spatialExtents();
+ for ( const QgsLayerMetadata::SpatialExtent &spatialExtent : spatialExtents )
{
- myMetadata += QStringLiteral( "" ) + QObject::tr( "Z Minimum" ) + QStringLiteral( ": " ) + qgsDoubleToString( spatialExtent.bounds.zMinimum() ) + QStringLiteral( " " );
- myMetadata += QStringLiteral( "" ) + QObject::tr( "Z Maximum" ) + QStringLiteral( ": " ) + qgsDoubleToString( spatialExtent.bounds.zMaximum() );
+ if ( notFirstRow )
+ {
+ myMetadata += QLatin1String( " \n" );
+ }
+ myMetadata += QStringLiteral( "" ) + QObject::tr( "CRS" ) + QStringLiteral( ": " ) + spatialExtent.extentCrs.authid() + QStringLiteral( " - " );
+ myMetadata += spatialExtent.extentCrs.description() + QStringLiteral( " - " );
+ if ( spatialExtent.extentCrs.isGeographic() )
+ myMetadata += QObject::tr( "Geographic" );
+ else
+ myMetadata += QObject::tr( "Projected" );
+ myMetadata += QStringLiteral( " " );
+ myMetadata += QStringLiteral( "" ) + QObject::tr( "X Minimum" ) + QStringLiteral( ": " ) + qgsDoubleToString( spatialExtent.bounds.xMinimum() ) + QStringLiteral( " " );
+ myMetadata += QStringLiteral( "" ) + QObject::tr( "Y Minimum" ) + QStringLiteral( ": " ) + qgsDoubleToString( spatialExtent.bounds.yMinimum() ) + QStringLiteral( " " );
+ myMetadata += QStringLiteral( "" ) + QObject::tr( "X Maximum" ) + QStringLiteral( ": " ) + qgsDoubleToString( spatialExtent.bounds.xMaximum() ) + QStringLiteral( " " );
+ myMetadata += QStringLiteral( "" ) + QObject::tr( "Y Maximum" ) + QStringLiteral( ": " ) + qgsDoubleToString( spatialExtent.bounds.yMaximum() ) + QStringLiteral( " " );
+ if ( spatialExtent.bounds.zMinimum() || spatialExtent.bounds.zMaximum() )
+ {
+ myMetadata += QStringLiteral( "" ) + QObject::tr( "Z Minimum" ) + QStringLiteral( ": " ) + qgsDoubleToString( spatialExtent.bounds.zMinimum() ) + QStringLiteral( " " );
+ myMetadata += QStringLiteral( "" ) + QObject::tr( "Z Maximum" ) + QStringLiteral( ": " ) + qgsDoubleToString( spatialExtent.bounds.zMaximum() );
+ }
+ notFirstRow = true;
}
- notFirstRow = true;
+ myMetadata += QLatin1String( " | \n" );
}
- myMetadata += QLatin1String( "\n" );
myMetadata += QStringLiteral( "" ) + QObject::tr( "Temporal Extent" ) + QStringLiteral( " | " );
const QList< QgsDateTimeRange > temporalExtents = extent.temporalExtents();
notFirstRow = false;
diff --git a/src/core/metadata/qgslayermetadataformatter.h b/src/core/metadata/qgslayermetadataformatter.h
index 558899bc202..ca1a73e9bf0 100644
--- a/src/core/metadata/qgslayermetadataformatter.h
+++ b/src/core/metadata/qgslayermetadataformatter.h
@@ -50,10 +50,11 @@ class CORE_EXPORT QgsLayerMetadataFormatter
QString contactsSectionHtml() const;
/**
- * Formats the "Extents" section according to a \a metadata object.
+ * Formats the "Extents" section according to a \a metadata object (extent and temporal).
* This will return a HTML table.
+ * \param showSpatialExtent flag if the spatial extent needs to be displayed. Default to true.
*/
- QString extentSectionHtml() const;
+ QString extentSectionHtml( const bool showSpatialExtent = true ) const;
/**
* Formats the "Identification" section according to a \a metadata object.
diff --git a/src/core/qgsvectorlayer.cpp b/src/core/qgsvectorlayer.cpp
index 8e3241fac5d..2f0e6292c51 100644
--- a/src/core/qgsvectorlayer.cpp
+++ b/src/core/qgsvectorlayer.cpp
@@ -4282,7 +4282,7 @@ QString QgsVectorLayer::htmlMetadata() const
// extent section
myMetadata += QStringLiteral( "" ) + tr( "Extent" ) + QStringLiteral( "\n \n" );
- myMetadata += htmlFormatter.extentSectionHtml( );
+ myMetadata += htmlFormatter.extentSectionHtml( isSpatial() );
myMetadata += QLatin1String( "
\n" );
// Start the Access section
| |