• ae 获得ILayer图层的别名


    mxd中,一般图层的名称与其真实的
    shp或影像文件名称不相同(注记图层一般放在mdb或gdb中,其在mxd中显示时的名称与其本身一样,直接使用lyr.name即可),使用ILayer的name属性,只能获取此图层在mxd中的别名,获取文件名称,需要将图层先转换成IDataLayer,将此对象的DatasourceName属性
    转换成IDatasetName类型,然后获取IDatasetName的Name属性,此即为图层的真实文件名称。

    一、所有图层适用

    //Author:AllenRobin http://gisrsman.cnblogs.com
    ArrayList listName = new ArrayList();
    ArrayList listAlias = new ArrayList();
    string layerName = "";
    string layerAliasName="";
    
    for (int i = 0; i < mapcontrol.LayerCount; i++)
       {
         ILayer layer = mapcontrol.get_Layer(i);
         layerName = layer.Name;
         layerAliasName = layer.Name;
    
         IDataLayer2 pFd = layer as IDataLayer2;
          if (pFd != null)
          {
            if (pFd.DataSourceName is IDatasetName)
              {
                 //获取原始名称  
                 IDatasetName pDN = pFd.DataSourceName as IDatasetName;
                   layerAliasName = pDN.Name;
                 }
            }
     listName.Add(layerName);
     listAlias.Add(layerAliasName);
    }

    二、如果仅仅是矢量图层的话

    ILayer pLayer = m_Map.get_Layer(i);      //从map中取到一个ILayer对象
    IFeatureLayer pFeatureLayer = pLayer as IFeatureLayer;    //强转为IFeatureLayer对象
    string layerName = pFeatureLayer.FeatureClass.AliasName;   //获取别名

    三、获得IFeatureClass的Name名称

    IFeatureClass只有AliasName属性,没有Name属性。需要先转到IDataset接口。

     IDataset pDataset = featureClass as IDataset;
     string pName = pDataset.Name;

    参照:

    http://www.cnblogs.com/feilong3540717/archive/2011/08/24/2151790.html

    http://blog.csdn.net/muzai/article/details/5807266

    版权声明:本博原创文章可以被转载,但是在未经本人许可前,不得用于任何商业用途或其他以盈利为目的的用途。如需转载,请在转载时声明作者、保留出处。本人保留对本文的一切权利。 作者:AllenRobin Blog:http://gisrsman.cnblogs.com
  • 相关阅读:
    IDEA 运行junit单元测试方法
    IDEA 修改编码
    接口文档word版
    java 上传文件到七牛云中
    单例模式
    洛谷P3092 [USACO13NOV]没有找零No Change
    Codevs 1159 最大全0子矩阵
    洛谷P2733 家的范围 Home on the Range
    洛谷P2280 [HNOI2003]激光炸弹
    洛谷P2023 [AHOI2009]维护序列
  • 原文地址:https://www.cnblogs.com/GISRSMAN/p/4570542.html
Copyright © 2020-2023  润新知