ArcMap將Python寫的程式碼轉為工具箱與自定義工具

2023-03-23 18:02:19

  本文介紹在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

  可以看到,此時就可以對上述兩種檔案格式加以選擇了。

  此外,還可以對不同引數「是否為必填項」這一屬性加以修改。比如我們將第一個引數修改為非必填,且設定一個預設選項。

  開啟自定義工具,可以看到這一引數不帶有綠色的「必填」標識,且具有一個預設值。

  至此,大功告成。