• 添加新字段和域


    添加新字段和域

    一、添加新字段
        要在一张新表里或一个要素类里增加字段,只需创建一个新字段,并设置好它的属性,然后加入到字段集中即可。
    IFieldEdit pNewField = new FieldClass();
    pNewField.Name = "Average";
    pNewField.Type = esriFieldType.esriFieldTypeInteger;
    pNewField.AliasName = "Average Income";
    pNewField.Length = 16;
    pTable.AddField(pNewField);

    二、创建新的范围域或编码域
        Geodatabase表或要素类可以通过使用域的方法来增强属性值的有效性。域是在Geodatabase的层次上创建的,可以应用在该Geodatabase表中的任意多个字段中。
        Domain是抽象类,有2个可创建的子类:RangeDomain和Coded Value Domain。
        RangeDomain对象用来对数值型的属性值进行范围限制(最大值、最小值)
        CodedValueDomain对象用于定义一系列合适的可接受的值(字符串型或数值型)。
        每创建一个Domain,都需要设定其字段类型。例如,如果创建了一个适用于整型字段的域,那么这个域就不能被双精度型字段使用。

    IRangeDomain pRDomain = new RangeDomainClass();
    pRDomain.MinValue = 0;
    pRDomain.MaxValue = 100;
    IDomain pDomain = pRDomain as IDomain;
    pDomain.Name = "Diameter";
    pDomain.FieldType = esriFieldType.esriFieldTypeInteger;

    三、在Geodatabase中增加域
        创建好了域之后,并不能简单的应用到字段上,而必须先将其和一个Geodatabase关联起来。在Geodatabase中增加了域之后,它就可以被应用到这个Geodatabase中任何表或要素类的任意多个字段中(假设这些字段类型与该域相同)。增加域的方法是IWorkspaceDomains.AddDomain()。Domain不能应用于Shapefiles或ArcInfo Coverages。

    IWorkspaceFactory pAccessFact;
    IWorkspace pGDBWorkspace;
    pAccessFact = new AccessWorkspaceFactoryClass();
    pGDBWorkspace = pAccessFact.OpenFromFile("C:\\City.mdb", 0);

    IWorkspaceDomains pWSDomains = pGDBWorkspace as IWorkspaceDomains;
    pWSDomains.AddDomain(pRDomain);

    四、将域应用到字段
        使用IFieldEdit的Domain属性可以把一个Domain对象应用到某个具体的字段。由于这一属性是通过引用使用的,对域的修改会立即影响到应用该域的字段,域可以被同一个Geodatabase里的字段重复多次使用。

    IFieldEdit pNewField = new FieldClass();
    pNewField.Name = "Average";
    pNewField.Type = esriFieldType.esriFieldTypeInteger;
    pNewField.AliasName = "Average Income";
    pNewField.Length = 16;
    pNewField.Domain = pRDomain;
    pTable.AddField(pNewField);
        注意:域只有在它被加入到Geodatabase中之后才能被使用。如果pRDomain没用先被加入到Geodatabase中,代码不会返回错误,但是域并不起作用。

       


  • 相关阅读:
    PDA固定资产条码管理系统软件-解决固定资产实物清查的瓶颈问题,大大提高清查效率
    互联网+下PDA移动智能手持POS超市收银开单软件
    搭建免费代理池
    解析库beautifulsoup
    爬取汽车之家新闻
    请求库之requests库
    网络状态码301与302
    正向代理与反向代理
    垃圾回收机制详解
    HTTP协议详解
  • 原文地址:https://www.cnblogs.com/lauer0246/p/1123057.html
Copyright © 2020-2023  润新知