天天看點

python進行gis二次開發_ArcGIS—基于Python的腳本程式設計(1)

一些關于基于Python的ArcGIS腳本程式設計的知識點,第一篇是一些零散知識點的簡要總結。

目錄

1. ArcGIS中的元件—ArcObjects

Esri主要使用C++開發ArcGIS軟體,在ArcGIS軟體中,所有的元件或者對象被統稱為ArcObjects。

ArcObjects部分知識點如下:

ArcObjects庫包含了esri公司開發ArcGIS軟體用到的所有程式設計對象,開發人員可以使用ArcObjects建構新的應用程式或擴充ArcGIS應用程式現有功能。

(個人了解:既然如此,我們是可以用這些AO對象搭建一個新的ArcGIS軟體如ArcMap、ArcCatalog等的,ArcObjects包含了數以千計的對象,但是需要與系統語言配合使用。)

大部分系統工具和整個地理處理架構的建構也是通過ArcObjects完成的;

Esri對整個ArcObject(AO)進行了結構群組織的分割,按照應用領域可以分為:

3D Analysis Extension

Application Framework

Arcmap

ArcCatalog

Geodatabase

Geometry等等

2. ArcGIS中的Python語言

Python也是ArcGIS采用的程式語言,但是不像C++一樣用于底層開發,僅僅用于相對簡單的腳本程式設計和進階程式設計。

3. ArcGIS中的工具種類

○ 内置工具:由ArcObjects以及.Net和C++的編譯型程式語言建構;

○ 模型工具:ModelBuilder;

○ 腳本工具:由python編寫;

○ 特殊工具:這種工具是由系統開發人員開發的,很少見。我記得是在哪裡見過,但是忘了。

4. ArcGIS中設定“覆寫地理處理”

在【Geoprocessing】→】Geoprocessing Options】中具有此選項,預設關閉,若打開,即表明在工具使用時,若輸出的資料已經存在,将出現一條警告消息,但是工具仍舊可以運作,隻不過會覆寫掉已經存在的資料集。具體如下圖:

python進行gis二次開發_ArcGIS—基于Python的腳本程式設計(1)

5. ArcGIS中環境設定的級别了解

第一層次:應用程式級的環境設定

在ArcToolBox視窗空白處,右鍵選擇Environments,将會出現環境設定對話框,這裡的所有環境設定将會傳遞給所有通過ArcToolBox使用的工具;

python進行gis二次開發_ArcGIS—基于Python的腳本程式設計(1)

第二層次:工具級環境設定

即每一個工具你輕按兩下打開準備運作時都将在下方出現一個Environment選項,通過它設定的環境變量将僅僅針對于目前運作的工具,它将覆寫掉第一層次的環境設定;

python進行gis二次開發_ArcGIS—基于Python的腳本程式設計(1)

第三層次:模型級環境設定

即在ModelBuilder中的環境設定,它将覆寫掉第一層次和第二層次的環境設定;

python進行gis二次開發_ArcGIS—基于Python的腳本程式設計(1)

第四層次:腳本級環境設定

即我們在python腳本中具體寫了環境的具體設定,即例如使用了腳本語言更改了環境中的臨時工作空間,目前工作空間等。

這一級别最高,它可以覆寫掉前面三個層次ide環境設定。

6. ArcGIS工具中的批處理Batch

所有的地理處理工具都可以進行批處理(隻不過我們平時沒有用到而已)

具體步驟為:右鍵某一工具,選擇【Batch】:

python進行gis二次開發_ArcGIS—基于Python的腳本程式設計(1)

此時将會打開蓋工具的批處理對話框,如Clip工具的批處理如下:

python進行gis二次開發_ArcGIS—基于Python的腳本程式設計(1)

我們可以通過複制粘貼或者Fill選項等來快捷輸入參數。同時右下方√表示對輸入參數進行驗證,如果輸入參數有誤,則将報錯。

7. 設定定時運作某一腳本

可以在電腦【控制台】→【管理工具】→【任務計劃程式】中建立基本任務,根據向導建立一個定時運作某一個python腳本的程式。具體不再贅述。

python進行gis二次開發_ArcGIS—基于Python的腳本程式設計(1)

8. python視窗選項介紹

從ArcMap中進入Python視窗後右鍵,将出現一些快捷指令:

python進行gis二次開發_ArcGIS—基于Python的腳本程式設計(1)

其中簡單的不說了,提出以下兩個:

Show Default Choices :選中時,将開啟代碼自動補全,反之則關閉;

Load:可以将腳本檔案中的代碼加載到python視窗中。

–原創文章,轉載必須注明出處–

轉載自:https://blog.csdn.net/Dirtliu/article/details/82145290