mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-11-04 00:04:25 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			362 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			362 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
/************************************************************************
 | 
						|
 * This file has been generated automatically from                      *
 | 
						|
 *                                                                      *
 | 
						|
 * src/core/classification/qgsclassificationmethod.h                    *
 | 
						|
 *                                                                      *
 | 
						|
 * Do not edit manually ! Edit header and run scripts/sipify.pl again   *
 | 
						|
 ************************************************************************/
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
// This is required for the ConvertToSubClassCode to work properly
 | 
						|
// so RTTI for casting is available in the whole module.
 | 
						|
%ModuleCode
 | 
						|
#include "qgsclassificationequalinterval.h"
 | 
						|
#include "qgsclassificationjenks.h"
 | 
						|
#include "qgsclassificationprettybreaks.h"
 | 
						|
#include "qgsclassificationquantile.h"
 | 
						|
#include "qgsclassificationstandarddeviation.h"
 | 
						|
%End
 | 
						|
 | 
						|
 | 
						|
 | 
						|
class QgsClassificationRange
 | 
						|
{
 | 
						|
%Docstring
 | 
						|
QgsClassificationRange contains the information about a classification range
 | 
						|
 | 
						|
.. versionadded:: 3.10
 | 
						|
%End
 | 
						|
 | 
						|
%TypeHeaderCode
 | 
						|
#include "qgsclassificationmethod.h"
 | 
						|
%End
 | 
						|
  public:
 | 
						|
    QgsClassificationRange( const QString &label, double lowerBound, double upperBound );
 | 
						|
%Docstring
 | 
						|
Constructor
 | 
						|
%End
 | 
						|
    double lowerBound() const;
 | 
						|
%Docstring
 | 
						|
Returns the lower bound
 | 
						|
%End
 | 
						|
    double upperBound() const;
 | 
						|
%Docstring
 | 
						|
Returns the upper bound
 | 
						|
%End
 | 
						|
 | 
						|
    QString label() const;
 | 
						|
%Docstring
 | 
						|
Returns the lower bound
 | 
						|
%End
 | 
						|
 | 
						|
    SIP_PYOBJECT __repr__();
 | 
						|
%MethodCode
 | 
						|
    QString str = QStringLiteral( "<QgsClassificationRange: '%1'>" ).arg( sipCpp->label() );
 | 
						|
    sipRes = PyUnicode_FromString( str.toUtf8().constData() );
 | 
						|
%End
 | 
						|
 | 
						|
};
 | 
						|
 | 
						|
 | 
						|
 | 
						|
class QgsClassificationMethod /Abstract/
 | 
						|
{
 | 
						|
%Docstring
 | 
						|
QgsClassificationMethod is an abstract class for implementations of classification methods
 | 
						|
 | 
						|
.. seealso:: :py:class:`QgsClassificationMethodRegistry`
 | 
						|
 | 
						|
.. versionadded:: 3.10
 | 
						|
%End
 | 
						|
 | 
						|
%TypeHeaderCode
 | 
						|
#include "qgsclassificationmethod.h"
 | 
						|
%End
 | 
						|
%ConvertToSubClassCode
 | 
						|
    if ( dynamic_cast<QgsClassificationEqualInterval *>( sipCpp ) )
 | 
						|
      sipType = sipType_QgsClassificationEqualInterval;
 | 
						|
    else if ( dynamic_cast<QgsClassificationJenks *>( sipCpp ) )
 | 
						|
      sipType = sipType_QgsClassificationJenks;
 | 
						|
    else if ( dynamic_cast<QgsClassificationPrettyBreaks *>( sipCpp ) )
 | 
						|
      sipType = sipType_QgsClassificationPrettyBreaks;
 | 
						|
    else if ( dynamic_cast<QgsClassificationQuantile *>( sipCpp ) )
 | 
						|
      sipType = sipType_QgsClassificationQuantile;
 | 
						|
    else if ( dynamic_cast<QgsClassificationStandardDeviation *>( sipCpp ) )
 | 
						|
      sipType = sipType_QgsClassificationStandardDeviation;
 | 
						|
    else
 | 
						|
      sipType = 0;
 | 
						|
%End
 | 
						|
  public:
 | 
						|
 | 
						|
    enum MethodProperty
 | 
						|
    {
 | 
						|
      NoFlag,
 | 
						|
      ValuesNotRequired,
 | 
						|
      SymmetricModeAvailable,
 | 
						|
    };
 | 
						|
    typedef QFlags<QgsClassificationMethod::MethodProperty> MethodProperties;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
    enum ClassPosition
 | 
						|
    {
 | 
						|
      LowerBound,
 | 
						|
      Inner,
 | 
						|
      UpperBound
 | 
						|
    };
 | 
						|
 | 
						|
    explicit QgsClassificationMethod( MethodProperties properties = NoFlag, int codeComplexity = 1 );
 | 
						|
%Docstring
 | 
						|
Creates a classification method.
 | 
						|
 | 
						|
:param properties: The properties of the implemented method
 | 
						|
:param codeComplexity: as the exponent in the big O notation
 | 
						|
%End
 | 
						|
 | 
						|
    virtual ~QgsClassificationMethod();
 | 
						|
 | 
						|
    virtual QgsClassificationMethod *clone() const = 0 /Factory/;
 | 
						|
%Docstring
 | 
						|
Returns a clone of the method.
 | 
						|
Implementation can take advantage of copyBase method which copies the parameters of the base class
 | 
						|
%End
 | 
						|
 | 
						|
    virtual QString name() const = 0;
 | 
						|
%Docstring
 | 
						|
The readable and translate name of the method
 | 
						|
%End
 | 
						|
 | 
						|
    virtual QString id() const = 0;
 | 
						|
%Docstring
 | 
						|
The id of the method as saved in the project, must be unique in registry
 | 
						|
%End
 | 
						|
 | 
						|
    virtual QIcon icon() const;
 | 
						|
%Docstring
 | 
						|
The icon of the method
 | 
						|
%End
 | 
						|
 | 
						|
    virtual QString labelForRange( double lowerValue, double upperValue, ClassPosition position = Inner ) const;
 | 
						|
%Docstring
 | 
						|
Returns the label for a range
 | 
						|
%End
 | 
						|
 | 
						|
 | 
						|
    virtual void writeXml( QDomElement &element, const QgsReadWriteContext &context ) const;
 | 
						|
%Docstring
 | 
						|
Writes extra information about the method
 | 
						|
%End
 | 
						|
    virtual void readXml( const QDomElement &element, const QgsReadWriteContext &context );
 | 
						|
%Docstring
 | 
						|
Reads extra information to apply it to the method
 | 
						|
%End
 | 
						|
 | 
						|
    virtual bool valuesRequired() const;
 | 
						|
%Docstring
 | 
						|
Returns if the method requires values to calculate the classes
 | 
						|
If not, bounds are sufficient
 | 
						|
%End
 | 
						|
 | 
						|
 | 
						|
 | 
						|
    int codeComplexity() const;
 | 
						|
%Docstring
 | 
						|
Code complexity as the exponent in Big O notation
 | 
						|
%End
 | 
						|
 | 
						|
    bool symmetricModeAvailable() const;
 | 
						|
%Docstring
 | 
						|
Returns if the method supports symmetric calculation
 | 
						|
%End
 | 
						|
 | 
						|
    bool symmetricModeEnabled() const;
 | 
						|
%Docstring
 | 
						|
Returns if the symmetric mode is enabled
 | 
						|
%End
 | 
						|
 | 
						|
    double symmetryPoint() const;
 | 
						|
%Docstring
 | 
						|
Returns the symmetry point for symmetric mode
 | 
						|
%End
 | 
						|
 | 
						|
    bool symmetryAstride() const;
 | 
						|
%Docstring
 | 
						|
Returns if the symmetric mode is astride
 | 
						|
if ``True``, it will remove the symmetry point break so that the 2 classes form only one
 | 
						|
%End
 | 
						|
 | 
						|
    void setSymmetricMode( bool enabled, double symmetryPoint = 0, bool symmetryAstride = false );
 | 
						|
%Docstring
 | 
						|
Defines if the symmetric mode is enables and configures its parameters.
 | 
						|
If the symmetric mode is not available in the current implementation, calling this method has no effect.
 | 
						|
 | 
						|
:param enabled: if the symmetric mode is enabled
 | 
						|
:param symmetryPoint: the value of the symmetry point
 | 
						|
:param symmetryAstride: if ``True``, it will remove the symmetry point break so that the 2 classes form only one
 | 
						|
%End
 | 
						|
 | 
						|
    QString labelFormat() const;
 | 
						|
%Docstring
 | 
						|
Returns the format of the label for the classes
 | 
						|
%End
 | 
						|
    void setLabelFormat( const QString &format );
 | 
						|
%Docstring
 | 
						|
Defines the format of the labels for the classes, using %1 and %2 for the bounds
 | 
						|
%End
 | 
						|
    int labelPrecision() const;
 | 
						|
%Docstring
 | 
						|
Returns the precision for the formatting of the labels
 | 
						|
%End
 | 
						|
    void setLabelPrecision( int labelPrecision );
 | 
						|
%Docstring
 | 
						|
Defines the precision for the formatting of the labels
 | 
						|
%End
 | 
						|
    bool labelTrimTrailingZeroes() const;
 | 
						|
%Docstring
 | 
						|
Returns if the trailing 0 are trimmed in the label
 | 
						|
%End
 | 
						|
    void setLabelTrimTrailingZeroes( bool trimTrailingZeroes );
 | 
						|
%Docstring
 | 
						|
Defines if the trailing 0 are trimmed in the label
 | 
						|
%End
 | 
						|
 | 
						|
    static QList<double> rangesToBreaks( const QList<QgsClassificationRange> &classes );
 | 
						|
%Docstring
 | 
						|
Transforms a list of classes to a list of breaks
 | 
						|
%End
 | 
						|
 | 
						|
    QList<QgsClassificationRange> classes( const QgsVectorLayer *layer, const QString &expression, int nclasses );
 | 
						|
%Docstring
 | 
						|
This will calculate the classes for a given layer to define the classes.
 | 
						|
 | 
						|
:param layer: The vector layer
 | 
						|
:param expression: The name of the field on which the classes are calculated
 | 
						|
:param nclasses: The number of classes to be returned
 | 
						|
%End
 | 
						|
 | 
						|
    QList<QgsClassificationRange> classes( const QList<double> &values, int nclasses );
 | 
						|
%Docstring
 | 
						|
This will calculate the classes for a list of values.
 | 
						|
 | 
						|
:param values: The list of values
 | 
						|
:param nclasses: The number of classes to be returned
 | 
						|
%End
 | 
						|
 | 
						|
    QList<QgsClassificationRange> classes( double minimum, double maximum, int nclasses );
 | 
						|
%Docstring
 | 
						|
This will calculate the classes for defined bounds without any values.
 | 
						|
 | 
						|
.. warning::
 | 
						|
 | 
						|
   If the method implementation requires values, this will return an empty list.
 | 
						|
 | 
						|
:param minimum: The minimum value for the breaks
 | 
						|
:param maximum: The maximum value for the breaks
 | 
						|
:param nclasses: The number of classes to be returned
 | 
						|
%End
 | 
						|
 | 
						|
    QDomElement save( QDomDocument &doc, const QgsReadWriteContext &context ) const;
 | 
						|
%Docstring
 | 
						|
Saves the method to a DOM element and return it
 | 
						|
 | 
						|
:param doc: the DOM document
 | 
						|
:param context: the read/write context
 | 
						|
%End
 | 
						|
 | 
						|
    static QgsClassificationMethod *create( const QDomElement &element, const QgsReadWriteContext &context ) /Factory/;
 | 
						|
%Docstring
 | 
						|
Reads the DOM element and return a new classification method from it
 | 
						|
 | 
						|
:param element: the DOM element
 | 
						|
:param context: the read/write context
 | 
						|
%End
 | 
						|
 | 
						|
    static void makeBreaksSymmetric( QList<double> &breaks /In,Out/, double symmetryPoint, bool astride );
 | 
						|
%Docstring
 | 
						|
Remove the breaks that are above the existing opposite sign classes to keep colors symmetrically balanced around symmetryPoint
 | 
						|
Does not put a break on the symmetryPoint. This is done before.
 | 
						|
 | 
						|
:param breaks: The breaks of an already-done classification
 | 
						|
:param symmetryPoint: The point around which we want a symmetry
 | 
						|
:param astride: A bool indicating if the symmetry is made astride the symmetryPoint or not ( [-1,1] vs. [-1,0][0,1] )
 | 
						|
%End
 | 
						|
 | 
						|
    QString labelForRange( const QgsRendererRange &range, ClassPosition position = Inner ) const;
 | 
						|
%Docstring
 | 
						|
Returns the label for a range
 | 
						|
%End
 | 
						|
 | 
						|
    const QgsProcessingParameterDefinition *parameterDefinition( const QString ¶meterName ) const;
 | 
						|
%Docstring
 | 
						|
Returns the parameter from its name
 | 
						|
 | 
						|
.. versionadded:: 3.12
 | 
						|
%End
 | 
						|
 | 
						|
    QgsProcessingParameterDefinitions parameterDefinitions() const;
 | 
						|
%Docstring
 | 
						|
Returns the list of parameters
 | 
						|
 | 
						|
.. versionadded:: 3.12
 | 
						|
%End
 | 
						|
 | 
						|
    void setParameterValues( const QVariantMap &values );
 | 
						|
%Docstring
 | 
						|
Defines the values of the additional parameters
 | 
						|
 | 
						|
.. versionadded:: 3.12
 | 
						|
%End
 | 
						|
 | 
						|
    QVariantMap parameterValues() const;
 | 
						|
%Docstring
 | 
						|
Returns the values of the processing parameters.
 | 
						|
One could use QgsProcessingParameters.parameterAsXxxx to retrieve the actual value of a parameter.
 | 
						|
 | 
						|
.. versionadded:: 3.12
 | 
						|
%End
 | 
						|
 | 
						|
    static const int MAX_PRECISION;
 | 
						|
    static const int MIN_PRECISION;
 | 
						|
 | 
						|
  protected:
 | 
						|
 | 
						|
    void copyBase( QgsClassificationMethod *c ) const;
 | 
						|
%Docstring
 | 
						|
Copy the parameters (shall be used in clone implementation)
 | 
						|
%End
 | 
						|
 | 
						|
    QString formatNumber( double value ) const;
 | 
						|
%Docstring
 | 
						|
Format the number according to label properties
 | 
						|
%End
 | 
						|
 | 
						|
    void addParameter( QgsProcessingParameterDefinition *definition /Transfer/ );
 | 
						|
%Docstring
 | 
						|
Add a parameter to the method.
 | 
						|
The paramaeter is a processing parameter which will allow its configuration in the GUI.
 | 
						|
 | 
						|
.. note::
 | 
						|
 | 
						|
   Only parameters having their widget implementation in C++ are supported. i.e. pure
 | 
						|
   Python parameters are not supported.
 | 
						|
 | 
						|
.. versionadded:: 3.12
 | 
						|
%End
 | 
						|
 | 
						|
};
 | 
						|
 | 
						|
QFlags<QgsClassificationMethod::MethodProperty> operator|(QgsClassificationMethod::MethodProperty f1, QFlags<QgsClassificationMethod::MethodProperty> f2);
 | 
						|
 | 
						|
 | 
						|
/************************************************************************
 | 
						|
 * This file has been generated automatically from                      *
 | 
						|
 *                                                                      *
 | 
						|
 * src/core/classification/qgsclassificationmethod.h                    *
 | 
						|
 *                                                                      *
 | 
						|
 * Do not edit manually ! Edit header and run scripts/sipify.pl again   *
 | 
						|
 ************************************************************************/
 |