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());
            }


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

  • 相关阅读:
    云计算分布式大数据神器Spark实战高手之旅
    Spring IOC及AOP学习总结
    Win7下不能查看xp系统共享的文件,解决方法
    c#怎样获取excel单元格的RGB颜色
    MySQL 全角转换为半角
    【剑指offer】旋转数组的最小值
    POJ 2524 :Ubiquitous Religions
    GitLal+sourceTree版本号管理
    ASP.NET MVC 过滤器(五)
    Java设计模式之观察者模式
  • 原文地址:https://www.cnblogs.com/zhzhx/p/3015033.html
Copyright © 2011-2022 走看看