(1)创建内存图层
/// <summary>
/// 创建内存图层,使用该图层创建网格
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button4_Click(object sender, EventArgs e)
{
ILayer pLayer = DataManage.GetLayer(mapControl, "计算单元网格");
if (pLayer != null && pLayer is IFeatureLayer)
{
mapControl.Map.DeleteLayer(pLayer);
}
ISpatialReference pSpatRef = mapControl.SpatialReference;
IFields pFields = new FieldsClass();
IFieldsEdit pFieldsEdit = pFields as IFieldsEdit;
IField pFeild = new FieldClass();
IFieldEdit pFeildEdit = pFeild as IFieldEdit;
pFeildEdit.Length_2 = 8;
pFeildEdit.Name_2 = "OBJECTID";
pFeildEdit.Type_2 = esriFieldType.esriFieldTypeOID;
pFieldsEdit.AddField(pFeild);
pFeild = new FieldClass();
pFeildEdit = pFeild as IFieldEdit;
pFeildEdit.Length_2 = 8;
pFeildEdit.Name_2 = "pvalue";
pFeildEdit.Type_2 = esriFieldType.esriFieldTypeDouble;
pFieldsEdit.AddField(pFeild);
IFeatureLayer pFeatureLayer = Utility.CreateFeatureLayerInmemeory("计算单元网格", "计算单元网格", pSpatRef, esriGeometryType.esriGeometryPolygon, pFields);
mapControl.AddLayer(pFeatureLayer, 0);
}
public class Utility
{
/// <summary>
/// 在内存中创建图层
/// </summary>
/// <param name="DataSetName">数据集名称</param>
/// <param name="AliaseName">别名</param>
/// <param name="SpatialRef">空间参考</param>
/// <param name="GeometryType">几何类型</p