A symbol
A renderer
Some layer types don't support symbols
Symbols
For features
The following symbols
-
Simple symbols follow the web map specification. You can create these using the simple symbology API, or get them from web maps and feature services when advanced symbology is turned off.
-
Advanced symbols§ follow the ArcGIS Pro symbol model. You can create these using the multilayer symbol classes, or get them from feature services, mobile style files, dictionary renderers§, and mobile map packages.
When authoring maps in ArcGIS Pro
You should use advanced symbols
The following example creates a SimpleFillSymbol that uses a SimpleLineSymbol to define its outline:
// Create a solid while line symbol.
final simpleLineSymbol = SimpleLineSymbol(
style: SimpleLineSymbolStyle.solid,
color: Colors.white,
width: 2.0,
);
// Create a solid red fill symbol with a white outline.
final simpleFillSymbol = SimpleFillSymbol(
style: SimpleFillSymbolStyle.solid,
color: Colors.red,
outline: simpleLineSymbol,
);
The following code creates a SimpleMarkerSceneSymbol to define a 3D symbol for display in a ArcGISScene:
// Create an orange cone where the bottom of the
// symbol is the anchor point.
final pointSymbol = SimpleMarkerSceneSymbol(
style: SimpleMarkerSceneSymbolStyle.cone,
color: Colors.orange,
height: 15,
width: 15,
depth: 15,
anchorPosition: SceneSymbolAnchorPosition.bottom,
);
Renderers
A renderer
Renderers are always used to symbolize feature or raster layers, since symbols cannot be applied directly to that data. A renderer
Renderers
The following are the types of renderers available for feature layers and graphics overlays:
- Simple — A simple renderer
A simple renderer is a renderer that defines a single symbol used to display all features in a layer. displays all features in a layer or graphics overlayA graphics overlay is a client-side, temporary container of graphics to display on a map view or scene view. using the same symbol. For example, display all points in the world cities layer as a small red square. - Unique value — Applies a unique symbol for each specified value of an attribute (or combination of attributes). A unique value renderer
A unique value renderer is a renderer that defines a distinct symbol for each unique data value returned from a field or expression in a layer. can be based on any data type but is typically used with string attributes. For example, display points in the world cities layer using two symbols: a small gray triangle for features with a value ofNfor theCAPITALattribute and a large yellow star for those with a value ofY. - Class breaks — Symbolizes features or graphics according to specific ranges of values for an attribute. The attribute used for a class breaks renderer
A class breaks renderer is a renderer that classifies numeric data into two or more ranges of values to create a visualization. Each class (or range) is defined by a lower and an upper value and a unique symbol. must be numeric. For example, display world cityPOPULATIONvalue with three different symbols based on size range: a small blue circle for cities with a value between0and100000, a slightly larger blue circle for cities with a value between100001and2999999, and a larger blue circle for cities with a value over3000000. - Dictionary — Renders features or graphics by constructing multilayer symbols from a style file
A style file is a and associated attribute values. A dictionary renderer.stylxfile created in ArcGIS Pro that contains symbol primitives, such as the symbol frame, lines that make up inner icons.A dictionary renderer is a renderer that uses a style file generated in ArcGIS Pro from a rule engine and is used to display types of advanced symbology on a map, such as military symbology. is commonly used to display military symbology. See the Display symbols with a dictionary renderer topic for details.§
The following image shows a layer with a class breaks renderer. The renderer displays features as five classes of population, each with a different symbol (a darker or lighter shade of red).
The following raster renderers are available to control how raster
- Hillshade — Creates a grayscale 3D representation of an elevation surface, with the sun's (hypothetical) position taken into account for shading the image. It can be applied to a raster layer
A raster layer is a layer type that allows developers to display raster data in their applications. created with single-band rasterA raster is a matrix of cells (or pixels) organized into rows and columns (or a grid) where each cell contains a value representing information, such as temperature. Rasters include digital aerial photographs, imagery from satellites, digital pictures, and scanned maps. data. - Blend — Blends a hillshade
A hillshade is a layer data source with raster images that portrays hypothetical illumination of a surface by determining illumination values for each cell in a raster. image (derived from the rasterA raster is a matrix of cells (or pixels) organized into rows and columns (or a grid) where each cell contains a value representing information, such as temperature. Rasters include digital aerial photographs, imagery from satellites, digital pictures, and scanned maps. ) with the original raster. This provides a look similar to the original raster but with some terrain shading, for a rich, textured look. - Colormap — Provides a discrete mapping of raster
A raster is a matrix of cells (or pixels) organized into rows and columns (or a grid) where each cell contains a value representing information, such as temperature. Rasters include digital aerial photographs, imagery from satellites, digital pictures, and scanned maps. pixel values to colors. All pixels matching the specified value are rendered using the mapped color. This can be useful for tasks such as land classification. - Stretch — Displays continuous raster
A raster is a matrix of cells (or pixels) organized into rows and columns (or a grid) where each cell contains a value representing information, such as temperature. Rasters include digital aerial photographs, imagery from satellites, digital pictures, and scanned maps. cell values across a gradual ramp of colors. Use the stretch renderer to draw a single band of continuous data. The stretch renderer works well when you have a large range of values to display, such as in imagery, aerial photographs, or elevation models. - RGB — Uses the same methods as the stretch renderer but allows you to combine bands as red, green, and blue composites.
A SimpleRenderer that uses a SimpleMarkerSymbol for displaying all features. This renderer could be applied to a FeatureLayer or GraphicsOverlay:
// Create a simple renderer using a simple marker symbol.
final renderer = SimpleRenderer(
symbol: SimpleMarkerSymbol(
style: SimpleMarkerSymbolStyle.circle,
color: Colors.teal,
size: 12,
),
);
Styles
Layers can also be rendered using a style. Styles are containers that can store symbols, colors, and several other types of information used for rendering a layer. They promote consistency and standardization across your maps and scenes by defining a common set of symbology that can be shared between projects. In fact, the symbol galleries and color pickers you use when authoring maps and scenes in ArcGIS Pro or the ArcGIS Online Map Viewer are populated using styles. See the ArcGIS Pro Styles documentation for more information and a description of the types of styles.
Mobile style files§
Mobile style files are one of several style types you can create in ArcGIS Pro. They let you apply symbol styles using a .stylx file that's local to the device. This local file enables you to maintain style and branding consistency even when users are offline. Access symbols from the mobile style file using the SymbolStyle class.
Not all capabilities of ArcGIS Pro style files are supported in the mobile style file. The limitations are described in the Mobile styles section on the ArcGIS Pro Style page. For details on creating and applying a mobile style file, see the Create a mobile style for native apps blog.
§ This capability has not yet been implemented in ArcGIS Maps SDK for Flutter, but will be added in a future release. See this page for more details.ArcGIS vector tile layer styles
An ArcGIS vector tile layer
You can create your own style with the ArcGIS Vector Tile Style Editor. Your customized vector layers can then be saved to and read from ArcGIS Online.
WMS styles
A WMS
WMS servers provide clients with a list of supported styles for each layer. At run time, you can choose the style the WMS server uses to render map images. In general, styles are predefined and cannot be changed or added to.
The styles defined in the layer information can be inspected to determine the styles (if any) that are available. The style of a WMS