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初步的更多相关文章

  1. AE 遍历栅格实现栅格重分类(C#实现)

    下面要讲的种重分类方法,网上很多.但是好像 System.Array pSafeArray = pPixelBlock.get_SafeArray(0) as System.Array;这一句一直报下 ...

  2. 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 ...

  3. 移动端之Android开发的几种方式的初步体验

    目前越来越多的移动端混合开发方式,下面列举的大多数我都略微的尝试过,就初步的认识写个简单的心得: 开发方式 开发环境 是否需要AndroidSDK 支持跨平台 开发语言&技能 MUI Win+ ...

  4. CSharpGL(29)初步封装Texture和Framebuffer

    +BIT祝威+悄悄在此留下版了个权的信息说: CSharpGL(29)初步封装Texture和Framebuffer +BIT祝威+悄悄在此留下版了个权的信息说: Texture和Framebuffe ...

  5. Android自定义View初步

    经过上一篇的介绍,大家对于自定义View一定有了一定的认识,接下来我们就以实现一个图片下显示文字的自定义View来练习一下.废话不多说,下面进入我们的正题,首先看一下我们的思路,1.我们需要通过在va ...

  6. 初步认识Node 之Node为何物

    很多人即便是在使用了Node之后也不知道它到底是什么,阅读完本文你应该会有一个初步的.具体的概念了.    Node的目标 提供一种简单的构建可伸缩网络程序的方法.那么,什么是可伸缩网络程序呢?可伸缩 ...

  7. [入门级] 基于 visual studio 2010 mvc4 的图书管理系统开发初步 (二)

    [入门级] 基于 visual studio 2010 mvc4 的图书管理系统开发初步 (二) Date  周六 10 一月 2015 By 钟谢伟 Category website develop ...

  8. 一款批量修改AE模板的工具

    一.需求分析 对于视频后期剪辑及相关从业人员来说,AE(After Effects)模板效果是一个不错的开始点.在模板效果的基础上,可以很快的做出各种炫酷的后期效果.但是在网上下载的模板工程中,往往包 ...

  9. 基于C/S架构的3D对战网络游戏C++框架 _05搭建系统开发环境与Boost智能指针、内存池初步了解

    本系列博客主要是以对战游戏为背景介绍3D对战网络游戏常用的开发技术以及C++高级编程技巧,有了这些知识,就可以开发出中小型游戏项目或3D工业仿真项目. 笔者将分为以下三个部分向大家介绍(每日更新): ...

随机推荐

  1. PHP中常见的数字掐头去尾操作方法

    四舍五入round round( float $val[, int $precision = 0[, int $mode = PHP_ROUND_HALF_UP]] ) : float 对浮点数进行四 ...

  2. 有关OPenCV的几个库函数的使用

    转载请注明来源:https://www.cnblogs.com/hookjc/ 1) IplImage* cvCreateImage( CvSize size, int depth, int chan ...

  3. java短信接入

    1,注册一个中间公司的短信平台(比如网建) 2,找到密匙  3,找到链接案例 4,复制代码 下载jar包 import java.io.UnsupportedEncodingException;imp ...

  4. VUE项目部署到线上生产环境,Loading chunk xxx failed

    项目部署到生产环境,路由点击无效,报错 Loading chunk chunk-xxxxx failed.(missing xxxx) 加载失败,错误的路径. 话不多说,直接贴代码: vue.conf ...

  5. MATLAB基础学习篇(1)

    MATLAB中只定义了以2和10为底对数,其它 使用换底公式,例如:log8(7)=log7/log8. x=input('Please enter x:'); y=input('Please ent ...

  6. 03并发编程(多道技术+进程理论+进程join方法)

    目录 03 并发编程 03 并发编程

  7. Solution -「CERC 2016」「洛谷 P3684」机棚障碍

    \(\mathcal{Description}\)   Link.   给一个 \(n\times n\) 的网格图,每个点是空格或障碍.\(q\) 次询问,每次给定两个坐标 \((r_1,c_1), ...

  8. Solution -「CF 840C」On the Bench

    \(\mathcal{Description}\)   Link.   给定数列 \(\{a_n\}\),求排列 \(\{p_n\}\) 的个数,使得 \((\forall i\in[1,n))(a_ ...

  9. Solution -「LOCAL」客星璀璨之夜

    \(\mathcal{Description}\)   OurOJ.   给定坐标轴上的 \(2n+1\) 个坐标 \(x_1,x_2,\cdots,x_{2n+1}\),其中偶数下标的位置是一个小球 ...

  10. suse 12 二进制部署 Kubernetets 1.19.7 - 番外篇 - 增加node节点

    文章目录 0.前景提要 1.准备node节点环境 1.0.修改配置脚本参数 1.1.配置免密 1.2.添加hosts解析 1.3.修改主机名 1.4.更新PATH变量 1.5.安装依赖包 1.6.关闭 ...