本文介紹在ArcMap軟體中,通過已有的Python指令碼程式,建立新的工具箱並在其中設定自定義工具的方法。
通過本文介紹的操作,我們便可以實現將自己的Python程式碼封裝,並像其他ArcGIS已有工具一樣,進行介面化的地理處理操作。
話不多說,我們開始具體操作。首先,在ArcMap中開啟「ArcToolbox」。
接下來,在彈出的視窗中空白處右鍵,選擇「Add Toolbox」。
在彈出的視窗中,選擇右上角的「New Toolbox」,即可在下方列表中看到剛剛新建立的、以.tbx
為字尾的工具箱。我這裡不小心點了兩次「New Toolbox」,所以下方列表出現了兩個新的工具箱。
此時,在「ArcToolbox」中也可以看到自己剛剛建立的工具箱。
在「ArcToolbox」中,右鍵剛剛建立的工具箱,選擇「Rename」,即可對其加以重新命名。
重新命名完畢後,同樣右鍵該工具箱,選擇「Properties」,可以對其更多屬性資訊加以調整。
同時,在這裡還可以修改該工具箱的別名與描述文字。
上述描述文字主要填寫對這一工具箱的介紹即可。設定完畢描述文字後,我們在工具箱右鍵,並選擇「Item Description」。
即可在其中看到我們剛剛設定的描述文字。
接下來,我們開始將已有的Python程式碼指令碼匯入工具箱,從而將其作為一個自定義工具。
在工具箱上右鍵,選擇「Add」→「Script」。
在彈出的視窗中設定該指令碼成為工具箱裡的一個自定義工具後,該工具的名稱、標記、描述資訊等。
在這裡需要注意,指令碼所對應的工具名稱不能含有空格或下劃線;我上圖所示的工具名稱就帶了下劃線,需要修改。
修改後,找到對應的Python程式指令碼檔案,並將其匯入。
匯入完畢後,開始按照指令碼檔案中變數的數量、要求等進行工具引數的設定。
其中,可以在「Default」中設定某一引數的預設數值;在「Filter」中設定某一引數在匯入時的過濾方法。
例如,假如某個引數是檔案型別,那麼就可以在「Filter」中通過檔案字尾名來對這一引數加以限制。我們以.xls
格式的檔案為例,在其中輸入該格式的字尾名。
點選確定後,開啟剛剛建立的這一自定義工具。
點選這一引數所對應的項。
可以看到,這裡就僅支援選擇.xls
格式的檔案。
如果相對多種檔案格式加以約束,可以用英文分號分隔,在檔案格式過濾欄中輸入多個檔案字尾名,例如xls;xlsx
。
可以看到,此時就可以對上述兩種檔案格式加以選擇了。
此外,還可以對不同引數「是否為必填項」這一屬性加以修改。比如我們將第一個引數修改為非必填,且設定一個預設選項。
開啟自定義工具,可以看到這一引數不帶有綠色的「必填」標識,且具有一個預設值。
至此,大功告成。