Telogis.GeoBase.Clustering Namespace |
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.
Class | Description | |
---|---|---|
Cluster |
A cluster that represents multiple items on the map that are spatially close together
relative to the map zoom.
| |
ClusterPage |
The ClusterPage class can be used on an ASP.NET server to supply cluster
information to a RemoteClusterLayer
object on the client.
| |
ClusterRenderer |
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.
| |
ClusterSet |
The ClusterSet class represents a collection of
Clusters.
| |
ClusterVisualization |
An abstract cluster visualization that sets the feature icon to be a purple dot.
| |
ClusterVisualizationDot |
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.
| |
ClusterVisualizationPieChart |
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.
| |
ColumnClustering |
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 |
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.
| |
PieChart |
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. | |
PieRing |
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 |
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.
| |
Tally |
Maintains a set of counts, each associated with a key.
| |
TransientClusterLayer |
TransientClusterLayer is responsible for the fetching and indexing clusters
and associated features. Feature information is fetched every time it calculates clusters.
|
Interface | Description | |
---|---|---|
IClusteringAlgorithm |
The interface for a clustering algorithm used by
LocalClusterLayer to generate clusters.
| |
IClusterLayer |
The interface implemented by all cluster layers.
| |
IClusterVisualization |
Generates images to represent clusters. Each image has a unique image ID.
|
Delegate | Description | |
---|---|---|
ClusterSummaryDelegate |
A delegate used for summarizing clustered features by a
LocalClusterLayer.
| |
ClustersUpdatedDelegate |
The type of event handlers invoked when clusters are updated.
| |
PieChartDelegate |
Creates a PieChart representing a cluster, based on a summary and count.
|