Click or drag to resize

Telogis.GeoBase.Clustering Namespace

Verizon Connect Logo
Print this page
Learn more about Verizon Connect GeoBase.
Get information about the latest release

The Telogis.GeoBase.Clustering namespace 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.

You can use the RemoteClusterLayer class to fetch clusters from an ASP.NET server that is running a ClusterPage. This mechanism can be used even if you are not using GeoStream.

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.

Classes
  ClassDescription
Public classCluster
A cluster that represents multiple items on the map that are spatially close together relative to the map zoom.
Public classClusterPage
The ClusterPage class can be used on an ASP.NET server to supply cluster information to a RemoteClusterLayer object on the client.
Public classClusterRenderer
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.
Public classClusterSet
The ClusterSet class represents a collection of Clusters.
Public classClusterVisualization
An abstract cluster visualization that sets the feature icon to be a purple dot.
Public classClusterVisualizationDot
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.
Public classClusterVisualizationPieChart
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.
Public classColumnClustering
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.
Public classLocalClusterLayer
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.
Public classPieChart
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.

Public classPieRing
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,...).
Public classRemoteClusterLayer
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.
Public classTally
Maintains a set of counts, each associated with a key.
Public classTransientClusterLayer
TransientClusterLayer is responsible for the fetching and indexing clusters and associated features. Feature information is fetched every time it calculates clusters.
Interfaces
  InterfaceDescription
Public interfaceIClusteringAlgorithm
The interface for a clustering algorithm used by LocalClusterLayer to generate clusters.
Public interfaceIClusterLayer
The interface implemented by all cluster layers.
Public interfaceIClusterVisualization
Generates images to represent clusters. Each image has a unique image ID.
Delegates
  DelegateDescription
Public delegateClusterSummaryDelegate
A delegate used for summarizing clustered features by a LocalClusterLayer.
Public delegateClustersUpdatedDelegate
The type of event handlers invoked when clusters are updated.
Public delegatePieChartDelegate
Creates a PieChart representing a cluster, based on a summary and count.