声 明1 : 本人才疏学浅,用郭德纲的话说“我是一个小学生”,如有错误,欢迎讨论,请勿谩骂^_^。
声 明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。

缘起

授人以鱼不如授人以渔,学习任何一门技术,我相信都是从帮助文档入手的,ArcEngine也不例外。
本文主要分享如何使用ArcEngine帮助快速找到自己想要的信息以及如何利用帮助整体的学习官方的示例代码

安装

ArcEngine安装参考博文:传送门

ArcEngine帮助

本地帮助:位于C:\Program Files (x86)\ArcGIS\DeveloperKit10.4\Help\VS\ArcObjects,可以在开始菜单直接找到。

在线帮助:传送门(10.6)、传送门(10.1~10.3)
本地其他帮助:本地还有本地代码片段和示例代码工程,帮助大家学习ArcObjects

GitHub资源:传送门

帮助分类

帮助分两大块内容:

  1. ArcObjects Help for .NET developers:主要包括AO开发的一些帮助(相当于是快速入门的示例)
  2. ArcObjects reference:主要包括AO中的命名空间下的一些类和接口(相当于是API)

帮助如何使用

本地帮助安装

正常情况: 一般先安装VS软件,然后再安装ArcObjects,就可以在开始菜单里找到本地帮助了。
其它情况:如果你的开始里没有帮助文档,或者你的VS帮助里找不到AO的相关帮助,可以参考这篇博文(传送门)进行配置。

使用帮助

可以利用帮助查询接口、类,从查询的结果中可以获取相关的信息(如适用于哪个产品,有哪些方法,这个接口或类是干嘛的,继承自哪个类、相关的备注信息以及示例代码等信息)

个人建议

  1. 分享一下我个人的习惯:

    1. 百度/谷歌相关关键字,查询代码片段。
    2. 利用帮助查询相关接口或类。
    3. 看支持哪些产品许可,是否能实现你要的功能,能实现到什么程度。
    4. 查询接口的时候,可以看一下哪些类实现了这个接口,顺便顺藤摸瓜,看看这个类还实现了哪些接口,是否可以利用QI来实现我们的功能。
    5. 移植代码,解决遇到中的问题。
  2. 建议认真阅读此部分内容(阅读需要有一定的英文功底,像小编这种实力不行的可以借助翻译工具)
  3. 学习ArcEngine的过程就是不断熟悉SDK中接口和类的过程,所以不要着急,随着时间的推移,多实践,你也会应用的很熟练。

总结

Just do it!
Don't Worry,Be Happy!

应用实操

示例:

A:我想添加一个图层到地图中怎么添加啊?
B.Easy,请听贫道如实道来......

分析这个问题,步骤大概如下:

# `获取容器对象(Map or Scene)# 创建/获取图层(Layer)# 添加图层

步骤细分:

  1. 添加图层要知道往哪儿添加,是往二维地图还是三维地图中添加。
  2. 如果是Map,这块它的来源是MapControl控件(相关的接口是IMapcontrol2),若果是Scene,它的来源是Scene(相关的接口是ISceneControl),可以通过接口的属性获取到IMap或IScene对象。
  3. 如果是二维地图,地图对于的英文单词是Map,那么就在帮助中搜索IMap接口或Map类(建议先搜索接口);如果是三维地球,那么对应的就是Scene,搜索IScene接口即可。
  4. 搜索完毕我们可以得知一下信息
    • 我们需要添加引用ESRI.ArcGIS.Carto.dll,并使用using应用该命名空间;
    • 我们还知道我们需要有ArcGIS Desktop或ArcEngine的许可
    • 我们发现里面有个AddLayer的方法;
    • 点击AddLayer方法,告诉我们我们参数信息,需要ILayer接口的对象(需要我们New一个ILayer接口的对象)
    • 紧接着我们需要用同样的方法查询ILayer接口
    • 除此之外,我们可以在帮助的最下面看到.NET Snippets.NET Related Topics,这里面会给我们提供相应的代码片段。
  5. 按照逻辑编写代码。

练习

  1. 查看IFeatureWorkspace在哪个命名空间下,使用该接口需要using哪个命名空间,需要什么级别的许可,有哪些类实现了该接口
  2. 查看IFeatureWorkspace的OpenFeatureClass方法,了解需要什么参数,返回什么类型,顺便查看IFeatureClass类有哪些属性和方法
  3. 查看哪些类实现了ITool接口
  4. 查看IMap、IWorkspace、IFeatureLayer、IFeatureClass、ITable、IField接口,可以结合OMD理解他们之间的关系
  5. 尝试阅读帮助Developing with ArcGIS章节

ArcEngine 入门教程-帮助如何使用相关推荐

  1. ArcEngine 入门教程-控件初体验

    缘起 个人总结梳理,顺便练练文笔,For me and for you like me! 目标 我一直很认同古人所说的君子性非异也,善假于物也,本文主要目的是告诉读者如何使用帮助来学习了解ArcEng ...

  2. Kafka入门教程与详解

    1 Kafka入门教程 1.1 消息队列(Message Queue) Message Queue消息传送系统提供传送服务.消息传送依赖于大量支持组件,这些组件负责处理连接服务.消息的路由和传送.持久 ...

  3. 【CV】Pytorch一小时入门教程-代码详解

    目录 一.关键部分代码分解 1.定义网络 2.损失函数(代价函数) 3.更新权值 二.训练完整的分类器 1.数据处理 2. 训练模型(代码详解) CPU训练 GPU训练 CPU版本与GPU版本代码区别 ...

  4. python tornado教程_Tornado 简单入门教程(零)——准备工作

    前言: 这两天在学着用Python + Tornado +MongoDB来做Web开发(哈哈哈这个词好高端).学的过程中查阅了无数资料,也收获了一些经验,所以希望总结出一份简易入门教程供初学者参考.完 ...

  5. python向量计算库教程_NumPy库入门教程:基础知识总结

    原标题:NumPy库入门教程:基础知识总结 视学算法 | 作者 知乎专栏 | 来源 numpy可以说是 Python运用于人工智能和科学计算的一个重要基础,近段时间恰好学习了numpy,pandas, ...

  6. mysql query browswer_MySQL数据库新特性之存储过程入门教程

    MySQL数据库新特性之存储过程入门教程 在MySQL 5中,终于引入了存储过程这一新特性,这将大大增强MYSQL的数据库处理能力.在本文中将指导读者快速掌握MySQL 5的存储过程的基本知识,带领用 ...

  7. python tensorflow教程_TensorFlow入门教程TensorFlow 基本使用T

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 TensorFlow入门教程 TensorFlow 基本使用 TensorFlow官方中文教程 TensorFlow 的特点: 使用图 (graph) 来 ...

  8. air调用java,AIR2.0入门教程:与Java应用交互

    在之前的一篇文章中,我介绍了如何使用AIR2.0新增的NativeProcess类与本地进程进行交互和通讯,在那个例子里面我们使用了C++ 的代码,实际上只要是基于命令行的标准输入输出,AIR2.0的 ...

  9. 【Arduino】开发入门教程【一】什么是Arduino

    Arduino Arduino 是一款便捷灵活.方便上手的开源电子原型平台,包含硬件(各种型号的arduino板)和软件(arduino IDE).它适用于艺术家.设计师.爱好者和对于"互动 ...

最新文章

  1. 使用TinySpider实战抓取自己博客中的内容
  2. 微型小乐器 : MicroSynth 小巧而优美
  3. GMapbook中文版上线
  4. io流技术java_技术文章-java中的IO流
  5. 推荐一简单易用的脑图制作工具
  6. P1892-团伙【图论,并查集】
  7. python鼠标事件 详解_Python selenium键盘鼠标事件实现过程详解
  8. java使用外部库_在Java中使用外部库
  9. Centos系统python2.x升级python3.x
  10. 验证码原理详解与案例
  11. 基于OpenCV的PHP图像人脸检测识别…
  12. Zint生成二维码环境搭建
  13. cesium获取经纬度
  14. syn 攻击脚本 python_Python Scapy实现SYN Flood攻击
  15. 纯字母域名批量注册的详细步骤
  16. myChat - 第三方ChatGPT原生客户端,支持win和mac系统
  17. 教你Zbrush 4R7增强光滑笔刷强度方法
  18. 初识Flutter中的Layer
  19. 2022湖南最新建筑八大员(市政)考试试题题库及答案解析
  20. python中画地图map的用法_使用basemap和python在地图中绘制海洋

热门文章

  1. 文件夹访问被拒绝了怎么办呢?
  2. 四川途志:抖音主播在直播时需要注意什么?
  3. 单位消防安全管理人的十六个问题
  4. java setdaemon_Java Thread setDaemon()方法
  5. 文件共享平台Pingvin Share
  6. 更改Oracle默认端口8080(亲测)
  7. oracle函数-pivot函数
  8. css文字溢出省略号设置的两种方式
  9. css实现背景模糊,文字清晰效果
  10. 计算机搜索功能关闭,Win7系统下关闭windows search服务禁用搜索功能的方法