shp文件是目前主流的空间数据存储文件,AE加载shp文件可以通过以下两种方式:

  1. 通过工作空间加载
  2. 通过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文件相关推荐

  1. ArcGis 中打开 shp 文件时 未知的空间参考 警告

    平常我们难免会遇到各种奇奇怪怪的数据,今天博主在这记录一下关于如何给一份未定义坐标参考系的shp文件定义空间参考及投影的过程.话不多说,马上开始~! 1. 首先看一下打开文件时弹出的警告.如下图 当我 ...

  2. 如何arcview或arcgis下用SHP文件切DEM和影像图?

    如何arcview或arcgis下用SHP文件切DEM和影像图? ArcGIS9软件,ArcToolbox -->Spatial Analysis Tools-->Extraction-- ...

  3. Arcgis加载shp文件

    Arcgis地图加载shp文件,效果如图(当前shp文件包含雨量等值面数据): 1.思路:使用js-shapefile-to-geojson把shp和dbf文件转为geojson格式数据,然后通过Ar ...

  4. 解决ArcGIS Desktop打开DWG文件中文乱码问题

    安装ArcGIS Desktop中文版,打开ArcMap浏览DWG文件时出现乱码,如: 几番查找之后发现是字符集的问题,解决办法也很简单,即修改注册表中默认字符集为简体中文字符集即可. 具体位置在: ...

  5. php能打开.shp文件吗,shp文件是什么格式的

    shape文件由ESRI开发,一个ESRI的shape文件包括一个主文件,一个索引文件,和一个dBASE表.其中主文件的后缀就是[.shp]. 本文操作环境:Windows7系统,Dell G3电脑. ...

  6. ArcGIS学习记录—SHP文件转换为KML KMZ数据,并显示面要素相应的标注

    网上教学shp矢量转KMZ的方法已经很多了,本人在通过学习网上的方法后,整理了一套比较方便的方法,并附加相应小工具,并且将遇到的相关问题也提供出来,提供给各位新人学习. 先不多说,直接上图.(图一图二 ...

  7. 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 ...

  8. 程序编辑SHP文件并应用更改到数据源

    在上一篇Blog中峻祁连介绍了在Map 3D中通过程序删除图层及数据源的方法,并且卖了个关子,这个方法还有另外一个妙用,今天就简单介绍一下.对数据源的编辑估计是Map 3D开发中最常见的功能了,包括对 ...

  9. arcgis导出shp文件_RegionManager GIS导出shp文件编码说明

    在<RegionManager GIS数据如何上报到国家水土保持重点工程项目管理系统>一文介绍了RM GIS软件如何导出shp文件的相关操作,以及如何定义投影等相关操作.从RM GIS软件 ...

  10. 如何加载和保存ArcGIS SHP文件

    如何加载和保存ArcGIS SHP文件 SHP文件是ArcGIS软件支持的矢量文件,如果SHP文件是WGS84经纬度投影的,点击矢量面板,加载矢量,可以直接加载,如果是国家2000坐标系,由于2000 ...

最新文章

  1. Node.js学习笔记(一)
  2. 三目运算符 改变a标签的class属性
  3. html大学生活主题,大学生培训主题标语
  4. PHP 依赖注入,从此不再考虑加载顺序
  5. IntelliJ IDEA 建空包合并问题。
  6. gradient设置上下渐变_PaintCode Mac使用教程:如何使用渐变色
  7. MySQL学习-MySQL数据库事务
  8. [渝粤教育] 西南科技大学 财务会计 在线考试复习资料
  9. Linux分区的那些方案
  10. Excel函数大全-12统计函数
  11. vs2010学习版安装与激活
  12. TikTok二面: 说下二维码登录的原理?
  13. 大二Git-Branching学习
  14. 搭建hadoop集群从裸机开始
  15. vs各个版本的编译器号对应的vs版本号
  16. [N1CTF 2022] solve_pow,baby_N1ES
  17. 如何彻底的删除计算机多余的 CD驱动器盘符
  18. python三原色组合白色_为何色光三原色三三相加得到白色,这其中加色原理是如何起作用的?...
  19. LVGL8学习之row and a column layout with flexbox
  20. 这老铁教你如何制作亮眼简厉!!

热门文章

  1. IBM IT 企业基础架构解决方案
  2. python处理实时获取的数据
  3. 二维vector初始化方法
  4. SQLserver常用创建表 添加字段sql
  5. 基于asp.net806莆田新华网上书店_图书销售系统
  6. 内网DNS重要使用作用
  7. 工业相机选型和镜头焦距计算
  8. OSEK和Autosar网络管理的区别和共同点
  9. 47 jquery 计时器 选择器 筛选器 左边菜单栏
  10. wgs84坐标系拾取工具_百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换的工具...