arcgis engine二次开发python-使用C#配合ArcGIS Engine进行地理信息系统开发

简单的地图读取、展示终于到暑假了。。。开始认真整理整理相关学习的心得体会咯~

先把很久之前挖的关于C# 二次开发的坑给填上好了~ 这次先计划用一个月把C# ArcEngine 10.0相关开发的学习心得给发布出来好啦~

第一部分就是最简单的helloworld了:掌握使用控件创建简单的GIS应用程序~

(前期相关环境配置略掉~请自行百度~)

首先打开VS2010,,通过(文件--新建--项目--Windos窗体应用程序) ,我们新建一个名叫“MyHelloWorld”的Windows 窗体应用程序。然后就要开始往里面填控件了:

在 VS 的工具箱中找到到和 ArcGIS Engine 相关的控件 ,在这里我们使用AxTOCControl(目录控件),AxLicenseControl (许可控件),以及MapControl,在这里MapControl对应于 ArcMap 中的数据视图,它封装了Map 对象,并提供了额外的属性,方法,事件等。是我们在接来下的一系列开发中必不可少的一环。

将3个控件排列一下后,效果如下图所示:

2016219144504973.jpg?2016119144513

注意:

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

{

///

/// The main entry point for the application.

///

[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控件设置我们需要的工具,在这里我选择了一些常用的工具:保存、移动、撤销、放大、缩小等等,过程如下图所示:

2016219144535867.jpg?2016119144543

全部设置后之后,第一章的内容就基本结束了,将程序调试后,最终效果如下图,一个最简单的GIS桌面程序就出来啦~~

2016219144552570.jpg?2016119144559

打开地图文档、鹰眼图的制作首先是制作一个按钮来负责打开地图文档:

在toolbox中选择Button控件拖入我们的Form中,接下来在该button的Cilck事件中调用 OpenFileDialog类获取文件路径后,

将文件路径调用到axMapControl1.LoadMxFile(path)中就可以打开MXD文档了。

private void button1_Click(object sender, EventArgs e)

{

OpenFileDialog OpenMXD = new OpenFileDialog();

OpenMXD.Title = "打开地图";

OpenMXD.InitialDirectory = "E:";

OpenMXD.Filter = "Map Documents (

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ArcGIS Engine是一款基于C++的GIS开发框架,可以用来开发各种GIS应用程序。而C#是一种高级编程语言,可以用来开发各种Windows应用程序。因此,使用C#进行ArcGIS Engine二次开发是非常常见的。在C#中,可以使用ArcObjects来访问ArcGIS Engine的各种功能,包括地图显示、数据编辑、空间分析等等。同时,C#还提供了丰富的GUI开发工具,可以帮助开发者快速构建出美观、易用的GIS应用程序。 ### 回答2: # ArcGIS Engine是一种面向开发者的GIS软件开发平台,可提供一系列组件、工具和API,以便在各种应用程序中快速构建和集成地理空间功能。ArcGIS Engine是基于ESRI强大的GIS软件引擎构建的,因此具有高效、灵活和可定制化的特点。 为了进行ArcGIS Engine二次开发,需要了解ArcGIS Engine开发环境、API和工具。一般来说,开发ArcGIS Engine应用程序需要以下步骤: 1.安装ArcGIS Engine开发工具包 首先,需要安装适合开发环境的ArcGIS Engine开发工具包,包括ArcGIS Engine运行时、ArcGIS Engine开发环境等。 2.掌握ArcGIS Engine API ArcGIS Engine API是开发ArcGIS Engine应用程序的关键。它提供一些重要的接口,如MapControl接口和TOCControl接口,可用于创建和管理地图、图层、符号化、标注、查询和分析操作等。掌握这些接口,有助于开发人员快速开发出功能强大的GIS应用程序。 3.选择合适的编程语言 ArcGIS Engine支持多种开发语言,如C#、Java、VB.NET等。根据开发需求选择合适的编程语言进行开发。 4.开发测试应用程序 实际开发过程中,可以使用ArcGIS Engine提供的Visual Studio集成开发环境,创建一个简单的GIS应用程序,并进行测试和调试,以确保程序能够正常运行。 5.集成GIS数据和地理处理工具 开发一个GIS应用程序需要集成GIS数据和地理处理工具,如数据查询、地理分析等。ArcGIS Engine提供了一系列工具和API,使得这些操作更加容易实现。 总之,ArcGIS Engine二次开发是一个非常有挑战性、也是非常有前景的GIS开发领域。需要开发人员具备扎实的GIS理论基础和计算机编程技能,这样才能够灵活、高效地开发出满足用户需求的GIS应用程序。 ### 回答3: # ArcGIS Engine 二次开发 ## 什么是 ArcGIS Engine? ArcGIS Engine 是 ESRI 公司在其 ArcGIS 系列产品中一款灵活的二次开发环境,它是一种针对开发人员的中间件技术,允许开发人员将 ESRI 的 GIS 功能与自己的应用程序结合起来。在 ArcGIS Engine 中可以开发基于地图和空间数据的应用程序,提供图形用户界面和自定义功能。这些应用程序可以以多个不同的方式提供 GIS 数据和功能,例如桌面应用程序、网络应用程序和移动应用程序等。 ## 开发环境和语言 ArcGIS Engine 主要支持开发环境和语言有: - Microsoft Visual Studio .NET - Microsoft C# - Microsoft VB.NET - Microsoft C++ - Java ## 开发流程 ArcGIS Engine开发流程主要分为以下几步: 1. 创建一个 ArcGIS Engine 的项目工程 2. 添加 ESRI 的库文件到项目中 3. 添加地图控件和工具栏控件到界面上 4. 加载地图数据和其他空间数据 5. 自定义工具和功能 6. 设置符号和标注等地图属性 7. 发布应用程序 ## 开发者资源 在 ArcGIS Engine开发过程中,开发者可以通过以下资源获取相关的开发文档、代码示例和技术支持: - 官方网站:https://www.esri.com/en-us/arcgis/products/arcgis-engine/ - 开发者博客:https://blogs.esri.com/esri/arcgis/category/arcgis-engine/ - 开发者论坛:https://community.esri.com/community/developers/arcgis-engine - 开发文档:https://desktop.arcgis.com/en/arcobjects/latest/net/ - 在线代码示例:https://developers.arcgis.com/net/ ## 应用场景 ArcGIS Engine 适用于需要高性能、高可定制性的 GIS 应用程序的企业和组织。以下是一些适用场景: - 地图分析应用 - 消防、警察和军队应用 - 自然资源和环境管理 - 市政工程和公共服务 - 总线调度和公共交通 - 能源和电力管理 ## 总结 ArcGIS Engine 提供了一种灵活的 GIS 开发环境,开发者可以使用多种不同的语言和工具来开发自己的 GIS 应用程序。该平台不仅可用于桌面应用程序,还可用于网络和移动应用程序。使用 ArcGIS Engine 可以帮助企业和组织构建高性能的自定义 GIS 应用程序,并提供高度灵活性和可定制性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值