C# 加载Shp文件到MapControl控件
来源:互联网 发布:江西年夜饭事件知乎 编辑:程序博客网 时间:2024/04/28 21:07
加载Shp文件到地图控件MapControl有一般有两种方式。
1、用MapControl控件的AddShapeFile方法可加载Shape格式文件,调用该方法需要传入两个参数,分别是文件路径和不带扩展名的文件名,其调用方法如下:
axMapControl1.AddShapeFile(pathName, fileName);
利用此方法加载Shape文件时,可能会报未知错误,试试:将LicenseControl控件拖入窗体。
- private void AddShp(object sender, EventArgs e)
- {
- //利用文件对话框选择加载的shp文件路径
- OpenFileDialog OpenFdlg = new OpenFileDialog();
- OpenFdlg.Title = "选择shp文件";
- OpenFdlg.Filter = "Shape格式文件(*.shp)|*.shp";
- OpenFdlg.ShowDialog();
- string strFileName = OpenFdlg.FileName;
- if (strFileName == string.Empty)
- {
- return;
- }
- //将Shp文件的路径分割为路径和不带格式后缀的文件名
- string pathName = System.IO.Path.GetDirectoryName(strFileName);
- string fileName = System.IO.Path.GetFileNameWithoutExtension(strFileName);
- ////下面两行为默认指定文件路径和文件名
- //string pathName = @"E:\HiOS\DataSHP";
- //string fileName = "River_X";
- axMapControl1.AddShapeFile(pathName, fileName);
- axMapControl1.Extent = axMapControl1.FullExtent;
- }
2、也可以利用工作空间工厂打开Shape格式文件
- private void AddShpData(object sender, EventArgs e)
- {
- //利用文件对话框选择加载的shp文件路径
- OpenFileDialog OpenFdlg = new OpenFileDialog();
- OpenFdlg.Title = "选择shp文件";
- OpenFdlg.Filter = "Shape格式文件(*.shp)|*.shp";
- OpenFdlg.ShowDialog();
- string strFileName = OpenFdlg.FileName;
- if (strFileName == string.Empty)
- {
- return;
- }
- string pathName = System.IO.Path.GetDirectoryName(strFileName);
- string fileName = System.IO.Path.GetFileNameWithoutExtension(strFileName);
- //声明Shape文件工作空间工厂,并获取要素工作空间,加载要素类
- IWorkspaceFactory pWorkspaceFactory = new ShapefileWorkspaceFactoryClass();
- IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile(pathName, 0);
- IFeatureWorkspace pFeatureWorkspace;
- pFeatureWorkspace = pWorkspace as IFeatureWorkspace;
- IFeatureClass pFeatureClass = pFeatureWorkspace.OpenFeatureClass(fileName);
- IDataset pDataset = pFeatureClass as IDataset;
- //声明要素图层,设置相应属性
- IFeatureLayer pFeatureLayer = new FeatureLayerClass();
- pFeatureLayer.FeatureClass = pFeatureClass;
- pFeatureLayer.Name = pDataset.Name;
- //将要素图层转为图层,Add to MapControl
- ILayer pLayer = pFeatureLayer as ILayer;
- axMapControl1.Map.AddLayer(pLayer);
- }
阅读全文
0 0
- C# 加载Shp文件到MapControl控件
- ArcGISEngine加载Shp文件到MapControl控件
- MapControl控件
- shp文件保存到mysql
- C# Gdal 读取SHP文件
- 直接用Json写Shp文件并加载到地图中
- arcgis for JS 使用 Node.js 加载shp文件显示到地图上
- ArcGIS Engine+C#二次开发中队加载的shp文件进行投影
- C#不用ArcEngine,生成Shp文件(二)---------读取.shp文件格式
- C#不用ArcEngine,生成Shp文件(三)---------生成.shp格式文件
- MapXtreme2004代码 MapControl控件中显示地图文件
- AE二次开发,选择本地shp文件添加到AxMapControl控件中
- AE中shp文件的加载
- 利用Arcengine 直接加载shp文件
- mapcontrol加载注记图层
- mapcontrol加载注记图层
- MapControl加载数据
- mfc 通过 MapWinGIS 控件读取 shp 文件
- 通过IQueryable<T>获得DbContext
- 计算机为什么没有三维指针的实现,都是一维指针来操作。
- 数据挖掘学习------------------1-数据准备-2-数据质量分析
- Linux sort命令示例
- 科大讯飞语音开发包上手体验(1)
- C# 加载Shp文件到MapControl控件
- syscall.c
- 3、Linux软件包管理
- js中 if不判断解决方式
- Android安全漏洞修复-webview中的漏洞修复
- SVN和Git的比较
- 4、Linux用户和用户组
- 指针
- 落谷1090 合并果子