AE初步
AE开发就是我们常说的ArcEngine二次开发。
1、配置环境
目前来讲,稳定的版本配置,一般配置为VS2012+ArcEngine10.2。
安装ArcEngine时,安装图中三项即可,顺序为ArcGIS License Manager→替换文件→ArcObjects SDKs→ArcEngine。(网上安装教程很多,不再赘述)
2、新建项目
选择窗体应用程序
在工具箱中有以上这些工具说明安装配置成功(有些不那么恰当的配置会存在工具箱中没有,但可以通过工具箱中右键添加选项卡的方式添加这些工具)。
3、搭建基本框架
一般的GIS系统,常用的控件有MapControl(数据视图)、TOCControl(图层)、LicenseControl(方案服务);其余根据需求还有ToolbarControl(工具条)、PageLayoutControl(布局视图)、SymbolControl(符号)、SceneControl(三维场景)。
支持控件拖拽的方式,可以结合Splitcontainer、MenuStrip等配合使用,如果使用鹰眼就再加一个MapControl实现联动即可。
如果要自己定制工具条推荐用toolStrip控件(本系列不涉及DevExpress的使用,仅针对基本的AE开发设计,其实Dev控件有更多好用的选择,有兴趣可以自己搜索)。
4、系统设计及开发
完成基本系统功能的设计,进行开发。
系统功能开发中常用库的引用:
//文件管理
using System.IO;
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.Geometry;
using ESRI.ArcGIS.esriSystem;
using ESRI.ArcGIS.Display;
using ESRI.ArcGIS.SystemUI;
using ESRI.ArcGIS.Controls;
using ESRI.ArcGIS.Catalog;
using ESRI.ArcGIS.Geodatabase;
using ESRI.ArcGIS.DataSourcesFile;
using ESRI.ArcGIS.DataSourcesGDB;
using ESRI.ArcGIS.DataSourcesRaster;
using stdole;//包括IFontDisp等
using System.Runtime.InteropServices;//用于释放对象
//属性查询
using ESRI.ArcGIS.CartoUI;
//地图设计
using ESRI.ArcGIS.Framework;
using ESRI.ArcGIS.Output;
一些功能的开发可参照官方文件配合使用。
5、系统测试与优化
开发完成后,进行系统测试,根据需求进行界面或者数据读取速度等方面的优化。
也是想出一个系列吧,在自己刚开始学习AE开发的时候苦于查找书籍代码不可用或者各博客描述不够详尽到我一个小白可以读懂,然后踩了各种各样的坑(虽然踩过的坑忘记了很多),其间很多代码的产生都是始于Copy,然后结合自己的查询资料和思考所得,还是希望自己能帮助到各位正在学习或使用的各位同仁吧。
扫码关注微信公众号
AE初步的更多相关文章
- AE 遍历栅格实现栅格重分类(C#实现)
下面要讲的种重分类方法,网上很多.但是好像 System.Array pSafeArray = pPixelBlock.get_SafeArray(0) as System.Array;这一句一直报下 ...
- Task C# 多线程和异步模型 TPL模型 【C#】43. TPL基础——Task初步 22 C# 第十八章 TPL 并行编程 TPL 和传统 .NET 异步编程一 Task.Delay() 和 Thread.Sleep() 区别
Task C# 多线程和异步模型 TPL模型 Task,异步,多线程简单总结 1,如何把一个异步封装为Task异步 Task.Factory.FromAsync 对老的一些异步模型封装为Task ...
- 移动端之Android开发的几种方式的初步体验
目前越来越多的移动端混合开发方式,下面列举的大多数我都略微的尝试过,就初步的认识写个简单的心得: 开发方式 开发环境 是否需要AndroidSDK 支持跨平台 开发语言&技能 MUI Win+ ...
- CSharpGL(29)初步封装Texture和Framebuffer
+BIT祝威+悄悄在此留下版了个权的信息说: CSharpGL(29)初步封装Texture和Framebuffer +BIT祝威+悄悄在此留下版了个权的信息说: Texture和Framebuffe ...
- Android自定义View初步
经过上一篇的介绍,大家对于自定义View一定有了一定的认识,接下来我们就以实现一个图片下显示文字的自定义View来练习一下.废话不多说,下面进入我们的正题,首先看一下我们的思路,1.我们需要通过在va ...
- 初步认识Node 之Node为何物
很多人即便是在使用了Node之后也不知道它到底是什么,阅读完本文你应该会有一个初步的.具体的概念了. Node的目标 提供一种简单的构建可伸缩网络程序的方法.那么,什么是可伸缩网络程序呢?可伸缩 ...
- [入门级] 基于 visual studio 2010 mvc4 的图书管理系统开发初步 (二)
[入门级] 基于 visual studio 2010 mvc4 的图书管理系统开发初步 (二) Date 周六 10 一月 2015 By 钟谢伟 Category website develop ...
- 一款批量修改AE模板的工具
一.需求分析 对于视频后期剪辑及相关从业人员来说,AE(After Effects)模板效果是一个不错的开始点.在模板效果的基础上,可以很快的做出各种炫酷的后期效果.但是在网上下载的模板工程中,往往包 ...
- 基于C/S架构的3D对战网络游戏C++框架_05搭建系统开发环境与Boost智能指针、内存池初步了解
本系列博客主要是以对战游戏为背景介绍3D对战网络游戏常用的开发技术以及C++高级编程技巧,有了这些知识,就可以开发出中小型游戏项目或3D工业仿真项目. 笔者将分为以下三个部分向大家介绍(每日更新): ...
随机推荐
- java中Statement 对象
1.创建Statement对象建立了到特定数据库的连接之后,就可用该连接发送 SQL 语句.Statement 对象用 Connection 的方法 createStatement 创建,如下列代码段 ...
- spring filter详解
一.Filter基本工作原理 1.Filter 程序是一个实现了特殊接口的 Java 类,与 Servlet 类似,也是由 Servlet 容器进行调用和执行的. 2.当在 web.xml 注册了一个 ...
- 【Linux/Oracle】ORA-00031:标记要终止的会话 解决
在PL/SQL操作了一条delete语句用于删除这张1.4亿条数据的表,执行了12个小时还没删完 (经DB指导,量级大的需要使用truncate table table_name 进行删除) --查询 ...
- linux中安装swoole框架
简单说说如何在linux中安装swoole框架. 具体的安装步骤其实和安装php源码类似. 下载源码 => 执行configure => make => make install 安 ...
- .NET 云原生架构师训练营(权限系统 代码实现 Identity)--学习笔记
目录 开发任务 代码实现 开发任务 DotNetNB.Security.Core:定义 core,models,Istore:实现 default memory store DotNetNB.Secu ...
- SpringBoot+JavaMailSender+Redis完整找回密码功能
导入maven坐标 <parent> <groupId>org.springframework.boot</groupId> <artifactId>s ...
- 02.Oracle之安装与配置
1.Oracle简介 Oracle是世界上最早的商品化的关系型数据库管理系统,是数据库专业厂商ORACLE(中文名字叫甲骨文)公司开发的,也是当前应用最为广泛.功能最强大.具有面向对象特点.采用了客户 ...
- OpenHarmony移植:如何适配utils子系统之KV存储部件
摘要:本文介绍移植开发板时如何适配utils子系统之KV存储部件,并介绍相关的运行机制原理. 本文分享自华为云社区<OpenHarmony移植案例与原理 - utils子系统之KV存储部件> ...
- mybatis和spring的xml基本配置
mybatis 导入依赖环境 <dependency> <groupId>org.mybatis</groupId> <artifactId>mybat ...
- 【基础知识】CPU 是如何工作的 |CPU 通过总线读取内存的工作方式
一.简单cpu 是如何工作 方式讲解 CPU 的根本任务就是执行指令,对计算机来说最终都是一串由 0 和 1 组成的序列.CPU 从逻辑上可以划分成 3 个模块,分别是控制单元.运算单元和存储单元 ...