文章标题

来源:互联网 发布:linux 解压缩gz 编辑:程序博客网 时间:2024/06/05 19:10

ArcGIS Engine .NET 开发(一)

一、ArcGIS 介绍


在这里我们用一张图来简单的介绍这里写图片描述
ArcGIS Engine 是一个完整的嵌入式 GIS 组件库和工具包,开发者能用它创建一个新的、或扩展原有的可定制的桌面应用程序。使用 ArcGIS Engine,开发者能将 GIS 功能嵌入到已有的应用程序中,提供用户需求者更多的GIS功能。
二、ArcGIS Engine 由两个部分组成:
(1)、面向开发人员的软件开发包(ArcGIS Engine Developer kit)。
(2)、面向最终用户的运行时(ArcGIS Engine Runtime)。
ArcGIS Engine 开发工具包是一个基于组件的软件开发产品,可用于构建自定义 GIS 和制图应用软件。构建基础制图和综合动态 GIS 应用软件。
ArcGIS Engine Runtime 是一个使终端用户软件能够运行的核心 ArcObjects 组件产品,并且将被安装在每一台运行 ArcGIS Engine 应用程序的计算机上。
关于ArcEngine中的类库功能描述再此不做详细的阐述请参考:http://blog.sina.com.cn/s/blog_51eca0550101bkyx.html
三、简单介绍ArcObject
ArcObjects是一套ArcGIS的可重用的二次开发组件产品,它可以运用与大量的开发框架中,其中包括:开发环境( C++, COM, .NET,以及 Java),适于为 Windows、 UNIX 或 Linux 用户。我们开发者可以通过ArcObjects组件来扩展ArcGIS Desktop,并且有能力制定ArcEngine的一下应用。


ArcGIS二次开发的组件介绍就到这里了下面我们开始进入主题:


一、ArcGIS 二次开发相关软件的安装以及开发平台的搭建:
ArcGIS相关软件的下载及授权,官网网址http://desktop.arcgis.com/zh-cn/#apps
申请试用授权安装。这里不再赘述具体的Desktop等的详细安装步骤。(打开连接后可以先注册后申请ArcGIS软件的试用权可以试用60天只需要你的邮箱号就可以申请)如图:这里写图片描述
一般的软件授权方式我们选用山寨版也就是破解版我在这里给大家分享一个云盘链接:http://pan.baidu.com/s/1bp2Z2sJ 密码:l75y
先安装license然后安装Desktop安装完成后可在计算机控制面板就可已查看了如图:
这里写图片描述
接下来需要用.NET+C#+ArcEngine开发需要安装微软的 Visual Studio 开发软件如果是用ArcGIS for Engine 10.2.2以下版本可以选择安装 Visual Studio 2010旗舰版或是 Visual Studio 2012的update版本同样可以下载最好到微软的官网去下载。可以https://www.visualstudio.com/
到这里下载或是在这里提供网盘链接链接:http://pan.baidu.com/s/1o8B055K 密码:9h2o
可以下载安装使用Visual Studio 的安装在这不予说明。在此给大家推荐一个微软的下载网址不要外传 啊!http://www.itellyou.cn/ 通过此网址你可以现在到微软的基本常用的开发工具,电脑操作系统应用程序等很多有用的微软产品。

二、接下来我们就可以安装ArcObject了
到这里好多初次接触者会有疑问到底在ArcGIS那么多的安装模块安装那个合适接下来就给大家说明:这里写图片描述
就是安装最下面的Arcobject SDKS 在这里Esri为我们提供了两种平台开发的SDKS分别是Arcobject SDK For .NET 和Arcobject SDK For Java接下来我们根据自己的开发方向安装相应的SDK。在这里本人使用Arcobject SDK For .NET。具体安装过程不再赘述。
等安装完成之后我们就可以打开Visual Studio新建一个Windows的窗体应用程序这里写图片描述 这是我们会发现在我们的工具箱中会有一个ArcGIS Windows Form选项卡如图:这里写图片描述 接下来 我们可以安装ArcEngine如图打开安装程序界面安装ArcEngine 这里写图片描述 安装过程在这不再赘述
安装完成之后 在这里同样新建Windows的窗体应用程序,简单介绍ArcGIS Windows Form选项卡中的组件:**其中,
AxMapControl 就是 Map 地图控件,
AxTOCControl 是目录控件,
AxToolbarControl 是 GIS 工具栏控件,
AxSceneControl 是 Scene 三维场景控件,
axGlobeControl 是 Globe 控件,
AxLicenseControl 是许可控件,
AxArcReaderControl 是 ArcReader 控件AxArcReaderGlobeControl 是 ArcReaderGlobe 控件。
AxLicenseControl是许可控件,一般 GIS系统中都必须添加,否则无法使用。
接下来我们一起建立第一个程序:
在From窗体上拖拽添加 AxToolbarControl、 AxMapControl 、AxTOCControl 切记不要忘了最最关键的AxLicenseControl 结果如图 这里写图片描述
一般使用次布局 控件的添加顺序是AxToolbarControl控件然后设置期属性Dock属相为Top然后添加一个splitContainer控件分割长左右两个,接下里还是设置splitContainer的Dock属性为Fill,然后添加AxLicenseControl 控件和AxMapControl 、AxTOCControl 并设置后两个的Dock属性为Fill,接下来设置控件的关联属性有两种方法:
方法一:在AxTOCControl和AxToolbarControl控件右击打开属性进行设置,如图设置
这里写图片描述 设置buddy为Map控件。
方法二:用代码设置将其代码写在Formload事件下加载窗体遍触发事件,代码如图:这里写图片描述
接下来我们试着运行程序试试:结果程序出错看看是不是报这个错误:
这里写图片描述
如果是这个错误我只需要在程序入口处添加一句绑定ArcEngine Runtime运行是的代码就可以了,如图所示;这里写图片描述 接下来我们在运行试试:
这里写图片描述 程序运行结果,然后我们需要在工具栏添加一写工具具体步骤是:在 Toolbar control 上右键—属性在 items 选项卡中添加几个工具命令这里写图片描述 再次运行程序并添加数据。这里写图片描述
接下来我们用代码加载数据写一个事件加载:
用代码添加 Mxd 文档,用到 AxMapControl.LoadMxFile(sFilePath),我们只要将 Mxd 文档的路径传给这个方法即可。
用一个button的click事件打开 。代码:
这里写图片描述
运行结果:这里写图片描述
好了打一个简单的小测试程序就到这里了。谢谢


未经同意不得私自转载。
谢谢。

0 0