ArcGIS Engine 系统开发设计(一):简单的地图读取、展示
2014-07-11 01:25
232 查看
终于到暑假了。。。开始认真整理整理相关学习的心得体会咯~
先把很久之前挖的关于C# 二次开发的坑给填上好了~ 这次先计划用一个月把C# ArcEngine 10.0相关开发的学习心得给发布出来好啦~
第一部分就是最简单的helloworld了:掌握使用控件创建简单的GIS应用程序~
(前期相关环境配置略掉~请自行百度~)
首先打开VS2010,,通过(文件--新建--项目--Windos窗体应用程序) ,我们新建一个名叫“MyHelloWorld”的Windows 窗体应用程序。然后就要开始往里面填控件了:
在 VS 的工具箱中找到到和 ArcGIS Engine 相关的控件 ,在这里我们使用AxTOCControl(目录控件),AxLicenseControl (许可控件),以及MapControl,在这里MapControl对应于 ArcMap 中的数据视图,它封装了Map 对象,并提供了额外的属性,方法,事件等。是我们在接来下的一系列开发中必不可少的一环。
将3个控件排列一下后,效果如下图所示:
![](http://img.blog.csdn.net/20140711010114546?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWhseHQxMjM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
注意:
1.其中AxLicenseControl 控件是整个Arcengine开发中必须的许可控件,如果没有它或者没有ArcEngine的Lisence许可的话,我们是无法调用任何GIS功能的。
2.将三个控件拖入窗体后,我们会发现系统自动导入了相关引用,但无论是系统自己导入的引用还是我们手动导入的,请注意将引用属性中的“复制本地”设置为False,否则可能会产生无法运行代码的情况。
控件设置好之后,我们打开Program.cs,在系统的入口处添加这样一行代码:
这主要是针对Arcgis10.0的变化而设置的,添加后的代码如下:
接下来,我们就可以通过设置编辑ToolbarControl的属性,来给它添加上我们需要的工具了,同时要记得在ToolBar控件和axTOCCControl1控件的属性设置中,将ToolBar的Buddy选项设置为axTOCCControl1,这样就可以将二者进行联动。
在ToolbarControl的属性设置中,我们可以通右键——属性——Item来给Toolbar控件设置我们需要的工具,在这里我选择了一些常用的工具:保存、移动、撤销、放大、缩小等等,过程如下图所示:
![](http://img.blog.csdn.net/20140711012039015?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWhseHQxMjM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
全部设置后之后,第一章的内容就基本结束了,将程序调试后,最终效果如下图,一个最简单的GIS桌面程序就出来啦~~
先把很久之前挖的关于C# 二次开发的坑给填上好了~ 这次先计划用一个月把C# ArcEngine 10.0相关开发的学习心得给发布出来好啦~
第一部分就是最简单的helloworld了:掌握使用控件创建简单的GIS应用程序~
(前期相关环境配置略掉~请自行百度~)
首先打开VS2010,,通过(文件--新建--项目--Windos窗体应用程序) ,我们新建一个名叫“MyHelloWorld”的Windows 窗体应用程序。然后就要开始往里面填控件了:
在 VS 的工具箱中找到到和 ArcGIS Engine 相关的控件 ,在这里我们使用AxTOCControl(目录控件),AxLicenseControl (许可控件),以及MapControl,在这里MapControl对应于 ArcMap 中的数据视图,它封装了Map 对象,并提供了额外的属性,方法,事件等。是我们在接来下的一系列开发中必不可少的一环。
将3个控件排列一下后,效果如下图所示:
注意:
1.其中AxLicenseControl 控件是整个Arcengine开发中必须的许可控件,如果没有它或者没有ArcEngine的Lisence许可的话,我们是无法调用任何GIS功能的。
2.将三个控件拖入窗体后,我们会发现系统自动导入了相关引用,但无论是系统自己导入的引用还是我们手动导入的,请注意将引用属性中的“复制本地”设置为False,否则可能会产生无法运行代码的情况。
控件设置好之后,我们打开Program.cs,在系统的入口处添加这样一行代码:
ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);
这主要是针对Arcgis10.0的变化而设置的,添加后的代码如下:
namespace MyHelloWorld { static class Program { /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1());
接下来,我们就可以通过设置编辑ToolbarControl的属性,来给它添加上我们需要的工具了,同时要记得在ToolBar控件和axTOCCControl1控件的属性设置中,将ToolBar的Buddy选项设置为axTOCCControl1,这样就可以将二者进行联动。
在ToolbarControl的属性设置中,我们可以通右键——属性——Item来给Toolbar控件设置我们需要的工具,在这里我选择了一些常用的工具:保存、移动、撤销、放大、缩小等等,过程如下图所示:
全部设置后之后,第一章的内容就基本结束了,将程序调试后,最终效果如下图,一个最简单的GIS桌面程序就出来啦~~
相关文章推荐
- ArcGIS Engine 系统开发设计(二):打开地图文档、鹰眼图的制作
- 深入浅出 - Android系统移植与平台开发(十) - led HAL简单设计案例分析
- 深入浅出 - Android系统移植与平台开发(十) - led HAL简单设计案例分析
- 深入浅出 - Android系统移植与平台开发(十) - led HAL简单设计案例分析
- Android系统移植与平台开发(四) - led HAL简单设计案例分析
- 触摸屏多媒体查询展示自主设计系统开发过程
- 浅谈百度地图的简单开发之实现地图全景,内景展示功能(四)
- 百度地图的简单开发之实现地图全景,内景展示功能(四)
- 深入浅出 - Android系统移植与平台开发(十) - led HAL简单设计案例分析
- 深入浅出 - Android系统移植与平台开发(十) - led HAL简单设计案例分析
- ArcGIS Engine 系统开发设计(三):属性表的访问与显示
- 深入浅出 - Android系统移植与平台开发(十) - led HAL简单设计案例分析
- 关于在BSD系统中简单设计系统调用, --核心开发入门(2)
- WEB智能应用系统开发运行支撑平台的总体设计(欢迎讨论)
- 《ASP.NET办公自动化系统开发实例导航》 系统管理模块设计
- 又要开始业务流系统的设计和开发
- 基于逻辑运算的简单权限系统(原理,设计,实现) VBS 版
- 嵌入式系统开发人员C语言测试题--设计问答题(运算符与表达式)
- CIO烦恼之四:只要提出二次开发,就被认为是信息化系统当初设计有问题
- 一个Web系统的界面设计和开发.1