一些關於基於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窗口中。
–原創文章,轉載必須註明出處–