DictionarySymbolStyle QML Type

  • Esri.ArcGISRuntime
  • DictionarySymbolStyle
  • A dictionary symbol style object containing symbol primitives and rules for generating symbols from attribute values. More...

    Import Statement: import Esri.ArcGISRuntime
    Since: Esri.ArcGISRuntime 100.0
    Inherits:

    SymbolStyle

    Properties

    Signals

    Methods

    Detailed Description

    A DictionarySymbolStyle is created either from a style file on disk (an SQLite database with a .stylx extension, created with ArcGIS Pro) or from a dictionary style file hosted on ArcGIS Online or an ArcGIS Enterprise portal (also referred to as a dictionary web style)

    A DictionarySymbolStyle must contain a set of symbol primitives and a rule engine that parses input fields. The DictionarySymbolStyle assembles new symbols based on the input attribute values. DictionarySymbolStyle is often used to render symbols from a military specification (such as Mil2525D or App6B) but can also be used with a custom style.

    A DictionarySymbolStyle is used in conjunction with a DictionaryRenderer to symbolize geoelements in a FeatureLayer or GraphicsOverlay.

    Esri builds and maintains some dictionary web styles according to the US and NATO military symbol specifications. These desktop and web styles are hosted online and are publicly available. Refer to the ArcGIS Online Dictionary Symbology Styles group for the latest versions of the styles available.

    See also DictionaryRenderer.

    Property Documentation

    [read-only, since Esri.ArcGISRuntime 100.6] configurations : list<DictionarySymbolStyleConfiguration>

    Returns the configuration settings from the custom dictionary style (read-only).

    This property is populated after the DictionarySymbolStyle loads.

    This property was introduced in Esri.ArcGISRuntime 100.6.


    [read-only] dictionaryName : string

    Returns the name of the custom Arcade-based dictionary style (read-only).

    For older versions of style files, this is an empty string.


    [read-only] symbologyFieldNames : list<string>

    Returns the string list of attributes used to construct a symbol from the DictionarySymbolStyle (read-only).

    For example, mil2525d would include "identity", "symbolset", "symbolentity", and "modifier1", among many others. The newer Arcade-based styles define such attributes within the .stylx file as a JSON string.


    [read-only] textFieldNames : list<string>

    Returns the string list of attributes used to obtain text values for display with a symbol from a DictionarySymbolStyle (read-only).

    For example, mil2525d would include "combateffectiveness", "credibility", "reliability", and "staffcomment", among many others. The newer Arcade-based styles define such attributes within the .stylx file as a JSON string.


    Signal Documentation

    [since Esri.ArcGISRuntime 100.6] configurationsChanged()

    Emitted when the configurations property changes.

    Note: The corresponding handler is onConfigurationsChanged.

    This signal was introduced in Esri.ArcGISRuntime 100.6.


    [since Esri.ArcGISRuntime 100.6] dictionaryNameChanged()

    Emitted when the dictionaryName property changes.

    Note: The corresponding handler is onDictionaryNameChanged.

    This signal was introduced in Esri.ArcGISRuntime 100.6.


    symbologyFieldNamesChanged()

    Emitted when the symbologyFieldNames property changes.

    Note: The corresponding handler is onSymbologyFieldNamesChanged.


    textFieldNamesChanged()

    Emitted when the textFieldNames property changes.

    Note: The corresponding handler is onTextFieldNamesChanged.


    Method Documentation

    [since Esri.ArcGISRuntime 100.10] DictionarySymbolStyle createDictionarySymbolStyleFromUrl(url webStyleUrl)

    Creates a new dictionary symbol style object using web style item Url.

    • webStyleUrl - the URL of the web style item.

    This method can only be accessed via the Factory object.

    Factory.DictionarySymbolStyle.createDictionarySymbolStyleFromUrl(...)

    A dictionary symbol style using style item's URL.

    This method was introduced in Esri.ArcGISRuntime 100.10.


    [since Esri.ArcGISRuntime 100.6] DictionarySymbolStyle createFromFile(url filePath)

    A static method that creates a DictionarySymbolStyle using the given style file.

    • filePath - The path to the styleFile. This style file needs to be created with Pro verson 2.4 or above.

    This method can only be accessed via the Factory object now since the 100.9 release.

    //DictionarySymbolStyle.createFromFile(...); // old code
    Factory.DictionarySymbolStyle.createFromFile(...); // replacement code

    This method was introduced in Esri.ArcGISRuntime 100.6.


    string fetchSymbolWithKeyMap(jsobject keys)

    Retrieves a new symbol, as defined by the input keys.

    This asynchronous task is useful for obtaining a single, multi-layer symbol from supplied attributes. This is commonly used to create symbols and graphics on-the-fly. For example, with mil2525d, you may want to obtain a symbol where "symbolset" is 01 ("air"), "entity" is 110100 ("Military (Air) : Fixed-Wing"), "identity" is 3 ("friend"), and so on. All of these key/value pairs can be used to obtain the specific symbol that you need. Once you have that symbol, you can apply it to a Graphic or Renderer, obtain its swatch image, or serialize to JSON. The SymbolStyle::fetchSymbolStatusChanged signal emits once complete, with the SymbolStyle::fetchSymbolStatus being completed, giving access to the resulting symbol.

    Note: For mil2525d, symbolset, entity, and identity fields are required to create a symbol.

    Note: Esri builds and maintains some dictionary web styles according to the US and NATO military symbol specifications. These desktop and web styles are hosted online and are publicly available. Refer to the ArcGIS Online Dictionary Symbology Styles group for the latest versions of the styles available.


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