LinearRangeDistribution Class
Represents the linear distribution of color ranges in a colorizer.
Namespace: DevExpress.XtraMap
Assembly: DevExpress.XtraMap.v24.2.dll
Declaration
Related API Members
The following members return LinearRangeDistribution objects:
Example
Set the LinearRangeDistribution
, LogarithmicRangeDistribution or ExponentialRangeDistribution object to the ChoroplethColorizer.RangeDistribution property.
Note that if the ChoroplethColorizer.ApproximateColors property value equals false, shapes with values inside one range interval have the same color.
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using DevExpress.Map;
using DevExpress.XtraMap;
namespace RangeDistributions {
public partial class Form1 : Form {
const string filepath = "../../Data/Countries.shp";
List<RangeDistributionBase> distributions = new List<RangeDistributionBase>{
new LinearRangeDistribution(),
new LogarithmicRangeDistribution(),
new ExponentialRangeDistribution()
};
VectorItemsLayer MapLayer { get { return (VectorItemsLayer)mapControl1.Layers["MapLayer"]; } }
ChoroplethColorizer Colorizer { get { return (ChoroplethColorizer)MapLayer.Colorizer; } }
ShapefileDataAdapter Adapter { get { return (ShapefileDataAdapter)MapLayer.Data; } }
public Form1() {
InitializeComponent();
cbRangeDistribution.DataSource = distributions;
Uri baseUri = new Uri(System.Reflection.Assembly.GetEntryAssembly().Location);
Adapter.FileUri = new Uri(baseUri, filepath);
}
private void cbRangeDistribution_SelectedIndexChanged(object sender, EventArgs e) {
RangeDistributionBase selectedDistribution = cbRangeDistribution.SelectedItem as RangeDistributionBase;
if (selectedDistribution == null) return;
if (selectedDistribution.Equals(distributions[0])) seFactor.Enabled = false;
else {
seFactor.Enabled = true;
EquationRangeDistribution eqDistribution = selectedDistribution as EquationRangeDistribution;
eqDistribution.Factor = (double)seFactor.Value;
}
Colorizer.RangeDistribution = selectedDistribution;
}
private void seFactor_EditValueChanged(object sender, EventArgs e) {
EquationRangeDistribution distribution = Colorizer.RangeDistribution as EquationRangeDistribution;
if (distribution == null) return;
distribution.Factor = (double)seFactor.Value;
}
#region #ApproximateColors
private void cbApproximateColors_CheckedChanged(object sender, EventArgs e) {
Colorizer.ApproximateColors = cbApproximateColors.Checked;
}
#endregion #ApproximateColors
}
}
Inheritance
Object
RangeDistributionBase
LinearRangeDistribution
See Also