Thenamespace provides classes to support generating and displaying map features in clusters when they are close together.
Use the LocalClusterLayer class to add clustering support to a local map. When creating a local cluster layer, you must supply an IClusteringAlgorithm implementation such as ColumnClustering to indicate how clusters should be formed, an IPointFeatureSource implementation to supply the map features to be clustered, a ClusterSummaryDelegate to create your own representation of clustered features, and an IClusterVisualization implementation to convert that summary representation into images that can be displayed on the map.
Whether using a local cluster layer or remote cluster layer, you can create a ClusterRenderer for the cluster layer in order to render clusters on a local map.
A cluster that represents multiple items on the map that are spatially close together relative to the map zoom.
The ClusterPage class can be used on an ASP.NET server to supply cluster information to a RemoteClusterLayer object on the client.
The ClusterRenderer class renders clusters from an IClusterLayer on a map. A ClusterRenderer will automatically Invalidate the most recent MapCtrl drawn to when the underlying clusters change. If clusters are desired on more than one MapCtrl it is recommended to use a separate ClusterRenderer for each.
The ClusterSet class represents a collection of Clusters.
An abstract cluster visualization that sets the feature icon to be a purple dot.
ClusterVisualizationDot displays Clusters as colored circle containing the number of elements in the Cluster. The color of the circle depends on how many elements the Cluster contains.
Displays clusters as pie charts - one or more concentric discs each representing information about one variable relevant to the cluster, with the count of items in the cluster at the center of the pie chart.
A clustering algorithm which works by first creating a grid of clusters This clustering algorithm attempts to merge clusters so that cluster labels will not be incorrectly placed. This should mean that the center of any cluster icon will be over the centroid of the cluster.
LocalClusterLayer is responsible for the fetching, caching, and indexing of clusters and associated features. Feature information is fetched on another thread and OnClustersChanged is called when new features are available.
A PieChart is used to represent the summary information of a cluster. A PieChart may have one or more variables, each represented by a PieRing. The PieRings for a PieChart should all have the same total count (which should equal the number of items in the Cluster it represents), and different radii so they will all be visible.
The PieRing with the largest radius is rendered first. The PieRing with the next largest radius is rendered on top, so that the only part of the first PieRing that's still visible is determined by the difference in the radii. And so on until the PieRing with the smallest radius is rendered on the very top. Finally the count of items in the cluster is rendered at the center of the PieChart.
A PieChart may represent multiple variables, each one of which is represented by a PieRing. For example, a PieChart may have a PieRing for "Vehicle Status" (Moving, Idle, Stationary,...) and a PieRing for "Vehicle Type" (Car, Van, Truck,...).
RemoteClusterLayer is responsible for the fetching, caching, indexing of clusters fetched from a ClusterPage running under an ASP.NET server. All clustering information (clusters / images etc) is fetched asynchronously. OnClustersChanged is called when updated clusters or images are available. Clusters will be fetched using the BoundingBox and worldpx of the most recent call to QueryClusters.
Maintains a set of counts, each associated with a key.
TransientClusterLayer is responsible for the fetching and indexing clusters and associated features. Feature information is fetched every time it calculates clusters.
The interface for a clustering algorithm used by LocalClusterLayer to generate clusters.
The interface implemented by all cluster layers.
Generates images to represent clusters. Each image has a unique image ID.