Valence renderer


Purpose
The sample will demonstrate how to do the following:
  • Display simple junctions based on the number of connected edges
  • Create a custom renderer with an associated property page that can be included in the list of available renderers in ArcMap
  • Limit renderers to specific feature classes (in this case, simple junctions)
  • Create a working entry for the rendered layer that appears in the table of contents (TOC) and displays in a legend
This renderer can be consumed in ArcMap or in an ArcGIS Engine application.

How to use

See How to use ArcGIS samples for help on running the sample.

Consume the renderer in ArcMap (Windows only);
  1. Navigate to this sample's lib folder (valencerenderer/lib) and copy ValenceRendererPropertyPage.jar into the <ArcGIS Desktop Install Dir>/java/lib/ext folder to deploy the property page. The sample's functionality will become available to you when you start ArcMap.
  2. Start ArcMap and add the highway_net_Junctions feature class from the <DevKitHome Install Dir>/java/samples/data/usa/usa.gdb file geodatabase.
  3. Right-click the highway_net_Junctions layer in ArcMap and select Properties.
  4. In the Layer Properties dialog, select the Symbology tab. The Network Renderer category is listed in the Table of Contents (TOC) for this layer.
  5. Select the Valence Renderer from the TOC. To the right a dialog box opens for you to provide details that are used to define your custom renderer.
  6. Click each button, select a color and click OK when finished. Notice that the color is applied to the map and TOC in ArcMap.
  7. Once the renderer is applied to the layer, you can save the map document by clicking the Save icon (don't forget to provide a meaningful name for your .mxd file when saving). The map document is saved now with the custom renderer applied to the highway_net_Junctions layer.
  8. Close ArcMap.
  9. Open ArcMap using the map document you just saved. Notice that the highway_net_Junctions layer's custom symbology has been persisted and restored in ArcMap.

Consume the renderer in an ArcGIS Engine application (Cross-Platform):
  1. Navigate to the sample's lib folder (valencerenderer/lib) and copy ValenceRendererExt.jar into the <ArcGIS Engine Install Dir>/java/lib/ext folder to deploy the custom renderer extension. The extension functionality will become available to you when you start the ArcGIS Engine application.
  2. Navigate to this sample's bin folder (valencerenderer/bin) and execute the ValenceRenderer.jar to start the application.
  3. Click 'Apply Custom Renderer'. The custom renderer is applied to the highway_net_Junction layer.
  4. After the renderer is applied, click Save to save a map document (give a logical name for your .mxd).
  5. Navigate to this sample's bin folder (valencerenderer/lib) and execute the ValenceRenderer.jar to start the application again.
  6. Open the map document you just saved. Notice that the renderer is already applied to the highway_net_Junction layer as it was persisted as part of the map document.

If you installed the samples feature, you will find the files associated with this sample in <Your Developer Kit install location>\DeveloperKit10.4\Java\Samples\ArcObjects.

cartography/ValenceRendererMain.java Main class that consumes the custom renderer in an ArcGIS Engine application.
cartography/ValenceRenderer.java Custom renderer that implements IFeatureRenderer, ILegendInfo, Externalizable, and IDocumentVersionSupportGen and contains the draw method.
cartography/propertypage/ValenceRendererPropertyPage.java Property page that associates the user interface (UI) to the renderer so that values can be set from the UI to the renderer. The property page extends the base property page, BaseCustomRendererPropertyPage.
cartography/propertypage/ValenceRendererPropertyPageUI.java A pure swing based GUI that is embedded in ArcMap and is used to pass values to the custom renderer.

See Also:

How to implement custom feature renderers
How to implement custom property pages for custom feature renderers
How to implement TOC legends for custom feature renderers
How to implement persistence for a custom feature renderer
Consuming custom feature renderers




Development licensing Deployment licensing
Engine Developer Kit Engine
ArcGIS for Desktop Basic