1. 加载数据Icommand方法

ICommand Butdata = new ControlsAddDataCommandClass();
Butdata.OnCreate(axMapControl1.Object);
Butdata.OnClick();
axMapControl1.CurrentTool = Butdata as ITool;

2.加载mxd地图文档

OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.CheckFileExists = true;
openFileDialog.Title = "打开地图文档";
openFileDialog.Filter = "地图文档(*.mxd)|*.Mxd|地图模板(*.mxt)|*.Mxt";
openFileDialog.Multiselect = false;
openFileDialog.RestoreDirectory = true;
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
string sFileName = openFileDialog.FileName;
axMapControl1.LoadMxFile(sFileName);
}

3.加载shape

OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.CheckFileExists = true;
openFileDialog.Title = "打开shp";
openFileDialog.Filter = "Shapefile(*.shp)|*.shp";
openFileDialog.Multiselect = true;
openFileDialog.RestoreDirectory = true;
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
FileInfo fileinfo = new FileInfo(openFileDialog.FileName);
string path = fileinfo.Directory.ToString();
string filename = fileinfo.Name.Substring(0, fileinfo.Name.IndexOf("."));
try
{
axMapControl1.AddShapeFile(path, filename);
}
catch (Exception ce)
{
MessageBox.Show("添加失败!" + ce.ToString());
}

}

3.加载mdb

为完成

4.保存

try
{
string sMxdFileName = axMapControl1.DocumentFilename;
IMapDocument pMapDocument = new MapDocumentClass();
if (sMxdFileName != null && axMapControl1.CheckMxFile(sMxdFileName))
{
if (pMapDocument.get_IsReadOnly(sMxdFileName))
{
MessageBox.Show("本地图文档是只读,不能保存");
pMapDocument.Close();
return;
}
}
else
{
SaveFileDialog pSaveFileDialog = new SaveFileDialog();
pSaveFileDialog.Title = "选择保存路径";
pSaveFileDialog.OverwritePrompt = true;
pSaveFileDialog.Filter = "ArcMap文档(*.mxd)|*.mxd|ArcMap模板(*.mxt)|*.mxt";
pSaveFileDialog.RestoreDirectory = true;
if (pSaveFileDialog.ShowDialog() == DialogResult.OK)
{
sMxdFileName = pSaveFileDialog.FileName;
}
else
{
return;
}
}
pMapDocument.New(sMxdFileName);
pMapDocument.ReplaceContents(axMapControl1.Map as IMxdContents);
pMapDocument.Save(pMapDocument.UsesRelativePaths, true);
pMapDocument.Close();
MessageBox.Show("保存文档成功");

}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

5.另存为

try
{
SaveFileDialog psaveFileDialog = new SaveFileDialog();
psaveFileDialog.Title = "另存为";
psaveFileDialog.OverwritePrompt = true;
psaveFileDialog.Filter = "ArcMap文档(*mxd)|*.mxd|ArcMap模板(*.mxt)|*.mxt";
psaveFileDialog.RestoreDirectory = true;
if (psaveFileDialog.ShowDialog() == DialogResult.OK)
{
string sFilePath = psaveFileDialog.FileName;
IMapDocument pMapDocument = new MapDocumentClass();
pMapDocument.New(sFilePath);
pMapDocument.ReplaceContents(axMapControl1.Map as IMxdContents);
pMapDocument.Save(true, true);
pMapDocument.Close();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

6.地图缩放(放大,缩小)

ICommand Zoomin = new ControlsMapZoomInToolClass();
Zoomin.OnCreate(axMapControl1.Object);
Zoomin.OnClick();
axMapControl1.CurrentTool = (ITool)Zoomin;

ICommand Zoomout = new ControlsMapZoomOutToolClass();
Zoomout.OnCreate(axMapControl1.Object);
Zoomout.OnClick();
axMapControl1.CurrentTool = (ITool)Zoomout;

7.地图漫游

ICommand Pan = new ControlsMapPanToolClass();
Pan.OnCreate(axMapControl1.Object);
Pan.OnClick();
axMapControl1.CurrentTool = (ITool)Pan;

8.全图显示

ICommand Full = new ControlsMapFullExtentCommandClass();
Full.OnCreate(axMapControl1.Object);
Full.OnClick();

9.属性查询

ICommand Identify = new ControlsMapIdentifyToolClass();
Identify.OnCreate(axMapControl1.Object);
Identify.OnClick();
axMapControl1.CurrentTool = (ITool)Identify;

1. AE二次开发——地图的基本操作(加载地图文档,加载shape,加载mdb,地图的保存,缩放,漫游)的更多相关文章

  1. AE二次开发中几个功能速成归纳(符号设计器、创建要素、图形编辑、属性表编辑、缓冲区分析)

    /* * 实习课上讲进阶功能所用文档,因为赶时间从网上抄抄改改,凑合能用,记录一下以备个人后用. * * ----------------------------------------------- ...

  2. 在AE二次开发中出“正试图在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。”异常解决方案

    今天的一个项目总用到了AE的开发组件,也就是ESRI公司提供的一系列的开发包(组件)都是以dll(动态链接库的形式)然后今天在调试的时候却出现了“正试图在 OS 加载程序锁内执行托管代码.不要尝试在 ...

  3. AE二次开发技巧之撤销、重做

    原文地址:http://www.cnblogs.com/wylaok/articles/2363208.html 可以把AE自带的重做.撤销按钮或工具添加到axToolBarControl上,再把ax ...

  4. AE二次开发中,过滤后的图层,实现缩放至图层效果

    //featureClass是自己获取的featureClass,也可是sde中获取的. public void FilterAndZoomToLayer(IFeatureClass featureC ...

  5. AE二次开发,解决子窗体使用父窗体的AxControl控件

    在子窗体写构造函数,然后再在父窗体按钮点击事件下写 public frmIDW(AxMapControl axMapControl1) { InitializeComponent(); this.ax ...

  6. [转] GIS二次开发(C#+AE)

    乘风莫邪 原文GIS二次开发(C#+AE) 此过程描述了使用ArcGIS控件建立和部署应用的方法和步骤. 你可以在下面的目录下找到相应的样例程序: <</FONT>安装目录>/ ...

  7. Arc Engine二次开发——弹窗进行属性查询

    在Arcmap中使用Sapefile格式的矢量数据时,经常会用到其属性查询的功能,弹出窗体然后用户鼠标点击或手动输入查询条件,进而查询到感兴趣的要素.在AE二次开发中也经常需要这个功能,于是在此记录整 ...

  8. NX二次开发-Block UI C++界面关于 在Block UI中UF_initialize();和UF_terminate();的使用

    关于 在Block UI中UF_initialize();和UF_terminate();的使用 用Block UI作NX二次开发的时候,不需要在使用UFUN函数的时候加UF_initialize() ...

  9. 打开地图文件和shape文件代码加载Mxd文档

    代码加载Mxd文档 用代码添加Mxd文档,用到AxMapControl.LoadMxFile(sFilePath),我们只要将Mxd文档的路径传给这个方法即可 /// <summary>  ...

随机推荐

  1. PARENT VIEW INVALIDATE

    如果启动display list,parentview 调用invalidate,子view是不会是去调用onDraw的,因为直接调用displaylist了,如果parentview认为子view应 ...

  2. 如何写一个HttpClient[1]——URI的处理

    如何写一个HttpClient[1]--URI的处理 在翻阅apache的http client的代码的时候,看到org.apache.http.client.utils.URIBuilder.jav ...

  3. C#面向编程的三大特征

    在面向对象的编程中,首先要清楚地理解面向对象编程的三个基本特征: 封装, 继承, 多态! 1.封装 更确切地说,是对象封装.就是每个对象都包含自己进行某种操作时所需要的所有信息,而不依赖于其他对象来完 ...

  4. s3c2440液晶屏驱动 (非内核自带) linux-4.1.24

    对于,不想逐一检查内核自带驱动,想自己编写驱动. 1,make menuconfig 去掉 编译到内核,改为 M 编译为 模块(因为要用到里面的3个.ko 驱动) Device Drivers --- ...

  5. dm9000c 移值新内核 linux-4.1.24

    错误 1 /home/dm9000/dm9dev9000c.c:309: error: conflicting types for 'phy_read'include/linux/phy.h:637: ...

  6. Is the Information Reliable? -POJ2983差分约束

    Time Limit: 3000MS Memory Limit: 131072K Description The galaxy war between the Empire Draco and the ...

  7. JAVA应用程序占用CPU、内存过高分析过程

    1.查看cpu占有率 top -P 2.查看进程cpu占用率 ps -mp 3749 -o THREAD,tid,time|sort -rn|head -n 20 查看占用cpu高,且占用时间长的线程 ...

  8. JDK动态代理的实现原理

    学习JDK动态代理,从源码层次来理解其实现原理参考:http://blog.csdn.net/jiankunking/article/details/52143504

  9. 税收基础知识 > 三税(营业税, 增值税, 所得税) + 关税

    三税:营业税 ▪ 增值税 ▪ 所得税 主要关注:一般纳税人, 起征点不详细描述. 营业税(Business tax) 营业税(Business tax),是对在中国境内提供应税劳务.转让无形资产或销售 ...

  10. 详解Linux目录(目录树详细解释)

    给大家一篇关于Linux目录 方面的详细说明,好好读一下! Linux目录详解(RHEL5.4) linux有四种基本文件系统类型:--普通文件:如文本文件.c语言源代码.shell脚本等,可以用ca ...