Add new Field Domain merge policy

This commit is contained in:
Juho Ervasti 2025-02-12 17:06:13 +02:00
parent d03746bd9f
commit b0a12f78aa
7 changed files with 20 additions and 0 deletions

View File

@ -6928,6 +6928,7 @@ Qgis.FieldDomainSplitPolicy.baseClass = Qgis
Qgis.FieldDomainMergePolicy.DefaultValue.__doc__ = "Use default field value"
Qgis.FieldDomainMergePolicy.Sum.__doc__ = "Sum of values"
Qgis.FieldDomainMergePolicy.GeometryWeighted.__doc__ = "New values are computed as the weighted average of the source values"
Qgis.FieldDomainMergePolicy.UnsetField.__doc__ = "Clears the field value so that the data provider backend will populate using any backend triggers or similar logic \n.. versionadded:: 3.44"
Qgis.FieldDomainMergePolicy.__doc__ = """Merge policy for field domains.
When a feature is built by merging multiple features, defines how the value of
@ -6938,6 +6939,10 @@ attributes following the domain are computed.
* ``DefaultValue``: Use default field value
* ``Sum``: Sum of values
* ``GeometryWeighted``: New values are computed as the weighted average of the source values
* ``UnsetField``: Clears the field value so that the data provider backend will populate using any backend triggers or similar logic
.. versionadded:: 3.44
"""
# --

View File

@ -2112,6 +2112,7 @@ The development version
DefaultValue,
Sum,
GeometryWeighted,
UnsetField,
};
enum class FieldDuplicatePolicy /BaseType=IntEnum/

View File

@ -6862,6 +6862,7 @@ Qgis.FieldDomainSplitPolicy.baseClass = Qgis
Qgis.FieldDomainMergePolicy.DefaultValue.__doc__ = "Use default field value"
Qgis.FieldDomainMergePolicy.Sum.__doc__ = "Sum of values"
Qgis.FieldDomainMergePolicy.GeometryWeighted.__doc__ = "New values are computed as the weighted average of the source values"
Qgis.FieldDomainMergePolicy.UnsetField.__doc__ = "Clears the field value so that the data provider backend will populate using any backend triggers or similar logic \n.. versionadded:: 3.44"
Qgis.FieldDomainMergePolicy.__doc__ = """Merge policy for field domains.
When a feature is built by merging multiple features, defines how the value of
@ -6872,6 +6873,10 @@ attributes following the domain are computed.
* ``DefaultValue``: Use default field value
* ``Sum``: Sum of values
* ``GeometryWeighted``: New values are computed as the weighted average of the source values
* ``UnsetField``: Clears the field value so that the data provider backend will populate using any backend triggers or similar logic
.. versionadded:: 3.44
"""
# --

View File

@ -2112,6 +2112,7 @@ The development version
DefaultValue,
Sum,
GeometryWeighted,
UnsetField,
};
enum class FieldDuplicatePolicy

View File

@ -2244,6 +2244,9 @@ QString QgsFieldDomainDetailsWidget::htmlMetadata( QgsFieldDomain *domain, const
case Qgis::FieldDomainMergePolicy::GeometryWeighted:
metadata += tr( "Use geometry weighted value" );
break;
case Qgis::FieldDomainMergePolicy::UnsetField:
metadata += tr( "Unset field" );
break;
}
metadata += QLatin1String( "</table>\n<br><br>" );

View File

@ -3729,6 +3729,7 @@ class CORE_EXPORT Qgis
DefaultValue, //!< Use default field value
Sum, //!< Sum of values
GeometryWeighted, //!< New values are computed as the weighted average of the source values
UnsetField, //!< Clears the field value so that the data provider backend will populate using any backend triggers or similar logic \since QGIS 3.44
};
Q_ENUM( FieldDomainMergePolicy )

View File

@ -2298,6 +2298,10 @@ OGRFieldDomainH QgsOgrUtils::convertFieldDomain( const QgsFieldDomain *domain )
case Qgis::FieldDomainMergePolicy::Sum:
OGR_FldDomain_SetMergePolicy( res, OFDMP_SUM );
break;
case Qgis::FieldDomainMergePolicy::UnsetField:
// not supported
break;
}
switch ( domain->splitPolicy() )