设计界面

创建类

代码如下

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using ESRI.ArcGIS.Controls;

using System.Data;

using ESRI.ArcGIS.Carto;

using ESRI.ArcGIS.Geodatabase;

using ESRI.ArcGIS.Geometry;



namespace test

{

public class DataHelper

{

#region 读取mapControl属性表

public static DataTable GetAttribute(AxMapControl axMapControl)

{

int layerCount = axMapControl.Map.LayerCount;



// IFeature pFeature;

string fieldName=string.Empty;

int fieldCount;

bool firstThroght=true;

DataTable dataTable = new DataTable();

//循环图层得到每一层的数据

for (int l = 0; l < layerCount; l++)

{

IFeatureLayer pFeatureLayer = axMapControl.Map.get_Layer(l) as IFeatureLayer;

IFeatureClass pFeatureClass = pFeatureLayer.FeatureClass;

fieldCount = pFeatureClass.Fields.FieldCount;

int featureCount = pFeatureClass.FeatureCount(new QueryFilterClass());

if (firstThroght)

{

for (int i = 0; i < fieldCount; i++)

{

string fieldHeadName = pFeatureClass.Fields.get_Field(i).AliasName;

dataTable.Columns.Add(fieldHeadName);



}

firstThroght = false;

}

//判断feature的类型

int indexofShape = pFeatureClass.FindField("Shape");

ESRI.ArcGIS.Geometry.esriGeometryType pFeatureClassShapeType = pFeatureClass.ShapeType;

for (int i = 0; i < featureCount; i++)

{

DataRow dataRow = dataTable.NewRow();

for (int j = 0; j < fieldCount; j++)

{

if (j == indexofShape)

{

//Geometroy.shapetype转换

switch (pFeatureClassShapeType)

{

case esriGeometryType.esriGeometryPoint:

fieldName = "Point";

break;

case esriGeometryType.esriGeometryPolyline:

fieldName = "Polyline";

break;

case esriGeometryType.esriGeometryPolygon:

fieldName = "Polygon";

break;

default:

break;

}

// fieldName = pFeatureClass.GetFeature(i).get_Value(j).ToString();

//dataTable.Columns.Add(fieldName);



dataRow[j] = fieldName;

}

else

{

//添加非shape字段到表中

fieldName = pFeatureClass.GetFeature(i).get_Value(j).ToString();

//dataTable.Columns.Add(fieldName);



dataRow[j] = fieldName;

}



//dataTable[i][j] = fieldName;

}

dataTable.Rows.Add(dataRow);



}

}

return dataTable;

}

#endregion

}

}

Arc Engiene读取文档的属性的更多相关文章

  1. 基本控件文档-UILabel属性

    CHENYILONG Blog 基本控件文档-UILabel属性 Fullscreen UILabel属性技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http ...

  2. 基本控件文档-UITextField属性

    CHENYILONG Blog 基本控件文档-UITextField属性 Fullscreen   UITextField属性技术博客http://www.cnblogs.com/ChenYilong ...

  3. 基本控件文档-UIButton属性

    CHENYILONG Blog 基本控件文档-UIButton属性 Fullscreen UIButton属性技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博ht ...

  4. 基本控件文档-UISlider属性

    CHENYILONG Blog 基本控件文档-UISlider属性 Fullscreen     UISlide属性技术博客http://www.cnblogs.com/ChenYilong/ 新浪微 ...

  5. 基本控件文档-UISegment属性

    CHENYILONG Blog 基本控件文档-UISegment属性 Fullscreen   UISegment属性技术博客http://www.cnblogs.com/ChenYilong/ 新浪 ...

  6. 基本控件文档-UISwitch属性

    CHENYILONG Blog 基本控件文档-UISwitch属性 Fullscreen     UISwitch属性 技术博客http://www.cnblogs.com/ChenYilong/ 新 ...

  7. 基本控件文档-UIView属性

    CHENYILONG Blog 基本控件文档-UIView属性 Fullscreen   UIView属性技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http ...

  8. 解决Spring的java项目打包后执行出现“无法读取方案文档...“、“原因为 1) 无法找到文档; 2) 无法读取文档; 3) 文档的根元素不是...”问题

    问题 一个用Spring建的java项目,在Eclipse或idea中运行正常,为什么打包后运行出现如下错误呢? 2019/07/10/19:04:07 WARN [main] org.springf ...

  9. golang mongodb (mgo)插入或读取文档的字段值为空(nil)问题解决

    问题描述 当使用mgo操作mongodb时,遇到数据插入正常,但是在数据库查看时只能看到objectid被插入了:读取的时候,可以查询到记录,但是读入对象时,却所有的值均为0或者空的情况. mongo ...

随机推荐

  1. 使用VisualSVN Server自动发布站点

    使用VisualSVN Server自动发布站点可以节省大量的发布时间. 适用于项目测试版本 通常一个项目在测试阶段会遇到以下问题 1.开发人员修改缺陷要实时反应到测试环境 2.项目经理想让客户及时看 ...

  2. 批量修改文件后缀(Python)

    近期下载了很多各种教程, 但是不幸的是后缀名都是 ".mp4", 而本人喜欢 ".rmvb" 后缀,由于有轻微洁癖, 受不了后面的 ".mp4&quo ...

  3. andriod

    谷歌提供的安卓源码中,网址如下:http://androidxref.com http://blog.csdn.net/zoe6553/article/details/6622258

  4. _cpluscplus

    _cpluscplus是c++中的定义,而c中没有该定义 1.用来判定代码是c类型还是c++类型 2._cplusplus的类型是"long int",值为199711L int ...

  5. 101个MySQL的调节和优化的Tips

    MySQL 是一个功能强大的开源数据库.随着越来越多的数据库驱动的应用程序,人们一直在推动MySQL发展到它的极限.这里是101条调节和优化MySQL安装的技巧.一些技巧是针对特定的安装环境的,但这些 ...

  6. iOS10相册相机闪退bug-b

    iOS10系统下调用系统相册.相机功能,遇到闪退的情况,描述如下: This app has crashed because it attempted to access privacy-sensit ...

  7. asp.net中的mysql传参数MySqlParameter

    注意在asp.net中传参 string sql="select name,id from user where id=@id"; //@idm不需要引号 MySqlParamet ...

  8. Android使用XML做动画UI

    在Android应用程序,使用动画效果,能带给用户更好的感觉.做动画可以通过XML或Android代码.本教程中,介绍使用XML来做动画.在这里,介绍基本的动画,如淡入,淡出,旋转等. 效果: htt ...

  9. 【BZOJ】【3158】千钧一发

    网络流/最小割 这题跟BZOJ 3275限制条件是一样的= =所以可以用相同的方法去做……只要把边的容量从a[i]改成b[i]就行了- (果然不加当前弧优化要略快一点) /************** ...

  10. Window 2008 R2 + IIS7.5 + VS2013 错误代码 0x80070002

    HTTP 错误 404.0 - Not Found 您要找的资源已被删除.已更名或暂时不可用.详细错误信息模块 IIS Web Core通知 MapRequest Handler处理程序 Static ...