23 const std::vector< QgsStatisticalSummary::Statistic > STATS
 
   43 QString QgsExtractZMValuesAlgorithmBase::group()
 const 
   45   return QObject::tr( 
"Vector geometry" );
 
   48 QString QgsExtractZMValuesAlgorithmBase::groupId()
 const 
   50   return QStringLiteral( 
"vectorgeometry" );
 
   53 QString QgsExtractZMValuesAlgorithmBase::outputName()
 const 
   55   return QObject::tr( 
"Extracted" );
 
   58 QList<int> QgsExtractZMValuesAlgorithmBase::inputLayerTypes()
 const 
   68 void QgsExtractZMValuesAlgorithmBase::initParameters( 
const QVariantMap & )
 
   70   QStringList statChoices;
 
   71   statChoices.reserve( STATS.size() );
 
   78                 QObject::tr( 
"Summaries to calculate" ),
 
   79                 statChoices, 
true, QVariantList() << 0 ) );
 
   81   addParameter( 
new QgsProcessingParameterString( QStringLiteral( 
"COLUMN_PREFIX" ), QObject::tr( 
"Output column prefix" ), mDefaultFieldPrefix, 
false, 
true ) );
 
   84 QgsFields QgsExtractZMValuesAlgorithmBase::outputFields( 
const QgsFields &inputFields )
 const 
   91   mPrefix = parameterAsString( parameters, QStringLiteral( 
"COLUMN_PREFIX" ), context );
 
   93   const QList< int > stats = parameterAsEnums( parameters, QStringLiteral( 
"SUMMARIES" ), context );
 
   94   mStats = QgsStatisticalSummary::Statistics();
 
   97     mStats |= STATS.at( s );
 
   98     mSelectedStats << STATS.at( s );
 
  109   attrs.reserve( attrs.count() + mSelectedStats.count() );
 
  112     attrs.resize( attrs.count() + mNewFields.size() );
 
  120       stat.addValue( mExtractValFunc( *it ) );
 
  131       attrs.append( stat.statistic( s ) );
 
  138 bool QgsExtractZMValuesAlgorithmBase::supportInPlaceEdit( 
const QgsMapLayer *layer )
 const 
  148 QgsExtractZValuesAlgorithm::QgsExtractZValuesAlgorithm()
 
  150   mExtractValFunc = []( 
const QgsPoint & p ) -> 
double 
  154   mTestGeomFunc = []( 
const QgsGeometry & g ) -> 
bool 
  158   mDefaultFieldPrefix = QStringLiteral( 
"z_" );
 
  161 QString QgsExtractZValuesAlgorithm::name()
 const 
  163   return QStringLiteral( 
"extractzvalues" );
 
  166 QString QgsExtractZValuesAlgorithm::displayName()
 const 
  168   return QObject::tr( 
"Extract Z values" );
 
  173   return new QgsExtractZValuesAlgorithm();
 
  176 QStringList QgsExtractZValuesAlgorithm::tags()
 const 
  178   return QObject::tr( 
"add,z,value,elevation,height,attribute,statistics,stats" ).split( 
',' );
 
  181 QString QgsExtractZValuesAlgorithm::shortHelpString()
 const 
  183   return QObject::tr( 
"Extracts z values from geometries into feature attributes.\n\n" 
  184                       "By default only the z value from the first vertex of each feature is extracted, however the algorithm " 
  185                       "can optionally calculate statistics on all of the geometry's z values, including sums, means, and minimums and maximums" );
 
  188 QString QgsExtractZValuesAlgorithm::shortDescription()
 const 
  190   return QObject::tr( 
"Extracts z values (or z value statistics) from geometries into feature attributes." );
 
  198 QgsExtractMValuesAlgorithm::QgsExtractMValuesAlgorithm()
 
  200   mExtractValFunc = []( 
const QgsPoint & p ) -> 
double 
  204   mTestGeomFunc = []( 
const QgsGeometry & g ) -> 
bool 
  208   mDefaultFieldPrefix = QStringLiteral( 
"m_" );
 
  211 QString QgsExtractMValuesAlgorithm::name()
 const 
  213   return QStringLiteral( 
"extractmvalues" );
 
  216 QString QgsExtractMValuesAlgorithm::displayName()
 const 
  218   return QObject::tr( 
"Extract M values" );
 
  223   return new QgsExtractMValuesAlgorithm();
 
  226 QStringList QgsExtractMValuesAlgorithm::tags()
 const 
  228   return QObject::tr( 
"add,m,value,measure,attribute,statistics,stats" ).split( 
',' );
 
  231 QString QgsExtractMValuesAlgorithm::shortHelpString()
 const 
  233   return QObject::tr( 
"Extracts m values from geometries into feature attributes.\n\n" 
  234                       "By default only the m value from the first vertex of each feature is extracted, however the algorithm " 
  235                       "can optionally calculate statistics on all of the geometry's m values, including sums, means, and minimums and maximums" );
 
  238 QString QgsExtractMValuesAlgorithm::shortDescription()
 const 
  240   return QObject::tr( 
"Extracts m values (or m value statistics) from geometries into feature attributes." );
 
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
void setAttributes(const QgsAttributes &attrs)
Sets the feature's attributes.
bool hasGeometry() const
Returns true if the feature has an associated geometry.
Encapsulate a field in an attribute table or data source.
Container of fields for a vector layer.
A geometry is the spatial representation of a feature.
QgsWkbTypes::Type wkbType() const SIP_HOLDGIL
Returns type of the geometry as a WKB type (point / linestring / polygon etc.)
bool isEmpty() const
Returns true if the geometry is empty (eg a linestring with no vertices, or a collection with no geom...
QgsAbstractGeometry::vertex_iterator vertices_begin() const
Returns STL-style iterator pointing to the first vertex of the geometry.
QgsAbstractGeometry::vertex_iterator vertices_end() const
Returns STL-style iterator pointing to the imaginary vertex after the last vertex of the geometry.
Base class for all map layer types.
Point geometry type, with support for z-dimension and m-values.
Abstract base class for processing algorithms.
Contains information about the context in which a processing algorithm is executed.
Flag
Flags controlling how QgsProcessingFeatureSource fetches features.
@ FlagSkipGeometryValidityChecks
Invalid geometry checks should always be skipped. This flag can be useful for algorithms which always...
Base class for providing feedback from a processing algorithm.
An enum based parameter for processing algorithms, allowing for selection from predefined values.
A string parameter for processing algorithms.
static QgsFields combineFields(const QgsFields &fieldsA, const QgsFields &fieldsB, const QString &fieldsBPrefix=QString())
Combines two field lists, avoiding duplicate field names (in a case-insensitive manner).
@ TypeVectorAnyGeometry
Any vector layer with geometry.
Calculator for summary statistics for a list of doubles.
Statistic
Enumeration of flags that specify statistics to be calculated.
@ InterQuartileRange
Inter quartile range (IQR)
@ Median
Median of values.
@ Variety
Variety (count of distinct) values.
@ First
First value (since QGIS 3.6)
@ Last
Last value (since QGIS 3.6)
@ Minority
Minority of values.
@ ThirdQuartile
Third quartile.
@ Majority
Majority of values.
@ Range
Range of values (max - min)
@ FirstQuartile
First quartile.
@ StDev
Standard deviation of values.
static QString shortName(QgsStatisticalSummary::Statistic statistic)
Returns a short, friendly display name for a statistic, suitable for use in a field name.
static QString displayName(QgsStatisticalSummary::Statistic statistic)
Returns the friendly display name for a statistic.
static bool hasM(Type type) SIP_HOLDGIL
Tests whether a WKB type contains m values.
static bool hasZ(Type type) SIP_HOLDGIL
Tests whether a WKB type contains the z-dimension.
QList< QgsFeature > QgsFeatureList