| 
    QGIS API Documentation
    3.26.3-Buenos Aires (65e4edfdad)
    
   | 
 
 
 
 
Go to the documentation of this file.
   23 QString QgsCentroidAlgorithm::name()
 const 
   25   return QStringLiteral( 
"centroids" );
 
   28 QString QgsCentroidAlgorithm::displayName()
 const 
   30   return QObject::tr( 
"Centroids" );
 
   33 QStringList QgsCentroidAlgorithm::tags()
 const 
   35   return QObject::tr( 
"centroid,center,average,point,middle" ).split( 
',' );
 
   38 QString QgsCentroidAlgorithm::group()
 const 
   40   return QObject::tr( 
"Vector geometry" );
 
   43 QString QgsCentroidAlgorithm::groupId()
 const 
   45   return QStringLiteral( 
"vectorgeometry" );
 
   48 QString QgsCentroidAlgorithm::outputName()
 const 
   50   return QObject::tr( 
"Centroids" );
 
   53 QgsFeatureSink::SinkFlags QgsCentroidAlgorithm::sinkFlags()
 const 
   61 QString QgsCentroidAlgorithm::shortHelpString()
 const 
   63   return QObject::tr( 
"This algorithm creates a new point layer, with points representing the centroid of the geometries in an input layer.\n\n" 
   64                       "The attributes associated to each point in the output layer are the same ones associated to the original features." );
 
   67 QgsCentroidAlgorithm *QgsCentroidAlgorithm::createInstance()
 const 
   69   return new QgsCentroidAlgorithm();
 
   72 void QgsCentroidAlgorithm::initParameters( 
const QVariantMap & )
 
   74   std::unique_ptr< QgsProcessingParameterBoolean> allParts = std::make_unique< QgsProcessingParameterBoolean >(
 
   75         QStringLiteral( 
"ALL_PARTS" ),
 
   76         QObject::tr( 
"Create centroid for each part" ),
 
   78   allParts->setIsDynamic( 
true );
 
   80   allParts->setDynamicLayerParameterName( QStringLiteral( 
"INPUT" ) );
 
   81   addParameter( allParts.release() );
 
   86   mAllParts = parameterAsBoolean( parameters, QStringLiteral( 
"ALL_PARTS" ), context );
 
   88   if ( mDynamicAllParts )
 
   89     mAllPartsProperty = parameters.value( QStringLiteral( 
"ALL_PARTS" ) ).value< 
QgsProperty >();
 
  102     bool allParts = mAllParts;
 
  103     if ( mDynamicAllParts )
 
  104       allParts = mAllPartsProperty.valueAsBool( context.
expressionContext(), allParts );
 
  110       const int partCount = geomCollection->
partCount();
 
  111       list.reserve( partCount );
 
  112       for ( 
int i = 0; i < partCount; ++i )
 
  116         if ( outputGeometry.
isNull() )
 
  118           feedback->
reportError( QObject::tr( 
"Error calculating centroid for feature %1 part %2: %3" ).arg( feature.
id() ).arg( i ).arg( outputGeometry.
lastError() ) );
 
  127       if ( outputGeometry.
isNull() )
 
  129         feedback->
reportError( QObject::tr( 
"Error calculating centroid for feature %1: %2" ).arg( feature.
id() ).arg( outputGeometry.
lastError() ) );
 
  
QString lastError() const SIP_HOLDGIL
Returns an error string referring to the last error encountered either when this geometry was created...
 
A store for object properties.
 
static bool isDynamic(const QVariantMap ¶meters, const QString &name)
Returns true if the parameter with matching name is a dynamic parameter, and must be evaluated once f...
 
Base class for providing feedback from a processing algorithm.
 
virtual void reportError(const QString &error, bool fatalError=false)
Reports that the algorithm encountered an error while executing.
 
QgsGeometry centroid() const
Returns the center of mass of a geometry.
 
virtual QgsFeatureSink::SinkFlags sinkFlags() const
Returns the feature sink flags to be used for the output.
 
bool isMultipart() const SIP_HOLDGIL
Returns true if WKB of the geometry is of WKBMulti* type.
 
int partCount() const override
Returns count of parts contained in the geometry.
 
void setGeometry(const QgsGeometry &geometry)
Set the feature's geometry.
 
Contains information about the context in which a processing algorithm is executed.
 
virtual QgsAbstractGeometry * clone() const =0
Clones the geometry by performing a deep copy.
 
QList< QgsFeature > QgsFeatureList
 
Definition for a property.
 
bool isEmpty() const
Returns true if the geometry is empty (eg a linestring with no vertices, or a collection with no geom...
 
const QgsAbstractGeometry * constGet() const SIP_HOLDGIL
Returns a non-modifiable (const) reference to the underlying abstract geometry primitive.
 
@ RegeneratePrimaryKey
This flag indicates, that a primary key field cannot be guaranteed to be unique and the sink should i...
 
const QgsAbstractGeometry * geometryN(int n) const
Returns a const reference to a geometry from within the collection.
 
A geometry is the spatial representation of a feature.
 
bool hasGeometry() const
Returns true if the feature has an associated geometry.
 
QgsExpressionContext & expressionContext()
Returns the expression context.
 
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...