陌生的不再陌生

导航

Dotspatial 唯一值专题图

/// <summary>
/// 分类专题图,如按林班号分类
/// </summary>
/// <param name="mapControl">Map</param>
/// <param name="catalogFields">分类字段</param>
public static void ThemeUniqueValues(Map mapControl, string catalogFields)
{
//check the number of layers from map control
if (mapControl.Layers.Count > 0)
{
//Delacre a MapPolygonLayer
MapPolygonLayer stateLayer = default(MapPolygonLayer);
//Type cast the FirstLayer of MapControl to MapPolygonLayer
stateLayer = (MapPolygonLayer) mapControl.Layers[0];
//Check the MapPolygonLayer ( Make sure that it has a polygon layer)
if (stateLayer == null)
{
MessageBox.Show("The layer is not a polygon layer.");
}
else
{
//Create a new PolygonScheme
PolygonScheme scheme = new PolygonScheme();
//Set the ClassificationType for the PolygonScheme via EditotSettings
scheme.EditorSettings.ClassificationType = ClassificationType.UniqueValues;
//Set the UniqueValue field name
//Here STATE_NAME would be the Unique value field
scheme.EditorSettings.FieldName = catalogFields; //"林班号";
//create categories on the scheme based on the attributes table and field name
//In this case field name is STATE_NAME
scheme.CreateCategories(stateLayer.DataSet.DataTable);
//Set the scheme to stateLayer's symbology
stateLayer.Symbology = scheme;
}
}
else
{
MessageBox.Show("Please add a layer to the map.");
}
}

 

 

调用方法:

//唯一值专题图
string catalogFields = "关键字";
Lzq_Theme.ThemeUniqueValues(mapMain, catalogFields);

posted on 2020-02-06 14:44  陌生的不再陌生  阅读(354)  评论(0编辑  收藏  举报