ArcGis二次开发ArcEngine开篇

以一款简单GIS软件截图片引入本篇内容

导读

万事开头难,如何利用ArcEngine开发一款GIS产品呢?一款简单的GIS软件基本布局如上图所示,共划分为六个区域,分别是菜单栏区,工具栏区,地图/图层树管理区,地图/图层显示区以及布局(制版)区。这几个布局区域都是用ArcEngine提供的控件实现的(除菜单栏外,菜单栏用原生.NET),做ArcEngine的二次开发实际上就是学习和熟练使用这些控件,明白这些控件和有关类之间的关系。下面我们着重了解一下相关的控件和主要类功能。

控件功能简要介绍

还是用两张图引入控件的基本使用情况

如上图所示,控件类分别是:

  • 工具栏:ToolbarControl
  • 地图/图层树:TOCControl
  • 地图/图层显示:MapControl
  • 布局:PageLayoutControl

如何使用上述控件:
在VS2012的工具箱中找到“ArcGIS Windows Forms”选项卡,前提是你已经正确安装并集成了ArcEngine开发工具。在此选项卡下拖拽以上控件到Form主窗口中。在Form1.Designer.cs中可以看到自动生成了该类的对象分别是:

  • ToolbarControl : axToolbarControl1
  • TOCControl: axTOCControl1
  • MapControl: axMapControl1
  • PageLayoutControl: axPageLayoutControl1

ArcGis二次开发ArcEngine开篇相关推荐

  1. 基于ARCGIS二次开发可视化开发环境搭建(JAVA)

    这两天为了搭建这么一个基于java的ArcGIS二次开发环境可着实花了一番心血.在网上搜索各种资料,大部分都是基于C#的,关于JAVA的很少,而且很杂乱,没有一个完整的.详细的.适合新手的这么一个教程 ...

  2. ArcGIS二次开发基础教程:开发环境配置教程(ArcEngine10.4+VS2019)

    开发环境配置教程 由于ArcGIS.ArcEngine以及承载开发环境的Visual Studio的版本众多,其开发环境的配置也有不小的难度,故写此文章写给新入门ArcGIS二次开发的同学,帮助他们摆 ...

  3. ArcGIS二次开发前言

    ArcGIS二次开发前言 前言 环境 常见bug解决方案 前言 自毕业成为GIS开发工程师已有一年多的时间,时间很短,短到不过人一生中工作时限的3.75%,时间很长,长到收藏夹已经从零攒到了一千四百多 ...

  4. ArcGIS二次开发基础教程(00):基础界面设计

    ArcGIS二次开发基础教程(00) : 基础界面设计 (开发环境:VS2010+ArcEngine10.2+C# :鉴于学习ArcGIS二次开发的同学都有一定的WinForm开发和ArcGIS软件使 ...

  5. arcgis二次开发python-ArcGIS 二次开发专题 序

    依据ArcGIS 组件式开发及应用的目录结构,将系统性的学习ArcGIS 二次开发的道路分为三个部分.这个系列包含以下三个部分: Part1 基础 1. 前言 1.1 组件式GIS 1.2 ArcOb ...

  6. ArcGIS二次开发入门 一

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 作者:朱 ...

  7. ArcGIS二次开发基础教程(11):网络分析之最短路径分析

    ArcGIS二次开发基础教程(11):网络分析之最短路径分析 最短路径分析 这里直接调用了在mdb中建立好的网络数据集 //全局变量 private INetworkDataset my_networ ...

  8. Arcgis 二次开发指导 热点分析实现

    Arcgis 二次开发 热点分析 背景 具体操作 1.toolbox试验 2.查找接口 3.输入文件路径,特别注意! 4.找出错误原因 总结 背景 大三下上完了arcgis二次开发,真心觉得咱们gis ...

  9. ArcGIS二次开发基础教程(10):三维分析

    ArcGIS二次开发基础教程(10):三维分析 坡度分析 请务必学会使用帮助文档!!! //DEM数据的坡度分析 将分析结果添加到地图上 //首先获取DEM数据,方法有很多例如从个人地理数据库获取,也 ...

最新文章

  1. 零基础学Python:作用域详解
  2. 【性能优化】 之 HINTS 相关作业
  3. java结构体系_java io结构体系
  4. 使用touch更新文件的时间
  5. 爬取词库,使用jieba分词库,自定义dict.txt文件+将搜狗词库.scel文件为.txt文件
  6. neo4j python_Python 操作 Neo4j 数据库!
  7. Python实现从url中提取域名的几种方法
  8. js分享微信 ,微博 ,qq空间
  9. 我朋友坚持只肯以银行卡转账的方式还我钱是为什么
  10. [论文阅读] Prototype Augmentation and Self-Supervision for Incremental Learning
  11. 2020 及以后的八大最显著技术趋势!
  12. 有关Altera 的CPLD工程编译报错的解决方法
  13. 大学入学计算机基础考试考什么,大学入学考试计算机基础考试.docx
  14. 汇川plc c语言,汇川小型PLC梯形图编程教程(十):输入输出继电器X和Y元件及常开常闭触点介绍...
  15. SUPL overview
  16. 苹果与希捷 到底谁的错
  17. Uboot 编译问题-“xxx aliased to external symbol xxx”
  18. List中remove()方法的陷阱以及终极的解决方法!
  19. vscode下载安装和配置使用
  20. Python中的可变和不可变类型

热门文章

  1. 使用Libxml2操作XML文档
  2. 前端面试题:讲一下jQuery
  3. 浮动以及清楚浮动的几种方法
  4. 秋招面试问题总结-视觉算法
  5. SQL语句--关于赋值
  6. Python生成九宫格图片
  7. $().ajaxSubmit is not a function解决方案
  8. 黑马程序员Java基础班+就业班课程笔记全发布(持续更新)
  9. mycat 分表分库
  10. Flink:集群异常问题记录