Example #1
0
 /// <summary>
 /// 加载CAD文件
 /// </summary>
 /// <param name="axMapControl">地图控件引用</param>
 /// <param name="strFilePath">文件路径</param>
 /// <returns>正常:“”,异常:异常字符;</returns>
 private SystemErrorType LoadCADFile(ref AxMapControl axMapControl, string strFilePath)
 {
     if (strFilePath == "")
     {
         return(SystemErrorType.enumFilePathIsNull);
     }
     try
     {
         //workspace声明
         IWorkspaceFactory    pCadWorkspaceFactory = null;
         IWorkspace           pWorkspace           = null;
         ICadDrawingWorkspace pCadDrawingWorkspace = null;
         ICadDrawingDataset   pCadDataset          = null;
         ICadLayer            pCadLayer            = null;
         //地图数据操作
         pCadWorkspaceFactory        = new CadWorkspaceFactoryClass();
         pWorkspace                  = pCadWorkspaceFactory.OpenFromFile(strFilePath, 0);
         pCadDrawingWorkspace        = pWorkspace as ICadDrawingWorkspace;
         pCadDataset                 = pCadDrawingWorkspace.OpenCadDrawingDataset(strFilePath);
         pCadLayer                   = new CadLayerClass();
         pCadLayer.CadDrawingDataset = pCadDataset;
         //控件操作
         axMapControl.ClearLayers();
         axMapControl.AddLayer(pCadLayer, 0);
         axMapControl.Refresh();
     }
     catch (Exception)
     {
         return(SystemErrorType.enumArcObjectHandleError);
     }
     return(SystemErrorType.enumOK);
 }
Example #2
0
        //添加cad文件
        public void addcadfile(string filePath, string filename, AxMapControl mapControl)
        {
            if (filename + filePath == "")
            {
                return;
            }
            IWorkspaceFactory pWorkspaceFactory = new CadWorkspaceFactoryClass();                                 //打开CAD数据集
            IFeatureWorkspace pFeatureWorkspace = (IFeatureWorkspace)pWorkspaceFactory.OpenFromFile(filePath, 0); //打开一个要素集
            IFeatureLayer     pFeatureLayer;
            IFeatureDataset   pFeatureDataset = pFeatureWorkspace.OpenFeatureDataset(filename);
            //IFeaturClassContainer可以管理IFeatureDataset中的每个要素类
            IFeatureClassContainer pFeatClassContainer = (IFeatureClassContainer)pFeatureDataset;

            //对CAD文件中的要素进行遍历处理
            for (int i = 0; i < pFeatClassContainer.ClassCount - 1; i++)
            {
                IFeatureClass pFeatClass = pFeatClassContainer.get_Class(i);
                if (pFeatClass.FeatureType == esriFeatureType.esriFTCoverageAnnotation)
                {
                    //如果是注记,则添加注记层
                    pFeatureLayer = new CadAnnotationLayerClass();
                }
                else
                {
                    //如果是点、线、面,则添加要素层
                    pFeatureLayer              = new FeatureLayerClass();
                    pFeatureLayer.Name         = pFeatClass.AliasName;
                    pFeatureLayer.FeatureClass = pFeatClass;
                    mapControl.Map.AddLayer(pFeatureLayer);
                    mapControl.ActiveView.Refresh();
                }
            }
        }
        /// <summary>
        /// 创建工作空间工厂
        /// </summary>
        /// <returns></returns>
        private static IWorkspaceFactory CreateWksFactory(enumWorkspaceType fileWksType)
        {
            IWorkspaceFactory wksFactory = null;

            switch (fileWksType)
            {
            case enumWorkspaceType.Shapefile:
                wksFactory = new ShapefileWorkspaceFactoryClass();
                break;

            case enumWorkspaceType.Gdb:
                wksFactory = new FileGDBWorkspaceFactoryClass();
                break;

            case enumWorkspaceType.Mdb:
                wksFactory = new AccessWorkspaceFactoryClass();
                break;

            case enumWorkspaceType.Cad:
                wksFactory = new CadWorkspaceFactoryClass();
                break;

            case enumWorkspaceType.RasterFile:
                wksFactory = new RasterWorkspaceFactoryClass();
                break;

            default:
                break;
            }
            return(wksFactory);
        }
Example #4
0
        /// <summary>
        /// 打开CAD工作空间
        /// </summary>
        /// <param name="folderPath"></param>
        /// <returns></returns>
        public static IWorkspace openCadWorkspace(string folderPath)
        {
            //Create a WorkspaceName object
            CadWorkspaceFactoryClass factory = new CadWorkspaceFactoryClass();
            IWorkspace ws = factory.OpenFromFile(folderPath, 0);

            return(ws);
        }
Example #5
0
        /// <summary>
        /// 获取Workspace
        /// </summary>
        /// <param name="dataPath"></param>
        /// <param name="dataType"></param>
        /// <returns></returns>
        public IWorkspace GetWorkspace(string dataPath, string dataType)
        {
            IWorkspaceFactory pWorkspaceFactory = null;
            IWorkspace        pWorkspace        = null;
            IPropertySet      pPropertySet      = new PropertySetClass();
            int    index;
            string filePath     = "";
            string dataTypeName = dataType.ToLower();

            //根据不同的数据类型获取不同的WorkspaceFactory,设置不同的IPropertySet参数
            switch (dataTypeName)
            {
            //mdb类型的dataPath为mdb本身的全路径
            case "mdb":
                pPropertySet.SetProperty("DATABASE", dataPath);
                pWorkspaceFactory = new AccessWorkspaceFactoryClass();
                break;

            //shp类型的dataPath为其父文件夹的全路径
            case "shp":
                index    = dataPath.LastIndexOf("\\");
                filePath = dataPath.Substring(0, index);
                pPropertySet.SetProperty("DATABASE", filePath);
                pWorkspaceFactory = new ShapefileWorkspaceFactoryClass();
                break;

            //dwg类型的dataPath为其父文件夹的全路径
            case "dwg":
                index    = dataPath.LastIndexOf("\\");
                filePath = dataPath.Substring(0, index);
                pPropertySet.SetProperty("DATABASE", filePath);
                pWorkspaceFactory = new CadWorkspaceFactoryClass();
                break;

            //gdb类型的dataPath为gdb文件夹的全路径
            case "gdb":
                pPropertySet.SetProperty("DATABASE", dataPath);
                pWorkspaceFactory = new FileGDBWorkspaceFactoryClass();
                break;

            case "jpg":
            case "bmp":
            case "tif":
                index    = dataPath.LastIndexOf("\\");
                filePath = dataPath.Substring(0, index);
                pPropertySet.SetProperty("DATABASE", filePath);
                pWorkspaceFactory = new RasterWorkspaceFactoryClass();
                break;

            default:
                break;
            }
            pPropertySet.SetProperty("DATABASE", dataPath);
            pWorkspace = pWorkspaceFactory.Open(pPropertySet, 0);
            return(pWorkspace);
        }
 private void btnCollectCAD_Click(object sender, EventArgs e)
 {
     if (this.textboxCAD.Text == "")
     {
         return;
     }
     try
     {
         //获取文件名和文件路径
         int    pIndex    = this.textboxCAD.Text.LastIndexOf("\\");
         string pFilePath = this.textboxCAD.Text.Substring(0, pIndex);
         string pFileName = this.textboxCAD.Text.Substring(pIndex + 1);
         //打开CAD数据集
         IWorkspaceFactory pWorkspaceFactory;
         IFeatureWorkspace pFeatureWorkspace;
         IFeatureLayer     pFeatureLayer;
         IFeatureDataset   pFeatureDataset;
         pWorkspaceFactory = new CadWorkspaceFactoryClass(); //using ESRI.ArcGIS.DataSourcesFile;
         pFeatureWorkspace = (IFeatureWorkspace)pWorkspaceFactory.OpenFromFile(pFilePath, 0);
         //打开一个要素集
         pFeatureDataset = pFeatureWorkspace.OpenFeatureDataset(pFileName);
         //IFeatureClassContainer可以管理IFeatureDataset中的每个要素类
         IFeatureClassContainer pFeatClassContainer = (IFeatureClassContainer)pFeatureDataset;
         IGroupLayer            pGroupLayer         = new GroupLayerClass();
         pGroupLayer.Name = pFileName;
         //对CAD文件中的要素进行遍历处理
         for (int i = 0; i < pFeatClassContainer.ClassCount; i++)
         {
             IFeatureClass pFeatClass = pFeatClassContainer.get_Class(i);
             //如果是注记,则添加注记层
             if (pFeatClass.FeatureType == esriFeatureType.esriFTCoverageAnnotation)
             {
                 pFeatureLayer              = new CadAnnotationLayerClass();
                 pFeatureLayer.Name         = pFeatClass.AliasName;
                 pFeatureLayer.FeatureClass = pFeatClass;
                 pGroupLayer.Add(pFeatureLayer);
                 //this.pMapControl.Map.AddLayer(pFeatureLayer);
             }
             else //如果是点、线、面则添加要素层
             {
                 pFeatureLayer              = new FeatureLayerClass();
                 pFeatureLayer.Name         = pFeatClass.AliasName;
                 pFeatureLayer.FeatureClass = pFeatClass;
                 pGroupLayer.Add(pFeatureLayer);
                 //this.pMapControl.Map.AddLayer(pFeatureLayer);
             }
         }
         this.pMapControl.Map.AddLayer(pGroupLayer);
         this.pMapControl.ActiveView.Refresh();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
Example #7
0
        /// <summary>
        /// 打开CAD工作空间
        /// PS:打开cad要素时候,需要注意格式:cad文件名:要素类名称。cad文件名需要包含扩展名
        /// 如:"buildings.dxf:polygon"
        /// </summary>
        /// <param name="cadFolderPath">cad所在的文件夹路径</param>
        /// <returns></returns>
        public static IWorkspace OpenCadWorkspace(string cadFolderPath)
        {
            IWorkspaceFactory pCADWorkSpaceFc = null;
            IWorkspace        pWorkspace      = null;

            try
            {
                pCADWorkSpaceFc = new CadWorkspaceFactoryClass();
                pWorkspace      = pCADWorkSpaceFc.OpenFromFile(cadFolderPath, 0);
            }
            catch (Exception ex)
            {
                LOG.Error("cad文件打开错误,详情:" + ex.Message);
                // Console.WriteLine("空间数据库打开错误");
                return(null);
            }
            return(pWorkspace);
        }
Example #8
0
        public void ShpToCAD(IFeatureClass fteclss, string lsshp, string cadpath, string FormatType)
        {
            //先转为shp文件
            try
            {
                FclssToShp(fteclss, lsshp);
                //shp转为要素
                Geoprocessor gp = new Geoprocessor();
                gp.OverwriteOutput = true;
                ExportCAD export = new ExportCAD();
                export.in_features        = lsshp;
                export.Output_Type        = FormatType;
                export.Output_File        = cadpath;
                export.Ignore_FileNames   = "1";
                export.Append_To_Existing = "1";

                IGeoProcessorResult result = gp.Execute(export, null) as IGeoProcessorResult;
                //转换成功是否将CAD文件添加进图层
                if (result.Status == esriJobStatus.esriJobSucceeded)
                {
                    if (MessageBox.Show("转换成功,是否添加至图层", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) == DialogResult.OK)
                    {
                        string filepath = System.IO.Path.GetDirectoryName(cadpath);
                        string filename = System.IO.Path.GetFileName(cadpath);

                        CadWorkspaceFactory cadwspFcy = new CadWorkspaceFactoryClass();
                        IFeatureWorkspace   fteWsp    = cadwspFcy.OpenFromFile(filepath, 0) as IFeatureWorkspace;
                        //转换为CAD工作空间
                        ICadDrawingWorkspace CadWsp     = fteWsp as ICadDrawingWorkspace;
                        ICadDrawingDataset   CadDataset = CadWsp.OpenCadDrawingDataset(filename);
                        ICadLayer            cadLyr     = new CadLayerClass();
                        cadLyr.CadDrawingDataset = CadDataset;
                        cadLyr.Name = filename;
                        this.Mapcontrol.AddLayer(cadLyr, 0);
                        this.Mapcontrol.Refresh();
                    }
                }
                shpDel(lsshp);
            }
            catch (Exception ex)
            {
                MessageBox.Show("转换失败" + ex.Message);
            }
        }
Example #9
0
        public override void OnClick()
        {
            OpenFileDialog openFileDialog1 = new OpenFileDialog();
            openFileDialog1.Title = "打开CAD文件";
            openFileDialog1.Filter = "CAD图形文件(*.dwg)|*.DWG";
            if (openFileDialog1.ShowDialog() == DialogResult.OK && m_hookHelper.Hook is IMapControlDefault)
            {
                FileInfo fileinfo = new FileInfo(openFileDialog1.FileName);
                string path = fileinfo.DirectoryName;
                string name = fileinfo.Name;
                IWorkspaceFactory cadWorkSpaceFactory = new CadWorkspaceFactoryClass();
                ICadDrawingWorkspace cadworkspace = cadWorkSpaceFactory.OpenFromFile(path, 0) as ICadDrawingWorkspace;
                ICadDrawingDataset cadDataset = cadworkspace.OpenCadDrawingDataset(name);
                ICadLayer cadLayer = new CadLayerClass();
                cadLayer.CadDrawingDataset = cadDataset;
                ((IMapControlDefault)m_hookHelper.Hook).AddLayer(cadLayer,0);

            }
        }
Example #10
0
        //2.加载Lyr
        //3.加载Shp
        //4.打开CAD数据 4.1-ArcEngine接口,4.2-netDXF.dll--使用开源插件,主要用于导出为dxf文件

        #region 加载CAD数据

        /***4.1-ArcEngine接口***/

        /// <summary>
        /// 通过指定的本地路径打开CAD所有图层数据
        /// </summary>
        /// <param name="mapControlDefault">默认的mapcontrol最新接口</param>
        /// <param name="strPath">cad文件的路径-包括文件名及后缀名</param>
        public static void GetAllCADbyPath(IMapControlDefault mapControlDefault, string strPath)
        {
            IWorkspaceFactory pWorkspaceFactory = new CadWorkspaceFactoryClass();
            string strPathWithoutFileName = Path.GetDirectoryName(strPath);
            string strFileName = Path.GetFileName(strPath);
            string strFileNameWithoutExtention = Path.GetFileNameWithoutExtension(strPath);

            IWorkspace pCADWorkspace = pWorkspaceFactory.OpenFromFile(strPathWithoutFileName, 0);//hWnd的参数是父窗口或应用程序的窗口
            if (!(pCADWorkspace.Type == esriWorkspaceType.esriFileSystemWorkspace))
                return;
            //1-pFeatureWorkspace.OpenFeatureDataset方法--推荐:可以判断注记层
            GetALLCADbyWorkspace(mapControlDefault, pCADWorkspace, strFileName);
            //2-通过IName获取到CadDrawingDataset在cadLayer
            //GetAllCADbyCADLayer(mapControlDefault,strPathWithoutFileName,strFileName);
            //3-通过ICadDrawingWorkspace获取到CadDrawingDataset
            //GetALLCADLayer(mapControlDefault, pCADWorkspace, strFileName);

            mapControlDefault.ActiveView.Refresh();
        }
Example #11
0
        public override void OnClick()
        {
            OpenFileDialog openFileDialog1 = new OpenFileDialog();

            openFileDialog1.Title  = "打开CAD文件";
            openFileDialog1.Filter = "CAD图形文件(*.dwg)|*.DWG";
            if (openFileDialog1.ShowDialog() == DialogResult.OK && m_hookHelper.Hook is IMapControlDefault)
            {
                FileInfo             fileinfo            = new FileInfo(openFileDialog1.FileName);
                string               path                = fileinfo.DirectoryName;
                string               name                = fileinfo.Name;
                IWorkspaceFactory    cadWorkSpaceFactory = new CadWorkspaceFactoryClass();
                ICadDrawingWorkspace cadworkspace        = cadWorkSpaceFactory.OpenFromFile(path, 0) as ICadDrawingWorkspace;
                ICadDrawingDataset   cadDataset          = cadworkspace.OpenCadDrawingDataset(name);
                ICadLayer            cadLayer            = new CadLayerClass();
                cadLayer.CadDrawingDataset = cadDataset;
                ((IMapControlDefault)m_hookHelper.Hook).AddLayer(cadLayer, 0);
            }
        }
Example #12
0
        public static void AddData_CAD(AxMapControl axMapControl1)
        {
            IWorkspaceFactory pWorkspaceFactory;
            IFeatureWorkspace pFeatureWorkspace;
            IFeatureLayer pFeatureLayer;
            IFeatureDataset pFeatureDataset;
            //获取当前路径和文件名
            OpenFileDialog dlg = new OpenFileDialog();
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                string strFullPath = dlg.FileName;
                if (strFullPath == "") return;
                int Index = strFullPath.LastIndexOf("//");
                string filePath = strFullPath.Substring(0, Index);
                string fileName = strFullPath.Substring(Index + 1);
                //打开CAD数据集
                pWorkspaceFactory = new CadWorkspaceFactoryClass();
                pFeatureWorkspace = (IFeatureWorkspace)pWorkspaceFactory.OpenFromFile(filePath, 0);
                //打开一个要素集
                pFeatureDataset = pFeatureWorkspace.OpenFeatureDataset(fileName);
                //IFeaturClassContainer可以管理IFeatureDataset中的每个要素类
                IFeatureClassContainer pFeatClassContainer = (IFeatureClassContainer)pFeatureDataset;
                //对CAD文件中的要素进行遍历处理
                for (int i = 0; i < pFeatClassContainer.ClassCount - 1; i++)
                {
                    IFeatureClass pFeatClass = pFeatClassContainer.get_Class(i);
                    if (pFeatClass.FeatureType == esriFeatureType.esriFTCoverageAnnotation)
                        //如果是注记,则添加注记层
                        pFeatureLayer = new CadAnnotationLayerClass();
                    else
                        //如果是点、线、面,则添加要素层
                        pFeatureLayer = new FeatureLayerClass();
                    pFeatureLayer.Name = pFeatClass.AliasName;
                    pFeatureLayer.FeatureClass = pFeatClass;
                    axMapControl1.Map.AddLayer(pFeatureLayer);
                    axMapControl1.ActiveView.Refresh();
                }

                ILayer layer = axMapControl1.get_Layer(0);
                axMapControl1.Extent = layer.AreaOfInterest;
            }
        }
Example #13
0
        /// <summary>
        /// DWG转换SHP
        /// </summary>
        /// <param name="DWGPath">CAD文件路径</param>
        /// <returns>返回转化好的*.shp文件路径</returns>
        public void  ConvertToShp(string DWGPath)
        {
            if (string.IsNullOrEmpty(DWGPath))
            {
                return;
            }
            if (File.Exists(DWGPath))
            {
                //try
                //{
                //string temshp = "";
                IWorkspaceFactory pWorkspaceFactory;
                IFeatureWorkspace pFeatureWorkspace;
                //IFeatureLayer pFeatureLayer;
                IFeatureDataset pFeatureDataset;
                //打开CAD数据集

                pWorkspaceFactory = new CadWorkspaceFactoryClass();
                pFeatureWorkspace = (IFeatureWorkspace)pWorkspaceFactory.OpenFromFile(System.IO.Path.GetDirectoryName(DWGPath), 0);
                //打开一个要素集
                pFeatureDataset = pFeatureWorkspace.OpenFeatureDataset(System.IO.Path.GetFileName(DWGPath));
                //IFeaturClassContainer可以管理IFeatureDataset中的每个要素类
                IFeatureClassContainer pFeatureClassContainer = (IFeatureClassContainer)pFeatureDataset;
                //当前过滤只保留面
                for (int i = 0; i < pFeatureClassContainer.ClassCount; i++)
                {
                    IFeatureClass pFeatureClass = pFeatureClassContainer.get_Class(i);
                    if (pFeatureClass.ShapeType == esriGeometryType.esriGeometryPolygon)
                    {
                        ExportFeatureClassToConTempShp(pFeatureClass);
                        break;
                    }
                }
                //return temshp;
                //}
                //catch (Exception)
                //{
                //    return "";
                //}
            }
            /*****20130227杨漾(添加文件有效性判断,去掉trycatch,上层trycatch(MainForm)处理,无返回值)*****/
        }
 /// <summary>
 /// 获取CAD数据工作空间
 /// </summary>
 /// <param name="cadPath"></param>
 /// <returns></returns>
 public static ZWorkspace GetCADWorkspcae(string cadPath)
 {
     if (string.IsNullOrWhiteSpace(cadPath) || !File.Exists(cadPath))
     {
         throw new Exception(string.Format("CAD文件不存在,文件路径:“{0}”", cadPath));
     }
     else
     {
         try
         {
             IWorkspaceFactory pWorkspaceFac = new CadWorkspaceFactoryClass();
             IWorkspace        workspace     = pWorkspaceFac.OpenFromFile(cadPath, 0);
             return(new ZWorkspace(workspace));
         }
         catch (Exception ex)
         {
             throw new Exception(string.Format("读取CAD文件失败,文件路径:“{0}”", cadPath), ex);
         }
     }
 }
Example #15
0
        //2.加载Lyr
        //3.加载Shp
        //4.打开CAD数据 4.1-ArcEngine接口,4.2-netDXF.dll--使用开源插件,主要用于导出为dxf文件

        #region 加载CAD数据

        /***4.1-ArcEngine接口***/

        /// <summary>
        /// 通过指定的本地路径打开CAD所有图层数据
        /// </summary>
        /// <param name="mapControlDefault">默认的mapcontrol最新接口</param>
        /// <param name="strPath">cad文件的路径-包括文件名及后缀名</param>
        public static void GetAllCADbyPath(IMapControlDefault mapControlDefault, string strPath)
        {
            IWorkspaceFactory pWorkspaceFactory           = new CadWorkspaceFactoryClass();
            string            strPathWithoutFileName      = Path.GetDirectoryName(strPath);
            string            strFileName                 = Path.GetFileName(strPath);
            string            strFileNameWithoutExtention = Path.GetFileNameWithoutExtension(strPath);

            IWorkspace pCADWorkspace = pWorkspaceFactory.OpenFromFile(strPathWithoutFileName, 0);//hWnd的参数是父窗口或应用程序的窗口

            if (!(pCADWorkspace.Type == esriWorkspaceType.esriFileSystemWorkspace))
            {
                return;
            }
            //1-pFeatureWorkspace.OpenFeatureDataset方法--推荐:可以判断注记层
            GetALLCADbyWorkspace(mapControlDefault, pCADWorkspace, strFileName);
            //2-通过IName获取到CadDrawingDataset在cadLayer
            //GetAllCADbyCADLayer(mapControlDefault,strPathWithoutFileName,strFileName);
            //3-通过ICadDrawingWorkspace获取到CadDrawingDataset
            //GetALLCADLayer(mapControlDefault, pCADWorkspace, strFileName);

            mapControlDefault.ActiveView.Refresh();
        }
Example #16
0
        public override void OnClick()
        {
            OpenFileDialog openFileDialog1 = new OpenFileDialog();

            openFileDialog1.Title  = "打开CAD文件";
            openFileDialog1.Filter = "CAD图形文件(*.dwg)|*.DWG";
            if (openFileDialog1.ShowDialog() == DialogResult.OK && m_hookHelper.Hook is IMapControlDefault)
            {
                FileInfo               fileinfo            = new FileInfo(openFileDialog1.FileName);
                string                 path                = fileinfo.DirectoryName;
                string                 name                = fileinfo.Name;
                IWorkspaceFactory      cadWorkSpaceFactory = new CadWorkspaceFactoryClass();
                IFeatureWorkspace      workspace           = cadWorkSpaceFactory.OpenFromFile(path, 0) as IFeatureWorkspace;
                IFeatureDataset        featDataset         = workspace.OpenFeatureDataset(name);
                IFeatureClassContainer featClassContainer  = featDataset as IFeatureClassContainer;
                IFeatureClass          featClass;
                IFeatureLayer          featLayer;

                for (int i = 0; i < featClassContainer.ClassCount; i++)
                {
                    featClass = featClassContainer.get_Class(i);
                    if (featClass.FeatureType == esriFeatureType.esriFTCoverageAnnotation)
                    {
                        //标注类型,必须设置为单位的标注图层
                        featLayer = new CadAnnotationLayerClass();
                    }
                    else
                    {
                        //点线面类型
                        featLayer = new FeatureLayerClass();
                    }

                    featLayer.Name         = featClass.AliasName;
                    featLayer.FeatureClass = featClass;
                    ((IMapControlDefault)m_hookHelper.Hook).Map.AddLayer((ILayer)featLayer);
                }
            }
        }
        public List <ILayer> ReadCADLayer(List <string> filePathList)
        {
            List <ILayer> layerList = new List <ILayer>();

            if (filePathList.Count == 0)
            {
                return(null);
            }
            else
            {
                foreach (string path in filePathList)
                {
                    IWorkspaceFactory      pWorkspaceFactory   = new CadWorkspaceFactoryClass();
                    IFeatureWorkspace      pFeatureWorkspace   = pWorkspaceFactory.OpenFromFile(System.IO.Path.GetDirectoryName(path), 0) as IFeatureWorkspace;
                    IFeatureDataset        pFeatureDataset     = pFeatureWorkspace.OpenFeatureDataset(System.IO.Path.GetFileName(path));
                    IFeatureClassContainer pFeatClassContainer = pFeatureDataset as IFeatureClassContainer;

                    for (int i = 0; i < pFeatClassContainer.ClassCount - 1; i++)
                    {
                        IFeatureLayer pFeatureLayer;
                        IFeatureClass pFeatClass = pFeatClassContainer.get_Class(i);
                        if (pFeatClass.FeatureType == esriFeatureType.esriFTCoverageAnnotation)
                        {
                            pFeatureLayer = new CadAnnotationLayerClass();
                        }
                        else
                        {
                            pFeatureLayer = new FeatureLayerClass();
                        }

                        pFeatureLayer.Name         = pFeatClass.AliasName;
                        pFeatureLayer.FeatureClass = pFeatClass;
                        layerList.Add(pFeatureLayer as ILayer);
                    }
                }
                return(layerList);
            }
        }
Example #18
0
        public override void OnClick()
        {
            OpenFileDialog openFileDialog1 = new OpenFileDialog();
            openFileDialog1.Title = "打开CAD文件";
            openFileDialog1.Filter = "CAD图形文件(*.dwg)|*.DWG";
            if (openFileDialog1.ShowDialog() == DialogResult.OK && m_hookHelper.Hook is IMapControlDefault)
            {
                FileInfo fileinfo = new FileInfo(openFileDialog1.FileName);
                string path = fileinfo.DirectoryName;
                string name = fileinfo.Name;
                IWorkspaceFactory cadWorkSpaceFactory = new CadWorkspaceFactoryClass();
                IFeatureWorkspace workspace = cadWorkSpaceFactory.OpenFromFile(path, 0) as IFeatureWorkspace;
                IFeatureDataset featDataset = workspace.OpenFeatureDataset(name);
                IFeatureClassContainer featClassContainer = featDataset as IFeatureClassContainer;
                IFeatureClass featClass;
                IFeatureLayer featLayer;

                for (int i = 0; i < featClassContainer.ClassCount; i++)
                {
                    featClass = featClassContainer.get_Class(i);
                    if (featClass.FeatureType == esriFeatureType.esriFTCoverageAnnotation)
                    {
                        //标注类型,必须设置为单位的标注图层
                        featLayer = new CadAnnotationLayerClass();
                    }
                    else
                    {
                        //点线面类型
                        featLayer = new FeatureLayerClass();
                    }

                    featLayer.Name = featClass.AliasName;
                    featLayer.FeatureClass = featClass;
                    ((IMapControlDefault)m_hookHelper.Hook).Map.AddLayer((ILayer)featLayer);
                }
            }
        }
Example #19
0
        private void 加载CAD数据ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            IWorkspaceFactory    pCadWorkspaceFactory;
            IWorkspace           pWorkspace;
            ICadDrawingWorkspace pCadDrawingWorkspace;
            ICadDrawingDataset   pCadDrawingDataset;
            ICadLayer            pCadLayer;

            OpenFileDialog pOpenFileDialog = new OpenFileDialog();

            pOpenFileDialog.Filter = "CAD(*.dwg)|*.dwg";
            pOpenFileDialog.Title  = "打开CAD数据文件";
            pOpenFileDialog.ShowDialog();

            string pFullPath = pOpenFileDialog.FileName;

            if (pFullPath == "")
            {
                return;
            }
            //获取文件名和文件路径
            int    pIndex    = pFullPath.LastIndexOf("\\");
            string pFilePath = pFullPath.Substring(0, pIndex);
            string pFileName = pFullPath.Substring(pIndex + 1);

            pCadWorkspaceFactory = new CadWorkspaceFactoryClass();

            pWorkspace           = pCadWorkspaceFactory.OpenFromFile(pFilePath, 0);
            pCadDrawingWorkspace = (ICadDrawingWorkspace)pWorkspace;
            //获得CAD文件的数据集
            pCadDrawingDataset          = pCadDrawingWorkspace.OpenCadDrawingDataset(pFileName);
            pCadLayer                   = new CadLayerClass();
            pCadLayer.CadDrawingDataset = pCadDrawingDataset;

            axMapControl1.Map.AddLayer(pCadLayer);
        }
Example #20
0
        /// <summary>
        ///导入dxf,shp等文件
        /// 日期2013-12-13
        /// lntu_GISer1
        /// </summary>
        public void ImportFile(string path, AxMapControl mapControl)
        {
            string            fileName = "";
            IWorkspaceFactory pWorkspaceFactory;
            IFeatureWorkspace pFeatureWorkspace;
            IFeatureLayer     pFeatureLayer;
            IFeatureDataset   pFeatureDataset;
            OpenFileDialog    ofd = new OpenFileDialog();             //new一个方法

            ofd.Title            = "导入地图数据";
            ofd.InitialDirectory = path;             //定义打开的默认文件夹位置
            ofd.Filter           = "shp文件(*.shp)|*.shp|CAD文件(*.dwg)|*.dwg";
            if (ofd.ShowDialog() == DialogResult.OK) //显示打开文件的窗口
            {
                fileName = ofd.FileName;             //获得选择的文件路径
                if (fileName.Substring(fileName.Length - 4, 4).ToLower() == ".shp")
                {
                    try
                    {
                        pWorkspaceFactory          = new ShapefileWorkspaceFactoryClass();
                        pFeatureWorkspace          = (IFeatureWorkspace)pWorkspaceFactory.OpenFromFile(path, 0);
                        pFeatureLayer              = new FeatureLayerClass();
                        pFeatureLayer.FeatureClass = pFeatureWorkspace.OpenFeatureClass((System.IO.Path.GetFileName(ofd.FileName)).Replace(".shp", ""));
                        pFeatureLayer.Name         = pFeatureLayer.FeatureClass.AliasName;
                        mapControl.Map.AddLayer(pFeatureLayer);
                        mapControl.ActiveView.Refresh();
                    }
                    catch (Exception e)
                    {
                        MessageBox.Show(e.Message);
                    }
                }
                else
                {
                    if (fileName.Substring(fileName.Length - 4, 4).ToLower() == ".dwg")
                    {
                        try
                        {
                            //打开CAD数据集
                            pWorkspaceFactory = new CadWorkspaceFactoryClass();
                            pFeatureWorkspace = (IFeatureWorkspace)pWorkspaceFactory.OpenFromFile(path, 0);
                            //打开一个要素集
                            pFeatureDataset = pFeatureWorkspace.OpenFeatureDataset((System.IO.Path.GetFileName(ofd.FileName)).Replace(".dwg", ""));
                            //IFeaturClassContainer可以管理IFeatureDataset中的每个要素类
                            IFeatureClassContainer pFeatClassContainer = (IFeatureClassContainer)pFeatureDataset;
                            //对CAD文件中的要素进行遍历处理
                            for (int i = 0; i < pFeatClassContainer.ClassCount - 1; i++)
                            {
                                IFeatureClass pFeatClass = pFeatClassContainer.get_Class(i);
                                if (pFeatClass.FeatureType == esriFeatureType.esriFTCoverageAnnotation)
                                {
                                    //如果是注记,则添加注记层
                                    pFeatureLayer = new CadAnnotationLayerClass();
                                }
                                else//如果是点、线、面,则添加要素层
                                {
                                    pFeatureLayer              = new FeatureLayerClass();
                                    pFeatureLayer.Name         = pFeatClass.AliasName;
                                    pFeatureLayer.FeatureClass = pFeatClass;
                                    mapControl.Map.AddLayer(pFeatureLayer);
                                    mapControl.ActiveView.Refresh();
                                }
                            }
                        }
                        catch (Exception e)
                        {
                            MessageBox.Show(e.Message);
                        }
                    }
                }
            }
        }
Example #21
0
        /// <summary>
        /// 获取初始化后的各种工作空间
        /// </summary>
        /// <param name="sSourceFile"></param>
        /// <param name="pSourceType"></param>
        /// <returns></returns>
        public IFeatureWorkspace GetFeatureWorkspace(string sSourceFile, WorkspaceSource pSourceType)
        {
            try
            {
                if ((string.IsNullOrEmpty(sSourceFile) | !File.Exists(sSourceFile)) & (string.IsNullOrEmpty(sSourceFile) | !Directory.Exists(sSourceFile)))
                {
                    MessageBox.Show("数据文件 " + sSourceFile + " 丢失。", "打开工作空间错误", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return(null);
                }
                IWorkspaceFactory factory = null;
                WorkspaceSource   source  = pSourceType;
                if (source <= WorkspaceSource.esriWSStreetMapWorkspaceFactory)
                {
                    if (source < WorkspaceSource.esriWSAccessWorkspaceFactory)
                    {
                        goto Label_010D;//当source<1.返回空
                    }
                    switch (((int)(source - 1L)))
                    {
                    case 0:
                        factory = new AccessWorkspaceFactoryClass();
                        goto Label_0111;

                    case 1:
                    case 4:
                    case 5:
                    case 7:
                    case 8:
                    case 10:
                        goto Label_010D;

                    case 2:
                        factory = new ArcInfoWorkspaceFactoryClass();
                        goto Label_0111;

                    case 3:
                        factory = new CadWorkspaceFactoryClass();
                        goto Label_0111;

                    case 6:
                        factory = new PCCoverageWorkspaceFactoryClass();
                        goto Label_0111;

                    case 9:
                        factory = new SDCWorkspaceFactoryClass();
                        goto Label_0111;

                    case 11:
                        factory = new ShapefileWorkspaceFactoryClass();
                        goto Label_0111;

                    case 12:
                        factory = new StreetMapWorkspaceFactoryClass() as IWorkspaceFactory;
                        goto Label_0111;
                    }
                }
                if ((source <= WorkspaceSource.esriWSFileGDBWorkspaceFactory) && (source >= WorkspaceSource.esriWSVpfWorkspaceFactory))
                {
                    switch (((int)(source - 0x11L)))
                    {
                    case 0:
                        factory = new VpfWorkspaceFactoryClass();
                        goto Label_0111;

                    case 1:
                        factory = new FileGDBWorkspaceFactoryClass();
                        goto Label_0111;
                    }
                }
Label_010D:
                return(null);//返回空

Label_0111:
                if (!factory.IsWorkspace(sSourceFile))
                {
                    return(null);
                }
                return(factory.OpenFromFile(sSourceFile, 0) as IFeatureWorkspace);
            }
            catch (Exception exception)
            {
                this.mErrOpt.ErrorOperate(this.mSubSysName, "FunFactory.WorkspaceFun", "GetFeatureWorkspace", exception.GetHashCode().ToString(), exception.Source, exception.Message, "", "", "");
                return(null);
            }
        }
Example #22
0
        /// <summary>
        ///导入dxf,shp等文件
        /// 日期2013-12-13
        /// lntu_GISer1
        /// </summary>
        public void ImportFile(string path,AxMapControl mapControl)
        {
            string fileName = "";
            IWorkspaceFactory pWorkspaceFactory;
            IFeatureWorkspace pFeatureWorkspace;
            IFeatureLayer pFeatureLayer;
            IFeatureDataset pFeatureDataset;
            OpenFileDialog ofd = new OpenFileDialog();                //new一个方法
            ofd.Title = "导入地图数据";
            ofd.InitialDirectory = path; //定义打开的默认文件夹位置
            ofd.Filter = "shp文件(*.shp)|*.shp|CAD文件(*.dwg)|*.dwg";
            if (ofd.ShowDialog() == DialogResult.OK)          //显示打开文件的窗口
            {
                fileName = ofd.FileName;               //获得选择的文件路径
                if (fileName.Substring(fileName.Length - 4, 4).ToLower() == ".shp")
                {
                    try
                    {
                        pWorkspaceFactory = new ShapefileWorkspaceFactoryClass();
                        pFeatureWorkspace = (IFeatureWorkspace)pWorkspaceFactory.OpenFromFile(path, 0);
                        pFeatureLayer = new FeatureLayerClass();
                        pFeatureLayer.FeatureClass = pFeatureWorkspace.OpenFeatureClass((System.IO.Path.GetFileName(ofd.FileName)).Replace(".shp", ""));
                        pFeatureLayer.Name = pFeatureLayer.FeatureClass.AliasName;
                        mapControl.Map.AddLayer(pFeatureLayer);
                        mapControl.ActiveView.Refresh();
                    }
                    catch (Exception e)
                    {
                        MessageBox.Show(e.Message);
                    }
                }
                else
                {
                    if (fileName.Substring(fileName.Length -4, 4).ToLower() == ".dwg")
                    {
                        try
                        {
                         //打开CAD数据集
                        pWorkspaceFactory = new CadWorkspaceFactoryClass();
                        pFeatureWorkspace = (IFeatureWorkspace)pWorkspaceFactory.OpenFromFile(path, 0);
                        //打开一个要素集
                        pFeatureDataset = pFeatureWorkspace.OpenFeatureDataset((System.IO.Path.GetFileName(ofd.FileName)).Replace(".dwg", ""));
                        //IFeaturClassContainer可以管理IFeatureDataset中的每个要素类
                        IFeatureClassContainer pFeatClassContainer = (IFeatureClassContainer)pFeatureDataset;
                        //对CAD文件中的要素进行遍历处理
                        for (int i = 0; i < pFeatClassContainer.ClassCount - 1; i++)
                        {

                            IFeatureClass pFeatClass = pFeatClassContainer.get_Class(i);
                            if (pFeatClass.FeatureType == esriFeatureType.esriFTCoverageAnnotation)
                            {
                                //如果是注记,则添加注记层
                                pFeatureLayer = new CadAnnotationLayerClass();
                            }
                            else//如果是点、线、面,则添加要素层
                            {
                                pFeatureLayer = new FeatureLayerClass();
                                pFeatureLayer.Name = pFeatClass.AliasName;
                                pFeatureLayer.FeatureClass = pFeatClass;
                                mapControl.Map.AddLayer(pFeatureLayer);
                                mapControl.ActiveView.Refresh();
                            }
                        }
                        }
                            catch(Exception e)
                        {
                                MessageBox.Show(e.Message);
                            }

            }
               }
            }
        }
Example #23
0
        /// <summary>
        /// Opens the workspace.
        /// </summary>
        /// <param name="sFilePath">The s file path.</param>
        /// <param name="type">The type.</param>
        /// <returns>IWorkspace.</returns>
        public static IWorkspace OpenWorkspace(string sFilePath, DataType type)
        {
            IWorkspace result;

            try
            {
                sFilePath = sFilePath.TrimEnd(new char[]
                {
                    '\\'
                });
                IWorkspaceFactory workspaceFactory = null;
                if (type <= DataType.sde)
                {
                    switch (type)
                    {
                    case DataType.shp:
                        workspaceFactory = new ShapefileWorkspaceFactoryClass();
                        //关闭资源锁定
                        IWorkspaceFactoryLockControl ipWsFactoryLock = (IWorkspaceFactoryLockControl)workspaceFactory;
                        if (ipWsFactoryLock.SchemaLockingEnabled)
                        {
                            ipWsFactoryLock.DisableSchemaLocking();
                        }
                        break;

                    case DataType.mdb:
                        workspaceFactory = new AccessWorkspaceFactoryClass();
                        break;

                    case (DataType)3:
                        break;

                    case DataType.gdb:
                        workspaceFactory = new FileGDBWorkspaceFactoryClass();
                        break;

                    default:
                        if (type == DataType.sde)
                        {
                            workspaceFactory = new SdeWorkspaceFactoryClass();
                        }
                        break;
                    }
                }
                else if (type != DataType.cad)
                {
                    if (type != DataType.raster)
                    {
                        if (type == DataType.coverage)
                        {
                            workspaceFactory = new ArcInfoWorkspaceFactoryClass();
                        }
                    }
                    else
                    {
                        workspaceFactory = new RasterWorkspaceFactoryClass();
                    }
                }
                else
                {
                    workspaceFactory = new CadWorkspaceFactoryClass();
                }

                result = workspaceFactory.OpenFromFile(sFilePath, 0);
            }
            catch
            {
                result = null;
            }
            return(result);
        }
Example #24
0
        private void btnAddCadAsFeat_Click(object sender, EventArgs e)
        {
            this.openFileDialog.Filter = "CAD文件(*.dwg)|*.dwg";
            this.openFileDialog.Title = "请选择CAD文件";
            if (this.openFileDialog.ShowDialog() == DialogResult.OK)
            {
                Application.DoEvents();
                try
                {
                    IWorkspaceFactory pCADWorksapceFactory;
                    pCADWorksapceFactory = new CadWorkspaceFactoryClass();
                    IFeatureWorkspace pFeatureWorkspace;
                    pFeatureWorkspace = pCADWorksapceFactory.OpenFromFile(System.IO.Path.GetDirectoryName(this.openFileDialog.FileName), 0) as IFeatureWorkspace;
                    IFeatureDataset pFeatureDataset;
                    pFeatureDataset = pFeatureWorkspace.OpenFeatureDataset(System.IO.Path.GetFileName(this.openFileDialog.FileName));
                    IFeatureClassContainer pFeatureClassContainer;
                    pFeatureClassContainer = pFeatureDataset as IFeatureClassContainer;
                    IFeatureClass pFeatureClass;
                    IFeatureLayer pFeatureLayer;
                    int i;
                    for (i = 0; i <= pFeatureClassContainer.ClassCount - 1; i++)
                    {
                        pFeatureClass = pFeatureClassContainer.get_Class(i);
                        if (pFeatureClass.FeatureType == esriFeatureType.esriFTCoverageAnnotation)
                        {
                            pFeatureLayer = new CadAnnotationLayerClass();
                        }
                        else
                        {
                            pFeatureLayer = new FeatureLayerClass();
                        }
                        pFeatureLayer.Name = pFeatureClass.AliasName;
                        pFeatureLayer.FeatureClass = pFeatureClass;
                        this.mainMapControl.AddLayer(pFeatureLayer);
                        this.EagleaxMapControl.AddLayer(pFeatureLayer);
                    }
                    this.EagleaxMapControl.Extent = this.mainMapControl.FullExtent;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }

            }
        }
Example #25
0
 private void btnAddCadAsDraw_Click(object sender, EventArgs e)
 {
     this.openFileDialog.Filter = "CAD文件(*.dwg)|*.dwg";
     this.openFileDialog.Title = "请选择CAD文件";
     if (this.openFileDialog.ShowDialog() == DialogResult.OK)
     {
         Application.DoEvents();
         try
         {
             IWorkspaceFactory pCADWorksapceFactory;
             pCADWorksapceFactory = new CadWorkspaceFactoryClass();
             ICadDrawingWorkspace pCadDrawingWorkspace;
             pCadDrawingWorkspace = pCADWorksapceFactory.OpenFromFile(System.IO.Path.GetDirectoryName(this.openFileDialog.FileName), 0) as ICadDrawingWorkspace;
             ICadDrawingDataset pCadDrawingDataset;
             pCadDrawingDataset = pCadDrawingWorkspace.OpenCadDrawingDataset(System.IO.Path.GetFileName(this.openFileDialog.FileName));
             ICadLayer pCadLayer;
             pCadLayer = new CadLayerClass();
             pCadLayer.CadDrawingDataset = pCadDrawingDataset;
             pCadLayer.Name = System.IO.Path.GetFileName(this.openFileDialog.FileName);
             this.mainMapControl.AddLayer(pCadLayer);
             this.EagleaxMapControl.AddLayer(pCadLayer);
             this.EagleaxMapControl.Extent = this.mainMapControl.FullExtent;
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message);
         }
     }
 }
Example #26
0
        /// <summary>
        /// DWG转换SHP
        /// </summary>
        /// <param name="DWGPath">CAD文件路径</param>
        /// <returns>返回转化好的*.shp文件路径</returns>
        public void ConvertToShp(string DWGPath)
        {
            if (string.IsNullOrEmpty(DWGPath))
            {
                return;
            }
            if (File.Exists(DWGPath))
             {
                 //try
                 //{
                 //string temshp = "";
                 IWorkspaceFactory pWorkspaceFactory;
                 IFeatureWorkspace pFeatureWorkspace;
                 //IFeatureLayer pFeatureLayer;
                 IFeatureDataset pFeatureDataset;
                 //打开CAD数据集

                 pWorkspaceFactory = new CadWorkspaceFactoryClass();
                 pFeatureWorkspace = (IFeatureWorkspace)pWorkspaceFactory.OpenFromFile(System.IO.Path.GetDirectoryName(DWGPath), 0);
                 //打开一个要素集
                 pFeatureDataset = pFeatureWorkspace.OpenFeatureDataset(System.IO.Path.GetFileName(DWGPath));
                 //IFeaturClassContainer可以管理IFeatureDataset中的每个要素类
                 IFeatureClassContainer pFeatureClassContainer = (IFeatureClassContainer)pFeatureDataset;
                 //当前过滤只保留面
                 for (int i = 0; i < pFeatureClassContainer.ClassCount; i++)
                 {
                     IFeatureClass pFeatureClass = pFeatureClassContainer.get_Class(i);
                     if (pFeatureClass.ShapeType == esriGeometryType.esriGeometryPolygon)
                     {
                         ExportFeatureClassToConTempShp(pFeatureClass);
                         break;
                     }
                 }
                 //return temshp;
                 //}
                 //catch (Exception)
                 //{
                 //    return "";
                 //}
             }
            /*****20130227杨漾(添加文件有效性判断,去掉trycatch,上层trycatch(MainForm)处理,无返回值)*****/
        }
Example #27
0
        private void bubbleBtnAddCAD_Click(object sender, DevComponents.DotNetBar.ClickEventArgs e)
        {
            this.openFileDialog.Filter = "DWG文件|*.dwg";
            this.openFileDialog.Title = "请选择CAD文件";
            if (this.openFileDialog.ShowDialog() == DialogResult.OK)
            {
                string dirction = System.IO.Path.GetDirectoryName(this.openFileDialog.FileName);
                //MessageBox.Show(System.IO.Path.GetDirectoryName(this.openFileDialog.FileName) + "\n" +
                //                System.IO.Path.GetFileName(this.openFileDialog.FileName) + "\n" +
                //                System.IO.Path.GetFullPath(this.openFileDialog.FileName));
                string file = System.IO.Path.GetFileName(this.openFileDialog.FileName);

                IWorkspaceFactory pWorkspaceFatory = new CadWorkspaceFactoryClass();
                IWorkspace pWorkspace = pWorkspaceFatory.OpenFromFile(dirction, 0);
                IFeatureWorkspace pFeatureWorkspace = pWorkspace as IFeatureWorkspace;
                IFeatureDataset pFeatureDataset = pFeatureWorkspace.OpenFeatureDataset(file);
                IFeatureClassContainer pFeatureClassContainer = pFeatureDataset as IFeatureClassContainer;
                IFeatureClass pFeatureClass;
                IFeatureLayer pFeatureLayer;
                //for (int i = 0; i < pFeatureClassContainer.ClassCount; i++)
                //{
                //    pFeatureClass = pFeatureClassContainer.get_ClassByID(i);
                //    if (pFeatureClass.FeatureType == esriFeatureType.esriFTAnnotation)
                //    {
                //        pFeatureLayer = new CadAnnotationLayerClass();
                //    }
                //    else
                //    {
                //        pFeatureLayer = new FeatureLayerClass();
                //    }
                //    pFeatureLayer.Name = pFeatureClass.AliasName;
                //    pFeatureLayer.FeatureClass = pFeatureClass;
                //    this.mainMapControl.AddLayer(pFeatureLayer as ILayer);
                //    this.EagleaxMapControl.AddLayer(pFeatureLayer as ILayer);
                //}
                IEnumFeatureClass pEnumFeatureClass = pFeatureClassContainer.Classes;
                pEnumFeatureClass.Reset();
                for (pFeatureClass = pEnumFeatureClass.Next(); pFeatureClass != null; pFeatureClass = pEnumFeatureClass.Next())
                {
                    if (pFeatureClass.FeatureType == esriFeatureType.esriFTAnnotation)
                    {
                        pFeatureLayer = new CadAnnotationLayerClass();
                    }
                    else
                    {
                        pFeatureLayer = new FeatureLayerClass();
                    }
                    pFeatureLayer.Name = pFeatureClass.AliasName;
                    pFeatureLayer.FeatureClass = pFeatureClass;
                    this.mainMapControl.AddLayer(pFeatureLayer as ILayer);
                    this.EagleaxMapControl.AddLayer(pFeatureLayer as ILayer);
                }

                this.m_controlsSynchronizer.ReplaceMap(this.mainMapControl.Map);
                this.EagleaxMapControl.Extent = this.EagleaxMapControl.FullExtent;
                this.EagleaxMapControl.Refresh();
            }
        }