基于C#的AE二次开发之GP工具实现要素类添加字段

28 篇文章 16 订阅
24 篇文章 42 订阅

基于C#的AE二次开发之GP工具实现要素类添加字段

我的开发环境为ArcGIS Engine 10.2与Visual studio2010。主地图名称为axMapControl1。创建一个菜单或按钮,加入点击事件,粘贴代码即可实现。(注意相关事件的添加与动态链接库的引入)

  • 效果预览
使用的工具
实现效果预览
  • 实现代码
private void 添加字段ToolStripMenuItem_Click(object sender, EventArgs e)
{
    try
    {
        //定义一个Geoprocessor工具类
        Geoprocessor gp = new Geoprocessor();
        //使用的是数据管理工具下的添加字段工具
        ESRI.ArcGIS.DataManagementTools.AddField addField = new ESRI.ArcGIS.DataManagementTools.AddField();
        if (axMapControl1.get_Layer(0) != null)
        {
            //将第一个图层强制转换为FeatureLayer
            IFeatureLayer currentFeatureLater = axMapControl1.get_Layer(0) as IFeatureLayer;
            //将首图层要素类强制转化为表
            ESRI.ArcGIS.Geodatabase.ITable pTable = currentFeatureLater as ESRI.ArcGIS.Geodatabase.ITable;
            addField.in_table = pTable;//输入要添加字段的要素类属性表
            addField.field_name = "number4";//添加字段的名称
            //字段类型有:TEXT、SHORT、LONG、FLOAT、DOUBLE、DATE、BLOB、RASTER、GUID
            addField.field_type = "DOUBLE";
            //其他属性例如field_scale(字段精度)、field_length(字段长度)等等,核心是上面这几个
            gp.Execute(addField, null);
            //强提醒
            MessageBox.Show("字段添加成功!");
        }
    }
    catch (Exception ex)
    {
        //如果添加字段的名称已存在且字段类型一致,不会执行字段添加;
        //如果添加字段的名称已存在且字段类型不一致,会报错。
        MessageBox.Show("字段添加失败" + ex);
    }
}
  • 补充
  1. field_type—— 字段类型
    TEXT—任何字符串。
    FLOAT— 在 -3.4E38 和 1.2E38 之间的小数。
    DOUBLE— 在 -2.2E308 和 1.8E308 之间的小数。
    SHORT— 在 -32,768 和 32,767 之间的整数。
    LONG— 在 -2,147,483,648 和 2,147,483,647 之间的整数。
    DATE—日期和/或时间。
    BLOB—长二进制数序列。您需要一个自定义的加载器、查看器或第三方应用程序将这些项加载到 BLOB 字段中或者查看 BLOB 字段的内容。
    RASTER—栅格影像。可以存储 ArcGIS 软件支持的所有栅格数据集格式,但强烈建议您仅使用小影像。
    GUID—全局唯一标识符。

  2. field_scale—— 字段精度 (可选)
    可存储在字段中的位数。所有位都将被计算在内,而无论其处于小数点的哪一侧。如果输入表是文件或个人地理数据库,则将忽略字段精度值。

  3. field_precision——字段小数位数 (可选)
    可存储在字段中的小数位数。此参数仅可用于浮点型和双精度数据字段类型。
    如果输入表是文件或个人地理数据库,则将忽略字段小数位数值。

  4. field_alias——字段别名 (可选)
    指定给字段名称的备用名称。此名称用于为含义隐晦的的字段名称指定更具描述性的名称。字段别名参数仅适用于地理数据库。

  5. field_domain——字段属性域 (可选)
    用于约束地理数据库中的表、要素类或子类型的任何特定属性的允许值。必须指定现有属性域的名称才能将其应用于字段。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值