UniqueValue Class

  • UniqueValue
  • class Esri::ArcGISRuntime::UniqueValue

    A unique value definition for use with a unique value renderer. More...

    Header: #include <UniqueValue.h>
    Since: Esri::ArcGISRuntime 100.0
    Inherits: Esri::ArcGISRuntime::Object and Esri::ArcGISRuntime::JsonSerializable

    Public Functions

    UniqueValue(QObject *parent = nullptr)
    UniqueValue(const QString &label, const QString &description, const QVariantList &values, Esri::ArcGISRuntime::Symbol *symbol, QObject *parent = nullptr)
    UniqueValue(const QString &label, const QString &description, const QVariantList &values, Esri::ArcGISRuntime::Symbol *symbol, const QList<Esri::ArcGISRuntime::Symbol *> &alternateSymbols, QObject *parent = nullptr)
    virtual ~UniqueValue() override
    Esri::ArcGISRuntime::SymbolListModel *alternateSymbols() const
    Esri::ArcGISRuntime::UniqueValue *clone(QObject *parent = nullptr) const
    QString description() const
    QString label() const
    void setDescription(const QString &description)
    void setLabel(const QString &label)
    void setSymbol(Esri::ArcGISRuntime::Symbol *symbol)
    void setValues(const QVariantList &values)
    Esri::ArcGISRuntime::Symbol *symbol() const
    QVariantList values() const
    bool operator!=(const Esri::ArcGISRuntime::UniqueValue *other) const
    bool operator==(const Esri::ArcGISRuntime::UniqueValue *other) const

    Reimplemented Public Functions

    virtual QString toJson() const override
    virtual QJsonObject unknownJson() const override
    virtual QJsonObject unsupportedJson() const override

    Static Public Members

    Esri::ArcGISRuntime::UniqueValue *fromJson(const QString &json, QObject *parent = nullptr)

    Detailed Description

    A unique value corresponds to a specific value for an attribute field. A list of unique value instances are maintained in the UniqueValueListModel. When the unique value renderer is used to display a layer, the symbol used for a feature is determined by the value in a selected attribute. When the value matches the unique value, the corresponding symbol and label display.

    Unique values contain a value and description, as well as the label and symbol to display for features that contain attribute values that match the unique value.

    Relevant samples:

    See also UniqueValueRenderer.

    Member Function Documentation

    [explicit] UniqueValue::UniqueValue(QObject *parent = nullptr)

    Creates a new unique value object.

    • parent - The optional parent QObject.

    UniqueValue::UniqueValue(const QString &label, const QString &description, const QVariantList &values, Esri::ArcGISRuntime::Symbol *symbol, QObject *parent = nullptr)

    Constructor that takes a label, description, list of values, and symbol, with an optional parent.

    [since Esri::ArcGISRuntime 100.13] UniqueValue::UniqueValue(const QString &label, const QString &description, const QVariantList &values, Esri::ArcGISRuntime::Symbol *symbol, const QList<Esri::ArcGISRuntime::Symbol *> &alternateSymbols, QObject *parent = nullptr)

    Creates a new unique value (or unique combination of values) object with alternate symbols.

    • label - A label for the unique value. "Residential", for example.
    • description - A description of the unique value. "Parcels zoned for residential use", for example.
    • values - A QList containing QVariant types that define a unique value or unique combination of values.
    • symbol - A symbol used to represent elements with this unique value.
    • alternateSymbols - The alternate symbols for the unique value. Only MultilayerSymbol are supported as alternates.
    • parent - The optional parent QObject.

    A unique value can have alternate symbols to the primary symbol. Alternate symbols allow you to tailor the visualization of unique value at different scales by selecting different symbol for different scales. Alternate symbols are supported only when unique value's primary symbol and other symbols in the alternate symbol list are of type MultilayerSymbol and have SymbolReferenceProperties defining valid min and max scales at which the symbol becomes visible. A renderer will pick only one symbol at a given map scale. If a primary symbol's scale range falls within the map's scale, the primary symbol is used. If not, then symbols in the alternate symbols list are iterated through and the first symbol matching the current map scale is picked for rendering. A symbol becomes visible if the map scale is less than or equal to the symbol's minimum scale and greater than the symbol's maximum scale. For more information on scale-based symbol classes and alternate symbols, see https://pro.arcgis.com/en/pro-app/latest/help/mapping/layer-properties/scale-based-symbol-classes.htm.

    This function was introduced in Esri::ArcGISRuntime 100.13.

    [override virtual] UniqueValue::~UniqueValue()

    Destructor.

    [since Esri::ArcGISRuntime 100.13] Esri::ArcGISRuntime::SymbolListModel *UniqueValue::alternateSymbols() const

    Returns the alternate symbols for the unique value's primary symbol.

    Symbols in this list should be of type MultilayerSymbol and must have SymbolReferenceProperties set with valid minimum and maximum scale at which symbol becomes visible. A renderer will pick only one symbol at a given map scale. If a primary symbol's scale range falls within the map's scale, the primary symbol is used. If not, then symbols in the alternate symbols list are iterated through and the first symbol matching the current map scale is picked for rendering. A symbol becomes visible if the map scale is less than or equal to the symbol's minimum scale and greater than symbol's maximum scale.

    This function was introduced in Esri::ArcGISRuntime 100.13.

    Esri::ArcGISRuntime::UniqueValue *UniqueValue::clone(QObject *parent = nullptr) const

    Clones the unique value to a new instance with an optional parent.

    Returns a new instance of the unique value.

    QString UniqueValue::description() const

    Returns the description of the unique value.

    "Parcels zoned for residential use", for example.

    See also setDescription().

    [static] Esri::ArcGISRuntime::UniqueValue *UniqueValue::fromJson(const QString &json, QObject *parent = nullptr)

    Creates and returns a new unique value from the provided json, with an optional parent.

    See also JsonSerializable.

    QString UniqueValue::label() const

    Returns the label for the unique value.

    "Residential", for example.

    See also setLabel().

    void UniqueValue::setDescription(const QString &description)

    Sets the description of the unique value.

    "Parcels zoned for residential use", for example.

    See also description().

    void UniqueValue::setLabel(const QString &label)

    Sets the label to label.

    See also label.

    void UniqueValue::setSymbol(Esri::ArcGISRuntime::Symbol *symbol)

    Sets the symbol to symbol.

    See also symbol.

    void UniqueValue::setValues(const QVariantList &values)

    Sets the values to values.

    See also values.

    Esri::ArcGISRuntime::Symbol *UniqueValue::symbol() const

    Returns the symbol used to represent elements with this unique value.

    See also setSymbol().

    [override virtual] QString UniqueValue::toJson() const

    Reimplements: JsonSerializable::toJson() const.

    Returns this unique value as a JSON representation.

    See also JsonSerializable.

    [override virtual] QJsonObject UniqueValue::unknownJson() const

    Reimplements: JsonSerializable::unknownJson() const.

    Returns the unknown data from the source JSON.

    Unknown JSON is a dictionary of values not defined in the ArcGIS specification used to create this object but found in the source JSON. If the object is written back to JSON, any unknown JSON data is not persisted. The ArcGIS specification may be for a web map, web scene, REST API, and so on.

    See also JsonSerializable.

    [override virtual] QJsonObject UniqueValue::unsupportedJson() const

    Reimplements: JsonSerializable::unsupportedJson() const.

    Returns the unsupported data from the source JSON.

    Unsupported JSON is a dictionary of values defined in the ArcGIS specification used to create this object but not currently used in this API. If the object is written back to JSON, any unsupported JSON data is persisted. The ArcGIS specification may be from a web map, web scene, REST API, and so on.

    See also JsonSerializable.

    QVariantList UniqueValue::values() const

    Returns a QList containing QVariant types that define a unique value or unique combination of values.

    See also setValues().

    [since Esri::ArcGISRuntime 200.2] bool UniqueValue::operator!=(const Esri::ArcGISRuntime::UniqueValue *other) const

    Inequality operator. Returns true if this object and other are not equal.

    This function was introduced in Esri::ArcGISRuntime 200.2.

    See also UniqueValue::operator==.

    bool UniqueValue::operator==(const Esri::ArcGISRuntime::UniqueValue *other) const

    Equivalency operator

    Returns true if this object and other are equal.

    Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.