ArcEngine 入门教程-帮助如何使用

声 明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章节

猜你喜欢

转载自blog.csdn.net/yh0503/article/details/87965975