zoukankan      html  css  js  c++  java
  • ArcObjects使用AddLayer方法添加到图层的方法

    运行坏境:vs2010,ArcGID10.1

    AO中,通过AddLayer方法添加图层的代码如下:

    1        IWorkspaceFactory workSpaceFactory = new ShapefileWorkspaceFactoryClass();
    2             IFeatureWorkspace featureWorkspace = workSpaceFactory.OpenFromFile(@"D:\Program Files\ArcGIS\Desktop10.1\ArcGlobeData", 0) as IFeatureWorkspace;
    3             IFeatureLayer featureLayer = new FeatureLayerClass();
    4             featureLayer.FeatureClass = featureWorkspace.OpenFeatureClass("continent.shp");
    5             //featureLayer.Name = featureLayer.FeatureClass.AliasName;
    6             this.axMapControl1.AddLayer(featureLayer as ILayer);
    7             this.axMapControl1.Refresh();

    需要添加的命名空间有:

    using ESRI.ArcGIS.Geodatabase;
    using ESRI.ArcGIS.Carto;
    using ESRI.ArcGIS.DataSourcesFile;
    

     其中,IWorkspaceFactory,IFeatureWorkspace属于ESRI.ArcGIS.Geodatabase这个命名空间, IFeatureLayer属于ESRI.ArcGIS.Carto命名空间,ShapefileWorkspaceFactoryClass则属于ESRI.ArcGIS.DataSourcesFile这个命名空间。

    生成解决方案的时候会出现这样的错误:

    这就是嵌入互操作的错误,解决方法如下:

     在解决方案资源管理器中找到FeatureLayerClass和ShapefileWorkspaceFactoryClass所引用的命名空间,即ESRI.ArcGIS.Carto和ESRI.ArcGIS.DataSourcesFile,右键选择属性,将嵌入互操作类型改为false,这样就OK了,生成成功!

    但是在运行的时候,还会弹出这样一个错误:

    说的很清楚,ArcGIS的版本指定不明确,所以在Program.cs中添加

    ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);

    这样一句话就OK了,如下所示:

    static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);
                Application.Run(new Form1());
            }


    这样,整个应用程序就都运行成了!

  • 相关阅读:
    ‘Host’ is not allowed to connect to this mysql server
    centos7安装mysql
    further configuration avilable 不见了
    Dynamic Web Module 3.0 requires Java 1.6 or newer
    hadoop启动 datanode的live node为0
    ssh远程访问失败 Centos7
    Linux 下的各种环境安装
    Centos7 安装 python2.7
    安装scala
    Centos7 安装 jdk 1.8
  • 原文地址:https://www.cnblogs.com/zhzhx/p/3015033.html
Copyright © 2011-2022 走看看