设计界面

创建类

代码如下

  1. using System;

  2. using System.Collections.Generic;

  3. using System.Linq;

  4. using System.Text;

  5. using System.Threading.Tasks;

  6. using ESRI.ArcGIS.Controls;

  7. using System.Data;

  8. using ESRI.ArcGIS.Carto;

  9. using ESRI.ArcGIS.Geodatabase;

  10. using ESRI.ArcGIS.Geometry;



  11. namespace test

  12. {

  13. public class DataHelper

  14. {

  15. #region 读取mapControl属性表

  16. public static DataTable GetAttribute(AxMapControl axMapControl)

  17. {

  18. int layerCount = axMapControl.Map.LayerCount;



  19. // IFeature pFeature;

  20. string fieldName=string.Empty;

  21. int fieldCount;

  22. bool firstThroght=true;

  23. DataTable dataTable = new DataTable();

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

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

  26. {

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

  28. IFeatureClass pFeatureClass = pFeatureLayer.FeatureClass;

  29. fieldCount = pFeatureClass.Fields.FieldCount;

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

  31. if (firstThroght)

  32. {

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

  34. {

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

  36. dataTable.Columns.Add(fieldHeadName);



  37. }

  38. firstThroght = false;

  39. }

  40. //判断feature的类型

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

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

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

  44. {

  45. DataRow dataRow = dataTable.NewRow();

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

  47. {

  48. if (j == indexofShape)

  49. {

  50. //Geometroy.shapetype转换

  51. switch (pFeatureClassShapeType)

  52. {

  53. case esriGeometryType.esriGeometryPoint:

  54. fieldName = "Point";

  55. break;

  56. case esriGeometryType.esriGeometryPolyline:

  57. fieldName = "Polyline";

  58. break;

  59. case esriGeometryType.esriGeometryPolygon:

  60. fieldName = "Polygon";

  61. break;

  62. default:

  63. break;

  64. }

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

  66. //dataTable.Columns.Add(fieldName);



  67. dataRow[j] = fieldName;

  68. }

  69. else

  70. {

  71. //添加非shape字段到表中

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

  73. //dataTable.Columns.Add(fieldName);



  74. dataRow[j] = fieldName;

  75. }



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

  77. }

  78. dataTable.Rows.Add(dataRow);



  79. }

  80. }

  81. return dataTable;

  82. }

  83. #endregion

  84. }

  85. }

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. PHP操作MongoDB简明教程(转)

    转自:http://blog.sina.com.cn/s/blog_6324c2380100ux2m.html MongoDB是最近比较流行的NoSQL数据库,网络上关于PHP操作MongoDB的资料 ...

  2. Python-Day9 Paramiko模块/进程/线程/RabbitMQ队列

    一.Paramiko模块 1.Paramiko安装 Python的目录下有个Scripts目录,cd到这个目录用这里面的pip命令(如果添加的环境变量可以在cmd直接输入命令):pip install ...

  3. Cisco IOS Basic CLI Configuration : Switch Port Command

    Cisco IOS Basic CLI Configuration : Switch Port Command 1.  Basic Switch>en Switch#conf t Enter c ...

  4. Oracle之存储过程

    1.存储过程创建 oracle中创建存储过程的语法如下: CREATE [OR REPLACE] PROCEDURE PRO_NAME[(parameter1[,parameter2]...)]is| ...

  5. db2查看表空间

    select substr(tbsp_name,1,20) as 表空间名称,substr(tbsp_content_type,1,10) as 表空间类型,sum(tbsp_total_size_k ...

  6. matlab实现高斯消去法、LU分解

    朴素高斯消去法: function x = GauElim(n, A, b) if nargin < 2 for i = 1 : 1 : n for j = 1 : 1 : n A(i, j) ...

  7. ios检查版本更新

            场景 在我们使用应用时,一打开应用,如果此应用有新的版本,常常能在应用中给出提示,是否要更新此应用.所以,我们就来看看,版本更新是如何实现的. 应用 苹果给了我们一个接口,能根据应用i ...

  8. C/C++中的可变参函数

    可变参函数最好的实例:printf();参数可变 包含的头文件: C语言中:#include<stdarg.h> C++中的可变参的头文件:#include<cstdarg>, ...

  9. 10.31Daily Scrum

    人员 任务分配完成情况 明天任务分配 王皓南 主网页的框架搭建,任务编号752 研究代码,学习相应语言,讨论设计思路 申开亮 学习数据库的操作,任务编号753 研究代码,学习相应语言,讨论设计思路 王 ...

  10. Careercup - Facebook面试题 - 5761467236220928

    2014-05-02 07:06 题目链接 原题: Given an array of randomly sorted integers and an integer k, write a funct ...