加载地图文件(MXD、SHP、要素类、栅格文件)

  • 打开MXD文件 
    axMapControl1.LoadMxFile(filename, 0, Type.Missing);//filename为mxd文件路径
  • 打开MDB文件获取工作空间,工作空间里包含数据集和要素类
    IWorkspaceFactory pWorkspaceFactory = new AccessWorkspaceFactoryClass();
    IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile(pPath, 0);
    遍历工作空间根据名字(name)获取要素类
                IFeatureClass ifcresult = null;
                IDataset dt;
                IEnumDataset dts = wk.Datasets[esriDatasetType.esriDTAny];
                while ((dt = dts.Next()) != null)
                {
                    if (dt.Type == esriDatasetType.esriDTFeatureDataset)
                    {
                        IFeatureDataset fdt = dt as IFeatureDataset;
                        if (fdt != null)
                        {
                            IEnumDataset subdts = fdt.Subsets;
                            if (subdts != null)
                            {
                                IDataset isubdt;
                                while ((isubdt = subdts.Next()) != null)
                                {
                                    IFeatureClass ifc = isubdt as IFeatureClass;
                                    if (ifc != null)
                                    {
                                        if (isubdt.Name == name)
                                        {
                                            ifcresult = ifc;
                                            Marshal.ReleaseComObject(isubdt);
                                            isubdt = null;
    
                                            Marshal.ReleaseComObject(subdts);
                                            subdts = null;
                                            break;
                                        }
                                        else
                                        {
                                            Marshal.ReleaseComObject(isubdt);
                                            isubdt = null;
                                        }
                                    }
                                }
                            }
                        }
                    }
                    else if (dt.Type == esriDatasetType.esriDTFeatureClass)
                    {
                        IFeatureClass ifc = dt as IFeatureClass;
                        if (dt.Name == name)
                        {
                            ifcresult = ifc;
                            break;
                        }
                    }
                }
  • 添加要素类到地图控件
    public void AddFeatureClass(IFeatureClass ifc)
            {
                IFeatureLayer ifl = new FeatureLayer();
                ifl.FeatureClass = ifc;
                ifl.Name = ifc.AliasName;
                axMapControl1.AddLayer(ifl);
            }
  • 添加栅格数据到地图控件
            public void AddRaster(IRasterDataset irc)
            {
                //影像金字塔判断与创建
                IRasterPyramid3 pRasPyrmid;
                pRasPyrmid = irc as IRasterPyramid3;
                if (pRasPyrmid != null)
                {
                    if (!(pRasPyrmid.Present))
                    {
                        pRasPyrmid.Create(); //创建金字塔
                    }
                }
                IRaster pRaster;
                pRaster = irc.CreateDefaultRaster();
                IRasterLayer pRasterLayer;
                pRasterLayer = new RasterLayerClass();
                pRasterLayer.CreateFromRaster(pRaster);
                ILayer pLayer = pRasterLayer as ILayer;
                axMapControl1.AddLayer(pLayer, 0);
            }
  • 添加shp文件到地图控件
            public  IFeatureClass OpenShpFeatureClass(string shppath)
            {
                IFeatureClass ifc = null;
                IWorkspaceFactory workspaceFactory = new ShapefileWorkspaceFactory();
                if (null != shppath)
                {
                    string dir = System.IO.Path.GetDirectoryName(shppath);
    
                    IWorkspace pworkspace = workspaceFactory.OpenFromFile(dir, 0);
    
                    int loc1;
                    loc1 = shppath.LastIndexOf("\\");
                    string pFoldr = shppath.Substring(0, loc1);
                    string pFileName = shppath.Substring(loc1 + 1);
                    ifc = GetFeatureClass(pFileName, pworkspace);
                }
                return ifc;
            }



     

 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ArcGIS是一种常用的地理信息系统软件,用于处理、分析和可视化地理数据。在ArcGIS中,可以使用SHP文件格式来存储和管理地理数据。对于省会城市名称,我们可以创建一个包含省会城市名称的SHP文件。以下是关于如何创建和使用省会城市名称SHP文件的步骤。 首先,在ArcGIS中打开新的地图文档。然后,选择“文件”菜单中的“添加数据”选项,并浏览到包含省会城市名称的数据源文件夹。 接下来,从数据源文件夹中选择省会城市名称的相关文件,通常是一个.shp文件和相关的.dbf,.shx文件等。这些文件通常具有相同的文件名,只是扩展名不同。 然后,在ArcGIS中选择“文件”菜单中的“添加数据”选项,并选择“添加SHP文件”选项。在打开的对话框中,浏览到刚才选择的数据源文件夹,并选择.shp文件。点击“添加”按钮。 一旦数据被添加地图中,可以选择合适的符号化方式和标注方式来显示省会城市名称。可以使用唯一值符号化来根据不同的地理属性进行分标记,也可以使用简单的文本标注来显示城市名称。 此外,可以在属性表中查看和编辑省会城市名称的属性信息。通过右键点击.shp文件,在弹出菜单中选择“打开属性表”选项,可以查看和编辑属性表中的数据。 最后,可以将地图保存为.mxd文件格式,以便将来重新打开并使用省会城市名称SHP文件。 总之,使用ArcGIS可以轻松地创建、显示和管理省会城市名称的SHP文件。通过合适的符号和标注方式,可以有效地表达城市名称信息。同时,属性表功能也可以方便地查看和编辑城市名称的属性信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值