Skip to main content

ShapeAttributeValueProvider Class

The class that is used to obtain an attribute from a shape file source (Shapefile or KML file) that is applied to shape items.

Namespace: DevExpress.Xpf.Map

Assembly: DevExpress.Xpf.Map.v22.2.dll

NuGet Package: DevExpress.Wpf.Map

Declaration

public class ShapeAttributeValueProvider :
    AttributeValueProviderBase,
    IColorizerValueProvider

Example

This example demonstrates how to paint each map contour in a specific color, based on population data from the Shapefile.

To do this, create a colorizer and assign it to the VectorLayer.Colorizer property.

To access GDP information from Shapefiles, assign a ShapeAttributeValueProvider object with the specified attribute name (NamedAttributeProviderBase.AttributeName) to the ChoroplethColorizer.ValueProvider property.

Then, specify range stops (data splits in ranges) for the colorizer using the ChoroplethColorizer.RangeStops property.

Finally, add the desired set of colors to the ColorCollection object that is accessed using the MapColorizer.Colors property. The colorizer automatically associates each color with the specified data range to colorize map shapes.

View Example

<dxm:VectorLayer.Colorizer>
    <dxm:ChoroplethColorizer RangeStops="0 3000 10000 18000 28000 44000 82000 185000 1000000 2500000 15000000">
        <dxm:ChoroplethColorizer.ValueProvider>
            <dxm:ShapeAttributeValueProvider AttributeName="GDP_MD_EST"/>
        </dxm:ChoroplethColorizer.ValueProvider>
        <dxm:ChoroplethColorizer.Colors>
            <Color>#5F8B95</Color>
            <Color>#799689</Color>
            <Color>#A2A875</Color>
            <Color>#CEBB5F</Color>
            <Color>#F2CB4E</Color>
            <Color>#F1C149</Color>
            <Color>#E5A84D</Color>
            <Color>#D6864E</Color>
            <Color>#C56450</Color>
            <Color>#BA4D51</Color>
        </dxm:ChoroplethColorizer.Colors>
    </dxm:ChoroplethColorizer>
</dxm:VectorLayer.Colorizer>
<dxm:MapControl.Legends>
    <dxm:ColorScaleLegend Layer="{Binding ElementName=mapLayer}" Header="GDP By Countries"
                            Description="In US dollars." RangeStopsFormat="0,B" MinWidth="550"/>
</dxm:MapControl.Legends>

The following code snippet (auto-collected from DevExpress Examples) contains a reference to the ShapeAttributeValueProvider class.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

See Also