MapControl加载数据

           
            //string strPath =  Application.StartupPath + @"\World";
            //axMapControl1.AddShapeFile(strPath, "world30");

           
            //string strPath1 = Application.StartupPath + @"\World\Continents.lyr";
            //string strPath2 = Application.StartupPath + @"\World\World Cities.lyr";
            //axMapControl1.AddLayerFromFile(strPath1, 0);
            //axMapControl1.AddLayerFromFile(strPath2, 1);

           
            string strpath = Application.StartupPath + @"\World\World.mxd";
            axMapControl1.LoadMxFile(strpath);

           
            //string fullPath;
            //string filePath; // 文件路径
            //string fileName; // 文件名

            //fullPath = Application.StartupPath + @"\testData.dwg";
            //filePath = System.IO.Path.GetDirectoryName(fullPath);
            //fileName = System.IO.Path.GetFileName(fullPath);

            打开CAD数据集
            //IWorkspaceFactory pWorkspaceFactory = new CadWorkspaceFactoryClass();
            //IFeatureWorkspace pFeatureWorkspace = (IFeatureWorkspace)pWorkspaceFactory.OpenFromFile(filePath, 0);

            打开一个要素集
            //IFeatureDataset pFeatureDataset = pFeatureWorkspace.OpenFeatureDataset(fileName);
            IFeatureClassContainer可以管理IFeatureDataset中的每个要素类
            //IFeatureClassContainer pFeatureClassContainer = (IFeatureClassContainer)pFeatureDataset;
            对CAD文件中的要素进行遍历处理
            //IFeatureLayer pFeatureLayer;
            //for(int i = 0; i < pFeatureClassContainer.ClassCount - 1; i++)
            //{
            //    IFeatureClass pFeatureClass = pFeatureClassContainer.get_Class(i);
            //    if (pFeatureClass.FeatureType == esriFeatureType.esriFTCoverageAnnotation)
            //    {
            //        // 如果是注记,则添加注记层
            //        pFeatureLayer = new CadAnnotationLayerClass();
            //    }
            //    else
            //    {
            //        // 如果是点、线、面,则添加要素层
            //        pFeatureLayer = new FeatureLayerClass();
            //    }

            //    pFeatureLayer.Name = pFeatureClass.AliasName;
            //    pFeatureLayer.FeatureClass = pFeatureClass;
            //    //axMapControl1.Map.AddLayer(pFeatureLayer);

            //    axMapControl1.AddLayer(pFeatureLayer, 0);

            //    axMapControl1.ActiveView.Refresh();
            //}

 

另附:打开栅格文件,打开TIN文件

        /// <summary>
        /// 打开 栅格文件
        /// </summary>
        /// <param name="aFileNames">打开 栅格文件 文件的全路径</param>
        /// <param name="axMapControl"></param>
        public void OpenFile_RasterFile(string aFileName, AxMapControl axMapControl)//打开 栅格文件
        {
            string fullPath;
            string path;//路径
            string fileName;//文件名

            fullPath = aFileName;
            path = System.IO.Path.GetDirectoryName(fullPath);//路径
            fileName = System.IO.Path.GetFileName(fullPath);//文件名

            IWorkspaceFactory pWorkspaceFactory = new RasterWorkspaceFactoryClass();
            IRasterWorkspace pRasterWorkspace = (IRasterWorkspace)pWorkspaceFactory.OpenFromFile(path, 0);
            IRasterDataset pRasterDataset = (IRasterDataset)pRasterWorkspace.OpenRasterDataset(fileName);
            IRasterLayer pRasterLayer = new RasterLayerClass();
            pRasterLayer.CreateFromDataset(pRasterDataset);
            axMapControl.Map.AddLayer(pRasterLayer);

            axMapControl.ActiveView.Refresh();
        }

        /// <summary>
        /// 打开 TIN 文件
        /// </summary>
        /// <param name="aFolderName">TIN文件夹</param>       
        /// <param name="axMapControl">axMapControl</param>
        /// <returns></returns>
        public void OpenFile_TINFolder(string aFolderName, AxMapControl axMapControl)//打开TIN文件
        {
            string pathToWorkspace = System.IO.Path.GetDirectoryName(aFolderName);
            string tinName = System.IO.Path.GetFileName(aFolderName);

            IWorkspaceFactory pWorkspaceFactory = new TinWorkspaceFactoryClass();
            IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile(pathToWorkspace, 0);
            ITinWorkspace pTinWorkspace = pWorkspace as ITinWorkspace;
            ITinLayer pTinLayer = new TinLayerClass();
            if (pTinWorkspace.get_IsTin(tinName))
            {
                ITin pTin = pTinWorkspace.OpenTin(tinName);
                pTinLayer.Dataset = pTin;
                pTinLayer.ClearRenderers();
                pTinLayer.Name = tinName;
            }
            axMapControl.AddLayer(pTinLayer);
            axMapControl.ActiveView.Refresh();
        }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值