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】中具有此選項,默認關閉,若打開,即表明在工具使用時,若輸出的數據已經存在,將出現一條警告消息,但是工具仍舊可以運行,只不過會覆蓋掉已經存在的數據集。具體如下圖:
這裏寫圖片描述


5. ArcGIS中環境設置的級別理解

第一層次:應用程序級的環境設置

在ArcToolBox窗口空白處,右鍵選擇Environments,將會出現環境設置對話框,這裏的所有環境設置將會傳遞給所有通過ArcToolBox使用的工具;
這裏寫圖片描述


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

即每一個工具你雙擊打開準備運行時都將在下方出現一個Environment選項,通過它設置的環境變量將僅僅針對於當前運行的工具,它將覆蓋掉第一層次的環境設置;
這裏寫圖片描述


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

即在ModelBuilder中的環境設置,它將覆蓋掉第一層次和第二層次的環境設置;
這裏寫圖片描述


第四層次:腳本級環境設置
即我們在python腳本中具體寫了環境的具體設置,即例如使用了腳本語言更改了環境中的臨時工作空間,當前工作空間等。
這一級別最高,它可以覆蓋掉前面三個層次ide環境設置。

6. ArcGIS工具中的批處理Batch

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

具體步驟爲:右鍵某一工具,選擇【Batch】:
這裏寫圖片描述
此時將會打開蓋工具的批處理對話框,如Clip工具的批處理如下:
這裏寫圖片描述
我們可以通過複製粘貼或者Fill選項等來快捷輸入參數。同時右下方表示對輸入參數進行驗證,如果輸入參數有誤,則將報錯。


7. 設置定時運行某一腳本

可以在電腦【控制面板】→【管理工具】→【任務計劃程序】中新建基本任務,根據嚮導創建一個定時運行某一個python腳本的程序。具體不再贅述。
這裏寫圖片描述


8. python窗口選項介紹

從ArcMap中進入Python窗口後右鍵,將出現一些快捷命令:
這裏寫圖片描述
其中簡單的不說了,提出以下兩個:

  • Show Default Choices :選中時,將開啓代碼自動補全,反之則關閉;
  • Load:可以將腳本文件中的代碼加載到python窗口中。

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

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