This sample consists of two custom classifications that are based on mathematical progressions: Arithmetic is based on an arithmetic progression, and Geometric is based on a geometric progression. Both classifictions can be used to classify vector or raster data in ArcMap, and are used with renderers that use a classification (ClassBreaksRenderer, RasterClassifyColorRampRenderer). A custom interface, IClassifyProgression is also defined.

The code demonstrates how create and use a custom classification method within the ArcGIS framework.

How to use:
  1. Register this sample's dll by compiling the sample or by using Regsvr32.exe.
  2. Using the Categories.exe program, add the Arithmetic and Geometric components from this sample's DLL to the "ESRI Classification Methods" category.
  3. Close and re-start ArcMap.
  4. In the Visual Basic Editor, go to Tools > References. If this sample's dll does not appear in the Available References box, browse to the dll and add it. Check the box next to the dll's name (ClassifyCustom). Dismiss the References dialog.
  5. Add a dataset to ArcMap that you wish to classify using one of the custom classifications.
  6. Set up graduated color or graduated symbol symbology on the layer through the layer properties dialog, symbology tab. Press the Classify button, select either Arithmetic or Geometric. Change properties as desired and press OK to apply the classification to your data.


Requires: An ArcMap session with a feature layer to be classified.

Difficulty: Intermediate

Visual Basic
File Description
IClassifyProgression.cls Custom interface class.
Arithmetic.cls CoClass for an arithmetic classification.
Geometric.cls CoClass for a geometric classification.
CustomClassifications.vbp Visual Basic project file.
CustomClassifications.dll The compiled component.
dlgProperties.frm Dialog box for classification properties.

Key CoClasses: None
Key Interfaces: IClassify
Key Members: IClassify::Classify