Defining output symbology for geoprocessing tasks
Symbology defines the appearance of the data when drawn. There are two components of symbology:
- Symbol type
- Layer symbology
A symbol type defines the appearance of an individual symbol. Symbol types can be simple, such as a solid line or polygon fill; or complex, such as a line with dashes and dots; or a pictorial polygon fill used for marshes and swamps.
Layer symbology, on the other hand, defines how features will be grouped for drawing. The simplest case is to draw all features using the same symbol (a single group). More often, however, you group the features into categories or quantities using an attribute of the features, then draw each group in a different symbol.
You have two choices for drawing the data output by a geoprocessing task:
- The client draws the data.
- The result map service draws the data.
When the client draws the output data, two pieces of information are sent to the client: the data and a layer drawing description. The layer drawing description contains the information you specify on the Symbology tab of a layer's Properties dialog box, illustrated above. This information includes how to group data (the layer symbology) and what symbols to use (symbol types). Only certain layer symbologies and symbol types are supported by clients, even if the client is ArcMap.
If you are authoring a task to be consumed by more than one of the supported clients (ArcMap, ArcGIS Explorer, or a Web mapping application), use simple symbology that can be drawn by all clients. Otherwise, you may need multiple services with different symbologies, one for each of the different clients.
Layer symbology
When a task's output data is drawn by a result map service, the layer symbology found in the task's corresponding tool layer is used. You can use any layer symbology since ArcMap (running on the server) will be drawing the data and transporting an image of the completed map back to the client. The capabilities of the client do not affect how ArcMap draws the result.
To choose a layer symbology, right-click a layer in ArcMap and click Properties. On the Layer Properties dialog box, click the Symbology tab. The list of layer symbologies is on the left, as illustrated below.
Feature layer symbology supported by all clients
For feature layers, the following layer symbologies are supported by all clients:
- Features
- Single symbol
- Categories
- Unique values
- Quantities
- Graduated colors
- Graduated symbols
Raster layer symbology supported by all clients
For raster layers, the following layer symbologies are supported by all clients:
- Unique values
- Classified
- Stretched
- RGB composite (available only for multiband images)
Transparency, brightness, and contrast
In addition to the layer symbology you define on the Symbology tab, you can also set transparency, brightness, and contrast for the layer on the Display tab of the Layer Properties dialog box. Transparency is available for both feature and raster layers. Brightness and contrast are only available for raster layers.
Two methods for specifying layer symbology
You can define the layer symbology to use:
- Specify layer symbology in your model or script.
- Modify the corresponding tool layer symbology.
Specifying layer symbology in your model or script
You can specify layer symbology in your model or script by setting the Layer Symbology property on your output variable. The example below shows a model, but the same capability is available for scripts.
You can also use the Apply Symbology From Layer tool in your model or script.
Whether you use a layer symbology file or the Apply Symbology From Layer tool is up to you. They are functionally equivalent.
If you are publishing a geoprocessing toolbox (as opposed to a source map document containing tool layers), these are the only two methods available to you to specify symbology.
Modifying tool layer symbology
When publishing a geoprocessing service, you can publish an ArcMap document containing tool layers. Each tool layer becomes a task in the service. The outputs of your model or script are displayed as sublayers of the tool layer. If the output of your model is a dataset and you are using a tool layer, the symbology of the sublayer is used to produce the layer drawing description.
You can change the symbology properties of these sublayers (right-click the sublayer and click Properties) and the output of your model or script will be displayed with the symbology you set for the sublayer.
- If the output of your model or script is a layer (such as a feature layer or raster layer), the symbology specified in the output layer variable will always be used. The reason for this rule is that some tools output layers containing custom symbology. To preserve this custom symbology, the symbology in the tool sublayer must be ignored.
- If the output of your model is a dataset (such as a feature class or raster), the symbology defined by the tool sublayer will be used.
Dynamic update of symbology
When you are symbolizing data in unique value categories, the state of the <all other values> check box determines how the data will be symbolized.
|
Checked—The data will be symbolized as specified. The legend is unchanged. No new categories are created. This is referred to as static symbology. |
|
Unchecked—The data will be read and new categories will be created based on it. The legend will change. This is referred to as dynamic symbology. |
If you are symbolizing data with graduated colors or symbols, you specify the number of classes to create. Output data will automatically be reclassified into the number of classes you specify. To prevent reclassification, use a manual classification.
This dynamic update of symbology only occurs if the client is drawing the data. If the result map service draws the data, the symbology is static (that is, the legend does not update to reflect new data values).
Symbol types
If your output is to be drawn by a result map service, the client is not responsible for symbolizing data—the result map service (which uses ArcMap running on the server) will create a map image and send the map image to the client. Therefore, you can use any symbol type supported by ArcMap.
The remainder of this discussion deals with geoprocessing services that do not use a result map service. In these services, the client is responsible for drawing the data. Whenever the client draws the data, you need to be aware of what symbol types are supported by the client.
How symbol types are defined in ArcMap
You can inspect and define the symbol type on the Symbol Property Editor dialog box. There are two ways to open Symbol Property Editor:
- Click the symbol in the ArcMap layer. This opens the Symbol Selector dialog box. Click Properties. This opens Symbol Property Editor, illustrated below.
- Alternatively, right-click the layer in ArcMap and click Properties. This opens the Layer Properties dialog box. Click the Symbology tab. For any symbol displayed on the dialog box, you can double-click the symbol to open Symbol Property Editor.
The type of symbol is displayed in the Type list, illustrated above. You can choose different types.
Four types of clients
For the purposes of this discussion, there are four types of clients:
- ArcMap
- ArcGIS Explorer
- Web applications, such as those built with ArcGIS Server Manager
- Web applications that display KML, such as Google Earth
Symbol types supported by ArcMap client
If your service is only to be used by ArcMap clients, you can use any symbol type found in ArcMap.
Symbol types supported by ArcGIS Explorer
ArcGIS Explorer is a lightweight client and can only draw simple symbols. The table below shows the ArcMap symbol types that ArcGIS Explorer clients can use.
Points |
Lines |
Polygons |
---|---|---|
Simple marker symbol |
Simple line symbol |
Simple fill symbol |
Character marker symbol |
Picture fill symbol |
|
Picture marker symbol |
||
3D symbols found in the ArcGIS_Explorer symbol style (see note below) |
ArcGIS Explorer is a 3D application and can draw 3D symbols. There is a symbol style named ArcGIS_Explorer that contains the 3D symbols that ArcGIS Explorer can draw. To access the symbols in this style, click More Symbols on the Symbol Selector dialog box, then choose the ArcGIS_Explorer symbol style. The 3D symbols supported by ArcGIS Explorer will be added to the list of available symbols. You can use 3D symbols not found in the ArcGIS_Explorer style, but you need to thoroughly test your service with ArcGIS Explorer. Some 3D symbols may not draw correctly, especially for complex 3D symbols such as buildings.
Web applications
The table below shows the ArcMap symbol types that Web clients can use.
Points |
Lines |
Polygons |
---|---|---|
Simple marker symbol |
Simple line symbol |
Simple fill symbol |
Character marker symbol (see note below) |
Picture fill symbol |
|
Picture marker symbol |
Character marker symbols can have multiple symbol layers. Symbols with multiple layers cannot be drawn by Web clients.
Web applications using KML
Web applications using KML support the same symbol styles shown for Web applications above. For a complete discussion of KML and compatible symbol styles, follow the links below: