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章節
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章