QgsSymbolV2* QgsGraduatedSymbolRendererV2Widget::findSymbolForRange( double lowerBound, double upperBound, const QgsRangeList& ranges ) const { for ( QgsRangeList::const_iterator it = ranges.begin(); it != ranges.end(); ++it ) { //range string has been created with option 'f',4 if ( doubleNear( lowerBound, it->lowerValue(), 0.0001 ) && doubleNear( upperBound, it->upperValue(), 0.0001 ) ) { return it->symbol(); } } return 0; }
void QgsGraduatedSymbolRenderer::toSld( QDomDocument &doc, QDomElement &element, const QgsStringMap &props ) const { QgsStringMap newProps = props; newProps[ QStringLiteral( "attribute" )] = mAttrName; newProps[ QStringLiteral( "method" )] = graduatedMethodStr( mGraduatedMethod ); // create a Rule for each range bool first = true; for ( QgsRangeList::const_iterator it = mRanges.constBegin(); it != mRanges.constEnd(); ++it ) { it->toSld( doc, element, newProps, first ); first = false; } }
void QgsGraduatedSymbolRenderer::toSld( QDomDocument& doc, QDomElement &element, QgsStringMap props ) const { props[ "attribute" ] = mAttrName; props[ "method" ] = graduatedMethodStr( mGraduatedMethod ); // create a Rule for each range bool first = true; for ( QgsRangeList::const_iterator it = mRanges.constBegin(); it != mRanges.constEnd(); ++it ) { QgsStringMap catProps( props ); it->toSld( doc, element, catProps, first ); first = false; } }
void QgsGraduatedSymbolRendererV2::toSld( QDomDocument& doc, QDomElement &element ) const { QgsStringMap props; props[ "attribute" ] = mAttrName; if ( mRotation.data() ) props[ "angle" ] = mRotation->expression(); if ( mSizeScale.data() ) props[ "scale" ] = mSizeScale->expression(); // create a Rule for each range for ( QgsRangeList::const_iterator it = mRanges.constBegin(); it != mRanges.constEnd(); ++it ) { QgsStringMap catProps( props ); it->toSld( doc, element, catProps ); } }
void QgsGraduatedSymbolRendererV2::toSld( QDomDocument& doc, QDomElement &element ) const { QgsStringMap props; props[ "attribute" ] = mAttrName; if ( !mRotationField.isEmpty() ) props[ "angle" ] = QString( mRotationField ).append( "\"" ).prepend( "\"" ); if ( !mSizeScaleField.isEmpty() ) props[ "scale" ] = QString( mSizeScaleField ).append( "\"" ).prepend( "\"" ); // create a Rule for each range for ( QgsRangeList::const_iterator it = mRanges.constBegin(); it != mRanges.constEnd(); it++ ) { QgsStringMap catProps( props ); it->toSld( doc, element, catProps ); } }
QgsSymbol *QgsGraduatedSymbolRendererWidget::findSymbolForRange( double lowerBound, double upperBound, const QgsRangeList &ranges ) const { int decimalPlaces = mRenderer->labelFormat().precision() + 2; if ( decimalPlaces < 0 ) decimalPlaces = 0; double precision = 1.0 / std::pow( 10, decimalPlaces ); for ( QgsRangeList::const_iterator it = ranges.begin(); it != ranges.end(); ++it ) { if ( qgsDoubleNear( lowerBound, it->lowerValue(), precision ) && qgsDoubleNear( upperBound, it->upperValue(), precision ) ) { return it->symbol(); } } return nullptr; }
QgsLegendSymbolList QgsGraduatedSymbolRendererV2::legendSymbolItems() { QSettings settings; bool showClassifiers = settings.value( "/qgis/showLegendClassifiers", false ).toBool(); QgsLegendSymbolList lst; if ( showClassifiers ) { lst << qMakePair( classAttribute(), ( QgsSymbolV2* )0 ); } QgsRangeList::const_iterator rangeIt = mRanges.constBegin(); for ( ; rangeIt != mRanges.constEnd(); ++rangeIt ) { lst << qMakePair( rangeIt->label(), rangeIt->symbol() ); } return lst; }