设计界面

创建类

代码如下

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. MAC上 nodejs express 安装

    最近在MAC上搭建 nodejs环境以及安装 express 框架,遇到了一些问题,不过最后总算还是安装成功了,下面是操作步骤 1.node js 安装 访问nodejs官网进入下载mac上的安装包 ...

  2. 你必须知道的.NET

    作者博客地址:http://www.cnblogs.com/anytao/archive/2008/04/09/anytao_insidenet_center.html 第1章 OO大智慧 1.1对象 ...

  3. java调用存储过程和函数

    以对表test进行增,删,改,查进行说明:1.新建表test create table TEST ( TID NUMBER not null, TNAME VARCHAR2(32), TCODE VA ...

  4. backbone前端基础框架搭建

    前端站点名为:site: 前端框架分为:css.js和img,框架的核心在js文件夹下: js中包括collections.models.views.lib和一个app入口js

  5. 转字符驱动实例gpio

    概述: 字符设备驱动程序: 是按照字符设备要求完成的由操作系统调用的代码. 重点理解以下内容:  1. 驱动是写给操作系统的代码,它不是直接给用户层程序调用的,而是给系统调用的  2. 所以驱动要向系 ...

  6. phonegap ios插件开发及无限后台运行解决

    1.首先开发插件:因为我的项目前需要所以要做(根据情况) 在项目的plugins文件中新建obj c文件.如 Demo,此时会产生出Demo.h和Demo.m两个文件. .h文件主要就是定义一些方法, ...

  7. iOS中Cell高度如何能够自动适应需要显示的内容

    本文的代码例子 : "Cell行高自适应.zip" http://vdisk.weibo.com/s/Gb9Mt 下面我们来看看代码.我需要一个第三方库EGO异步下载.addtio ...

  8. 如何自定义Liferay 7 portal的Log in登录界面

    前提: 1. Liferay portal 7 2. Liferay IDE 3.0.1 Liferay现有的工具中提供了很多修改portal的模板,以满足开发者的各种自定义需求. 修改的原理是利用M ...

  9. android 自定义ratingbar 图片显示不全的解决方案

    在res/style中自定义评分条: <!-- 自定义评分条 --> <style name="roomRatingBar" parent="@andr ...

  10. 编译dubbo2.5.4时遇到的问题及解决

    dubbo的官方git地址为:https://github.com/alibaba/dubbo 按照其流程进行下载及编译,遇到的问题为: 1. 执行 mvn clean install -Dmaven ...