ArcGIS Pro 分析與地理處理:常見問題

Esri 提供了免費的線上講座:Streamline GIS Workflows with ArcGIS Pro. 有一些關於 ArcGIS Pro 地理處理與空間分析的有趣問題被提出來。因此我來回覆幾個常見問題。

在開始前,兩個有用的連結如下…

學習關於 ArcGIS Pro 的地理處理

取得任何地理處理工具的協助

 

好,來回答問題。

 

ArcGIS Pro 有所有 ArcMap 的地理處理工具嗎?

多數在 ArcMap 可用的工具,都可以在 ArcGIS Pro 使用。有些工具還沒有更新至 ArcGIS Pro 可用,但會在之後的版本可用。其他的工具處理的資料集如果 ArcGIS Pro 不支援了,就會被永久移除。

在此有更詳細說明:http://pro.arcgis.com/en/pro-app/tool-reference/appendices/unavailable-tools.htm

 

在 Geoprocessing 窗格瀏覽所有地理處理工具列表

 

ArcGIS Pro 有新工具嗎?

耶!Pro 有一些新的好工具,包括:

  • Space-Time Pattern Mining tools
  • Enrich Layer,用以執行地理豐富化 (會使用 ArcGIS Online 的服務點數,來加強圖資的社經屬性資料)
  • 用距離地面高度以分類 LAS 資料集點,還有關於面圖徵內的 LAS 資料集點的計算統計
  • 區塊修正工具用以微調地理參照的網格相嵌
  • 影像的 分割與分類工具。
  • 還有其他

這些新工具大部分也在 ArcMap 10.3 可用,或是會在之後的 ArcMap 版本中加入。

 

ArcGIS Pro 是 64 位元、多執行緒應用程式。

ArcMap 10.3 現在支援 64 位元、多執行緒的地理處理嗎?

 

ArcMap 與 ArcGIS Pro 是以不同的技術來建造的。地理處理在 ArcGIS Pro 是 64 位元,並且工具執行時不會阻擋應用程式使用—這就是所謂的『多執行緒』。ArcMap 有不同的技術來達成這樣的目標,稱之為『背景地理處理 (Background Geoprocessing)』在 ArcGIS for Desktop 10.0 就介紹了。您可以安裝 64 位元的這項技術,有別於 ArcMap 的主要安裝。

這裡可以知道更多:http://desktop.arcgis.com/en/desktop/latest/analyze/executing-tools/64bit-background.htm

 

地理處理在 ArcGIS Pro 會比較快?

地理處理的效能在 ArcGIS Pro 與 ArcMap 之間是差不多的。64 位元的地理處理並不會讓工具較快,只是會載入較多資料至記憶體。64 位元地理處理較為健壯、結果較為準確,之前的處理會當掉或用盡記憶體的話,就有可能成功完成。相同的,多執行緒應用程式並不會讓地理處理更快,底下會談到較多細節。

 

告訴我更多關於地理處理與多執行緒

當您在 ArcGIS Pro 執行地理處理工具,它會在專用於地理處理的執行緒上執行。這表示當工具執行時,您可以在同一個應用程式中做其他的事情,例如在地圖中加入新資料、瀏覽與選取、更改圖層符號或文字標籤、建立與修改排版,甚至是尋找並填入另一個地理處理工具的參數。如果您在一個工具執行時,又執行另一個工具,它就會被加入排程,等待第一個工具完成後開始執行。

 

排程中的兩個工具,一個結束後另一個啟動

 

這個行為適用於所有在 Pro 當中執行的地理處理工具:ArcGIS 包含的工具、您使用 Python 或 ModelBuilder 所建立的工具。

一個額外的註記:多執行緒與平行處理並不是同一件事。平行處理 (Parallel processing) 是一種技術,將一個大工作切分成很多小工作,並讓多個 CPU 或程序在同一時間使用於這個大工作,通常的結果是有較快的處理時間。越來越多的地理處理工具用上了平行處理來改善效能。在最初版本的 ArcGIS Pro,有 25 個工具支援平行處理,包括一些地理統計工具與空間分析工具。

 

Pro 的地理處理工具有授權等級或擴充模組的變更嗎?

沒有。ArcGIS Pro 與其他的 ArcGIS 桌上型應用程式一樣,有相同的授權等級:Basic、Standard 與 Advanced。任何地理處理工具的授權等級與擴充模組需求,在 ArcMap 與 ArcGIS Pro 是一樣的。請參考工具的說明頁面來得知工具需求的等級與擴充模組。

 

ArcGIS Pro 有 ModelBuilder嗎?

有。您可以在 ModelBuilder 視窗建立地理處理模型,然後像在 ArcMap 一樣的方式來執行那些模型。您可以在這裡學到更多在 ArcGIS Pro 中關於 ModelBuilder 的事,並在這裡得知移植技巧。

 

ModelBuilder 於 ArcGIS Pro

 

之前版本的 ArcMap 建立的模型可用於 ArcGIS Pro 嗎?

是,大多數情形下。但有小部分例外:

  • 如果模型之中有使用到 ArcGIS Pro 中還未能用的工具,那麼這個模型就不可用。您可能會需要等到這個工具在之後的版本中可用,或是您可以移除那個工具,並另尋他法。
  • 如果模型之中使用的工具在 ArcGIS Pro 中有變更,那麼您的模型將不可用,除非您更新模型 (很簡單,在 ArcGIS Pro 開啟模型、驗證、儲存)。請參照工具的說明頁面來決定工具需要哪些改變好用於 ArcGIS Pro。一個常見的問題是『欄位計算 (Calculate Field)』工具變更為只支援 Python 程式碼。從這裡了更多特定的變更。

 

注意!新建的模型,或是在 ArcGIS Pro 開啟後儲存的模型,無法在 ArcMap 直接使用。但是您可以將包含模型的工具盒儲存為之前的版本 (10.3、10.2…等),然後回頭在 ArcMap 使用這些工具盒。最好在 ArcGIS Pro 修改任何模型之前,將原始的工具盒保存一個複本。

 

任務 (Tasks) 與 ModelBuilder 有何分別?

任務 (Tasks) 與 ModelBuilder 在概念上很相似,但是有不同的目標與功能。

任務是在 ArcGIS Pro 中將處理程序或工作流程轉為一組事先設定的步驟。任務的步驟可以包含任何的地理作業,例如縮放至特定的圖徵、編輯圖層、執行地理處以工具、製作地圖、分享至線上。

ModelBuilder 在另一方面來說,就特地是設計來製作並自動化地理處理流程。模型包含的特色是支援強大的操作,例如批次處理、模擬,也可以用來建立客製化的地理處理工具,好讓他人用於不同的資料。

 

將地理資料庫內的每一個圖徵集給重新投影並加入新屬性欄位的模型

 

任務並不是要取代 ModelBuilder,甚至 ModelBuilder 的工具也可以作為一個步驟,包含於任務之中。

 

在 ArcGIS 10.x (使用Python 2.x) 編寫的 Python 程式腳本與工具

盒能否用於 ArcGIS Pro?

 

通常,是。ArcGIS Pro 使用 Python 3.4,但在 ArcGIS Desktop 與 Server 10.3 的其他應用程式使用的是 Python 2.x。儘管這些版本的 Python 有一些很明顯的差異,許多的地理處理程式腳本可同時用於 ArcMap 與 ArcGIS Pro。在我的經驗中,有小部分共通的問題需要您更新您的程式腳本:

  1. 有一些地理處理工具從 ArcGIS Pro 移除了。如果您的程式腳本包含這些工具之一,您將會需要找到替代方案或是等到 ArcGIS Pro 加入該工具或替代的工具。
  2. 之前的 arcpy.mapping 模組在 ArcGIS Pro 之中被移除了,新的 arcpy.mp 模組讓您在新設計以專案為基礎的 ArcGIS Pro 中使用地圖。
  3. 列印的程式碼需要修改好使用新的列印函式。
  4. 使用 Python 的字典項目 (dictionary items) 有些許不同。
  5. 使用 Python 2 的 urllib2 需要修改為使用 Python 3 的新 urllib 程式庫。

 

有 Python 程式腳本工具的工具盒,所有工具都使用 ArcMap 10.1 編寫,不需修改且可用於 ArcGIS Pro

 

有其他事情也是您將需要更新的,這些只是我遇到的一些共通事項。請閱讀這份說明主題的更多細項。

為了在將 Python 程式腳本從 2移植至 3 的路上幫助您,ArcGIS Pro 與 ArcMap 10.3 都有一個新的地理處理工具來分析 Python 程式腳本檔案或工具盒,在需要修改的部分給您一行一行的指示。

 

個人式與檔案式地理資料庫在 ArcGIS Pro 都可以是資料來源嗎?

個人式地理資料庫 (Personal geodatabases) 在 ArcGIS Pro 並不支援。您無法將個人式地理資料庫的資料集在地理處理工具之中作為輸入或是建立這些資料集作為輸出。

檔案式地理資料庫 (File geodatabases) 則完整支援,並作為 ArcGIS Pro 專案的預設工作空間。

 

分析服務與新的工具 (如:Enrich Layer) 是否使用 ArcGIS Online

的服務點數?

 

是。在 ArcGIS Pro,您可以連線並使用幾個備便可用的分析服務,包括:

  • http://hydro.arcgis.com/arcgis/services
  • http://elevation.arcgis.com/arcgis/services
  • http://logistics.arcgis.com/arcgis/services

這些服務不可思議地簡單執行分析,而您並不需要尋找或準備資料、閱讀文件或是遵循最佳實作範例。舉例來說,您可以找出街道路網路線而不需要您自己有路網分析資料集 (Network Analyst dataset),或是執行視域分析 (Viewshed analysis) 而不需要下載或準備您自己研究區的 DEM。這些服務會消費點數。

 

 

ArcGIS Pro 也包含新的地理處理工具,Enrich Layer,讓您可以加入人口、地景、社區的分區資訊到您的 GIS 資料中。舉例來說,您可以加入一個人口欄位到學區圖層,人口數會從套疊的人口資料總計之後被正確分派。這個工具會消費點數。

 

我可以發佈地理處理服務嗎?

ArcGIS Pro 的第一個版本無法讓您發佈地理處理服務 (geoprocessing services)。事實上,您無法發佈任何服務到 ArcGIS 伺服器,您只可以讓使用者連線至這些伺服器。發佈的功能將在之後的版本加入。

 

在 ArcGIS Pro 需要 3D Analyst 擴充模組來使用 3D 地圖與排版

嗎?

 

3D Analyst 擴充模組只被需求用來執行 3D 分析;如果您想要執行 3D Analyst 工具盒的任一工具,您需要 3D Analyst 擴充模組。即便您沒有該模組,您依然可以瀏覽、著作、編輯、分享 3D 地圖。

 

 


 

by Drew Flater 撰寫,於 February 6, 2015

翻譯:互動國際數位.技術服務處.陳伯銜

詳細原文請參考:http://blogs.esri.com/esri/arcgis/2015/02/06/analysis-geoprocessing-in-arcgis-pro-frequently-asked-questions/