ArcGIS Engine打开shp文件
shp文件是目前主流的空间数据存储文件,AE加载shp文件可以通过以下两种方式:
- 通过工作空间加载
- 通过MapControl的AddShapefile方法加载Shapefile文件
通过工作空间加载:
此方法使用于有复杂空间分析操作的情况
用到的引用
using ESRI.ArcGIS.Geodatabase; //工作空间使用
using ESRI.ArcGIS.DataSourcesFile; //打开shp工作空间工厂使用
using ESRI.ArcGIS.Carto; //添加到显示时使用
步骤:
1、打开窗口获得文件路径
OpenFileDialog pOpenfileDialog = new OpenFileDialog();
pOpenfileDialog.Filter = "Shape文件|*.shp"; //打开shp文件
if (pOpenfileDialog.ShowDialog() == DialogResult.OK) {tring path = pOpenfileDialog.FileName;
2、获得文件名与所在文件夹路径
由于shp文件是存储于文件夹当中的,因此打开时要通过文件夹路径创建工作空间,使用工作空间的OpenFeatureClass方法打开
//由于shp文件的特殊性,要通过文件名和文件路径获取
string pFilePath = System.IO.Path.GetDirectoryName(path);
string pFileName = System.IO.Path.GetFileName(path);
3、创建工作空间工厂对象
IWorkspaceFactory pWorkspaceFactory = new ShapefileWorkspaceFactory();
4、通过文件夹路径创建要素工作空间
//打开工作空间
IFeatureWorkspace pFeaWorkspace = pWorkspaceFactory.OpenFromFile(pFilePath, 0) as IFeatureWorkspace;
5、使用工作空间的OpenFeatureClass方法打开shp文件为要素类
IFeatureClass pFeatureClass = pFeaWorkspace.OpenFeatureClass(pFileName); //打开文件
6、将要素类添加到显示
通过MapControl的AddShapefile方法加载
如果系统仅加载数据用于展示,无需工作空间,使用此方案更加简洁
步骤:
1、打开窗口获得文件路径
OpenFileDialog pOpenfileDialog = new OpenFileDialog();
pOpenfileDialog.Filter = "Shape文件|*.shp"; //打开shp文件
if (pOpenfileDialog.ShowDialog() == DialogResult.OK) {tring path = pOpenfileDialog.FileName;
2、获得文件名与所在文件夹路径
//由于shp文件的特殊性,要通过文件名和文件路径获取
string pFilePath = System.IO.Path.GetDirectoryName(path);
string pFileName = System.IO.Path.GetFileName(path);
3、通过MapControl的AddShapefile方法加载
axMapControl1.AddShapeFile(pFilePath,pFileName);
全部代码:
方法一:
private void 打开shpToolStripMenuItem_Click(object sender, EventArgs e){OpenFileDialog pOpenfileDialog = new OpenFileDialog();pOpenfileDialog.Filter = "Shape文件|*.shp"; //打开shp文件if (pOpenfileDialog.ShowDialog() == DialogResult.OK) {string path = pOpenfileDialog.FileName;IWorkspaceFactory pWorkspaceFactory = new ShapefileWorkspaceFactory();//由于shp文件的特殊性,要通过文件名和文件路径获取string pFilePath = System.IO.Path.GetDirectoryName(path);string pFileName = System.IO.Path.GetFileName(path);//打开工作空间IFeatureWorkspace pFeaWorkspace = pWorkspaceFactory.OpenFromFile(pFilePath, 0) as IFeatureWorkspace;//创建并实例化要素集IFeatureClass pFeatureClass = pFeaWorkspace.OpenFeatureClass(pFileName); //打开文件//将要素添加到显示IFeatureLayer pFeatureLyr = new FeatureLayer();pFeatureLyr.FeatureClass = pFeatureClass;axMapControl1.Map.AddLayer(pFeatureLyr);axMapControl1.ActiveView.Refresh();}}
方法二:
private void 打开shp2ToolStripMenuItem_Click(object sender, EventArgs e){OpenFileDialog pOpenfileDialog = new OpenFileDialog();pOpenfileDialog.Filter = "Shape文件|*.shp"; //打开shp文件if (pOpenfileDialog.ShowDialog() == DialogResult.OK){string path = pOpenfileDialog.FileName;IWorkspaceFactory pWorkspaceFactory = new ShapefileWorkspaceFactory();//由于shp文件的特殊性,要通过文件名和文件路径获取string pFilePath = System.IO.Path.GetDirectoryName(path);string pFileName = System.IO.Path.GetFileName(path);axMapControl1.AddShapeFile(pFilePath,pFileName);}}
ArcGIS Engine打开shp文件相关推荐
- ArcGis 中打开 shp 文件时 未知的空间参考 警告
平常我们难免会遇到各种奇奇怪怪的数据,今天博主在这记录一下关于如何给一份未定义坐标参考系的shp文件定义空间参考及投影的过程.话不多说,马上开始~! 1. 首先看一下打开文件时弹出的警告.如下图 当我 ...
- 如何arcview或arcgis下用SHP文件切DEM和影像图?
如何arcview或arcgis下用SHP文件切DEM和影像图? ArcGIS9软件,ArcToolbox -->Spatial Analysis Tools-->Extraction-- ...
- Arcgis加载shp文件
Arcgis地图加载shp文件,效果如图(当前shp文件包含雨量等值面数据): 1.思路:使用js-shapefile-to-geojson把shp和dbf文件转为geojson格式数据,然后通过Ar ...
- 解决ArcGIS Desktop打开DWG文件中文乱码问题
安装ArcGIS Desktop中文版,打开ArcMap浏览DWG文件时出现乱码,如: 几番查找之后发现是字符集的问题,解决办法也很简单,即修改注册表中默认字符集为简体中文字符集即可. 具体位置在: ...
- php能打开.shp文件吗,shp文件是什么格式的
shape文件由ESRI开发,一个ESRI的shape文件包括一个主文件,一个索引文件,和一个dBASE表.其中主文件的后缀就是[.shp]. 本文操作环境:Windows7系统,Dell G3电脑. ...
- ArcGIS学习记录—SHP文件转换为KML KMZ数据,并显示面要素相应的标注
网上教学shp矢量转KMZ的方法已经很多了,本人在通过学习网上的方法后,整理了一套比较方便的方法,并附加相应小工具,并且将遇到的相关问题也提供出来,提供给各位新人学习. 先不多说,直接上图.(图一图二 ...
- Python打开shp文件报错:Set SHAPE_RESTORE_SHX config option to YES to restore or create it.
ERROR 4: Unable to open point.shx or point.SHX. Set SHAPE_RESTORE_SHX config option to YES to restor ...
- 程序编辑SHP文件并应用更改到数据源
在上一篇Blog中峻祁连介绍了在Map 3D中通过程序删除图层及数据源的方法,并且卖了个关子,这个方法还有另外一个妙用,今天就简单介绍一下.对数据源的编辑估计是Map 3D开发中最常见的功能了,包括对 ...
- arcgis导出shp文件_RegionManager GIS导出shp文件编码说明
在<RegionManager GIS数据如何上报到国家水土保持重点工程项目管理系统>一文介绍了RM GIS软件如何导出shp文件的相关操作,以及如何定义投影等相关操作.从RM GIS软件 ...
- 如何加载和保存ArcGIS SHP文件
如何加载和保存ArcGIS SHP文件 SHP文件是ArcGIS软件支持的矢量文件,如果SHP文件是WGS84经纬度投影的,点击矢量面板,加载矢量,可以直接加载,如果是国家2000坐标系,由于2000 ...
最新文章
- Node.js学习笔记(一)
- 三目运算符 改变a标签的class属性
- html大学生活主题,大学生培训主题标语
- PHP 依赖注入,从此不再考虑加载顺序
- IntelliJ IDEA 建空包合并问题。
- gradient设置上下渐变_PaintCode Mac使用教程:如何使用渐变色
- MySQL学习-MySQL数据库事务
- [渝粤教育] 西南科技大学 财务会计 在线考试复习资料
- Linux分区的那些方案
- Excel函数大全-12统计函数
- vs2010学习版安装与激活
- TikTok二面: 说下二维码登录的原理?
- 大二Git-Branching学习
- 搭建hadoop集群从裸机开始
- vs各个版本的编译器号对应的vs版本号
- [N1CTF 2022] solve_pow,baby_N1ES
- 如何彻底的删除计算机多余的 CD驱动器盘符
- python三原色组合白色_为何色光三原色三三相加得到白色,这其中加色原理是如何起作用的?...
- LVGL8学习之row and a column layout with flexbox
- 这老铁教你如何制作亮眼简厉!!