ArcGIS加载数据中常用的File文件方法总结
在介绍ArcGIS中各种数据的打开方法时,我们用到了许多对于File文件的操作,在此做一个常用用法的总结。例如,
以方法一为例:运用LoadMxFile方法的函数参数加载地图文档
private void loadMapAccDoc1()
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Title = "打开地图文档";
ofd.Filter = "map documents(*.mxd)|*.mxd";
ofd.InitialDirectory = m_Path;
//判断, 如果对话框结构不为OK, 退出函数体
DialogResult DR = ofd.ShowDialog();
if (DR != DialogResult.OK)
return;
string filePath = ofd.FileName;
if (axMapControl1.CheckMxFile(filePath))
{
//设置axMapControl控制鼠标指针图标选项为沙漏光标
axMapControl1.MousePointer = ESRI.ArcGIS.Controls.esriControlsMousePointer.esriPointerArrowHourglass;
//三个参数(filePath——文件路径、0——地址名称或索引、Type.Missing——通过反射进行调用获取参数的默认值)
axMapControl1.LoadMxFile(filePath, , Type.Missing);
//定义axMapControl控制鼠标指针图标为默认箭头
axMapControl1.MousePointer = ESRI.ArcGIS.Controls.esriControlsMousePointer.esriPointerDefault;
axMapControl1.Extent = axMapControl1.FullExtent;
}
else
{
MessageBox.Show(filePath + "不是有效的地图文档");
}
}
从以上的代码中,我们归纳出几条常用的。
1、
OpenFileDialog ofd = new OpenFileDialog();
ofd.Title = "打开地图文档";
ofd.Filter = "map documents(*.mxd)|*.mxd";
ofd.InitialDirectory = m_Path;
2、
DialogResult DR = ofd.ShowDialog();
if (DR != DialogResult.OK)
return;
可改写为(推荐使用):
if(ofd.ShowDialog()!=DialogResult.OK)
return;
3、
因为C#当中的FileName得到完整的路径(路径+文件名),让人感到有点不理解,很容易会让人误以为只是得到文件名。
因此,我们在编码中规定,
pFileName(完整的路径,路径+文件名)
fileName(文件名)
filePath(路径)
因此方法一中,应改写为:
private void loadMapAccDoc1()
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Title = "打开地图文档";
ofd.Filter = "map documents(*.mxd)|*.mxd";
ofd.InitialDirectory = m_Path;
//判断, 如果对话框结构不为OK, 退出函数体
if (ofd.ShowDialog() != DialogResult.OK)
return;
string pFileName = ofd.FileName;
if (axMapControl1.CheckMxFile(pFileName))
{
//设置axMapControl控制鼠标指针图标选项为沙漏光标
axMapControl1.MousePointer = ESRI.ArcGIS.Controls.esriControlsMousePointer.esriPointerArrowHourglass;
//三个参数(pFileName——文件路径、0——地址名称或索引、Type.Missing——通过反射进行调用获取参数的默认值)
axMapControl1.LoadMxFile(pFileName, , Type.Missing);
//定义axMapControl控制鼠标指针图标为默认箭头
axMapControl1.MousePointer = ESRI.ArcGIS.Controls.esriControlsMousePointer.esriPointerDefault;
axMapControl1.Extent = axMapControl1.FullExtent;
}
else
{
MessageBox.Show(pFileName+ "不是有效的地图文档");
}
}
4、
//FileInfo类提供创建、复制、删除、移动和打开文件的实例方法
FileInfo fileInfo = new FileInfo(ofd.FileName);
//获取父目录并强制转换成字符型
String filePath = fileInfo.Directory.ToString();
//得到不带后缀的文件名
String sfileName = fileInfo.Name.Substring(, fileInfo.Name.IndexOf("."));
5、
string pFileName = ofd.FileName;
int index = ;
//获取最后一个“\\”时的索引位置
index = pFileName.LastIndexOf("\\");
//获得shp文件的路径
string filePath = pFileName.Substring(, index);
//获得shp文件名
string fileName = pFileName.Substring(index + , pFileName.Length - (index + ));
谢谢观看!本人初学GIS二次开发,如果有不对的地方,请多多包涵!
ArcGIS加载数据中常用的File文件方法总结的更多相关文章
- linux c++ 加载动态库常用的三种方法
链接库时的搜索路径顺序:LD_LIBRARY_PATH --> /etc/ld.so.conf --> /lib,/usr/lib 方法1. vi .bash_profile 设置环 ...
- Highcharts 异步加载数据曲线图表
导入 data.js 文件 异步加载数据需要引入以下js 文件: <script src="http://code.highcharts.com/modules/data.js&quo ...
- Ajax页面的加载数据与删除
1.数据库找一张表: 颜色表2.主页面主页面的代码用到tbody:TBODY作用是:可以控制表格分行下载,从而提高下载速度.(网页的打开是先表格的的内容全部下载完毕后,才显示出来,分行下载可以先显示部 ...
- Highcharts 基本曲线图;Highcharts 带有数据标签曲线图表;Highcharts 异步加载数据曲线图表
Highcharts 基本曲线图 实例 文件名:highcharts_line_basic.htm <html> <head> <meta charset="U ...
- ArcGIS Engine中加载数据
ArcGIS Engine中加载数据 http://blog.csdn.net/gisstar/article/details/4206822 分类: AE开发积累2009-05-21 16:49 ...
- ML.NET Cookbook --- 1.如何从文本文件中加载数据?
使用ML.NET中的TextLoader扩展方法从文本文件中加载数据.你需要知道在文本文件中数据列在那里,它们的类型是什么,在文本文件中什么位置可以找到它们. 请注意:对于ML.NET只读取文件的某些 ...
- 机器学习:从sklearn中加载数据
一.sklearn模块 sklearn模块下有很多子模块,常用的数据集在:sklearn.datasets模块下: 通过数据集中DESCR来查看数据集的文档: 从datasets中加载数据: impo ...
- echarts在.Net中使用实例(二) 使用ajax动态加载数据
通过上一篇文章可以知道和echarts参考手册可知,series字段就是用来存储我们显示的数据,所以我们只需要用ajax来获取series的值就可以. option 名称 描述 {color}back ...
- Flexigrid从对象中加载数据
(有问题,在找…………) Flexigrid是用来动态加载数据的一种比较好(老)的Jquery表插件,然后有些时候,我们需要其从本地或者jQuery对象中加载数据,比如有这么个需求,页面显示中有两个表 ...
随机推荐
- Java实现一个简单的事件监听器
关于事件监听我们需要知道的一些基础知识. a)事件三要素(who when what): source -- 事件源 when -- 事件发生时间 message -- 事件主题消息,即希望通过事件传 ...
- 从太空到地球某个位置的轨迹录像制作 | Earth Zoom in/out Tutorial (Record Video)
视频教程:Google Earth - Earth Zoom in/out Tutorial (Record Video) 下载google earth 在search里输入你想要去的地名 zoom ...
- 微信小程序诡异错误this.setData报错
先说原因: function声明的函数和箭头函数的作用域不同,这是一个不小心坑的地方.可参考箭头函数说明:https://developer.mozilla.org/en-US/docs/Web/Ja ...
- 华为交换机在Telnet登录下自动显示接口信息
因为用console连接交换机,默认是自动显示接口信息的,比如down掉一个接口后,会自动弹出接口被down掉的信息,但是在telnet连接下,默认是不显示这些信息的,需要开启后才可显示. 1.首先开 ...
- sails0.12相关命令
sails最新版本是1.2.3 如果要创建0.12的项目要使用以下命令 npm install sails@0.12 -g sails -vsails new myweb1npm audit fixc ...
- java判断是excel2003还是2007以上
public static Workbook create(InputStream in) throws IOException,InvalidFormatException { if (!in.ma ...
- Holmos框架
一.Holmos介绍--简介 Holmos-webtest是一个居于selenium2.0二次封装的开源框架,采用Page-Object模式去组织页面结构,同时支持多维度的页面元素定位方式,同时还继承 ...
- java初中级面试题(最新版)
Java基础方面: 概念 1.什么是面向对象? 万物皆对象,把现实中有共同特性行为的对象抽象成类,类是程序中最基本的单位. 2.类和对象 面向对象的思想是如何在java展现的呢? 就是通过类和对象 * ...
- 树莓派小用手册(安装系统,配置图形界面,连接WiFi,调用摄像头,安装ffmpeg)
安装树莓派系统(重装) 准备工作: 安装需要干净的TF卡(最好 8G 以上),如果是重装的话,需要先将其清理后再使用.清理步骤下面会给出,清理需要工具 DiskGenius,下载链接:http://w ...
- ERROR: CAN'T FIND PYTHON EXECUTABLE "PYTHON", YOU CAN SET THE PYTHON ENV VARIABLE.解决办法
错误原因:Node.js 在安装模块的时候报错,缺少python环境. 解决办法: 第一种方式: 安装Python及环境变量配置 一定要安装python2.7的版本 环境变量安装可以参考:http:/ ...