早在ArcGIS9.0版本已經(jīng)支持Python2.1了,通過Dispatch Geoprocessor方式調(diào)用GP工具,還依賴于PythonWin。 ArcGIS9.2版本引入了arcgisscripting模塊,支持跨平臺操作,支持Python2.4版本,而且不再依賴于PythonWin,Calculate Field工具也支持Python作為解釋器。
ArcPy.Mapping 是ArcGIS10推出的一個針對所有許可均可使用的 Python 腳本模塊,主要是用于操作現(xiàn)有地圖文檔和圖層文件的內(nèi)容;提供自動執(zhí)行導出和打印的函數(shù)。ArcPy.Mapping 可用于自動執(zhí)行地圖生產(chǎn);它擴展了數(shù)據(jù)驅(qū)動頁面的功能,同時,因其包含PDF文檔的處理函數(shù),可以為用戶構(gòu)建完整地圖冊提供便利。另外ArcPy.Mapping 腳本可以自動創(chuàng)建和管理要通過ArcGIS for Server 發(fā)布的地圖服務。 地圖文檔(MapDocument)是ArcGIS經(jīng)常使用的一種數(shù)據(jù)格式,它可以存儲地圖圖層、頁面布局和所有其他地圖屬性的規(guī)范(包括符號、標注等用戶常用的制圖需求)。通過地圖文檔,用戶可以方便地在 ArcMap 中保存、重復使用和共享自己的工作內(nèi)容。 MapDocument 對象通常是在地圖自動化腳本中創(chuàng)建的首批對象引用之一,因為它是許多 ArcPy.Mapping 函數(shù)的必要參數(shù)。通過MapDocument 對象,用戶基本上可以訪問地圖文檔中的幾乎所有其他對象(例如,數(shù)據(jù)框、圖層、頁面布局元素)。 一般情況下,用戶只需要輸入正確的地圖文檔絕對路徑即可獲得地圖文檔對象,然后可以獲得該地圖文檔的相關(guān)屬性(如描述信息、存儲路徑、概要信息、標題信息、頁面大小等),如果對某些屬性信息進行了修改,也會支持地圖文檔的保存和另存為“拷貝”功能,另外也支持不同類型工作空間的替換功能。 ·地圖文檔(MapDocument) 語法:MapDocument (mxd_path),只需要輸入地圖文檔的絕對路徑即可。 以下為該函數(shù)的腳本示例: ·列出問題數(shù)據(jù)源(ListBrokenDataSources) 語法:ListBrokenDataSources (map_document_or_layer)。 有時候用戶經(jīng)常會打開已經(jīng)丟失數(shù)據(jù)源的地圖文檔,一旦打開這種地圖文檔,會占用用戶大量的時間,ArcPy提供了查看問題數(shù)據(jù)源的函數(shù),可以方便地讓用戶了解問題數(shù)據(jù)源的信息。 以下為該函數(shù)的腳本示例: ·替換工作空間(replaceWorkspaces) 如果用戶已經(jīng)得知所操作的地圖文檔的數(shù)據(jù)源有問題,就需要用正確的數(shù)據(jù)源來進行替換,那么就需要使用ArcPy提供的修復數(shù)據(jù)源函數(shù)來完成。ArcPy提供了幾種修復數(shù)據(jù)源的方法,針對地圖文檔對象(MapDocument)、圖層對象(Layer)、表視圖對象(TableView)分別有兩種適用方法:一個是findAndReplaceWorkspacePaths函數(shù),該函數(shù)只適合同一個工作空間類型的轉(zhuǎn)換;另一個是replaceWorkspaces函數(shù),該函數(shù)可以適合于不同工作空間類型的轉(zhuǎn)換,比較通用。 在介紹該函數(shù)之前,需要再著重說明一下幾個重要的概念:工作空間、工作空間路徑、工作空間類型。 工作空間是一種數(shù)據(jù)容器,也可以理解為數(shù)據(jù)源。工作空間可以是包含 shapefile、CAD 文件或柵格數(shù)據(jù)等內(nèi)容的文件夾,也可以是 ArcInfo Workstation coverage、個人地理數(shù)據(jù)庫、文件地理數(shù)據(jù)庫和 SDE 連接等。工作空間路徑指工作空間的系統(tǒng)路徑。對于基于文件的數(shù)據(jù)(如 CAD、shapefile 或柵格),工作空間路徑包括了該數(shù)據(jù)所在的文件夾的名稱;對于基于文件的地理數(shù)據(jù)庫,工作空間路徑包括地理數(shù)據(jù)庫的名稱。SDE 工作空間路徑由 SDE 連接文件的系統(tǒng)路徑定義。工作空間類型是 ArcGIS 支持的數(shù)據(jù)模型格式。例如,shapefile、個人地理數(shù)據(jù)庫、文件地理數(shù)據(jù)庫、CAD、SDE,等等。 接下來以地圖文檔的replaceWorkspaces函數(shù)為例,來看一下該函數(shù)的用法。 語法:replaceWorkspaces (old_workspace_path, old_workspace_type,new_workspace_path, new_workspace_type, {validate})。 以下為該函數(shù)的腳本示例: ————本文節(jié)選自《ArcGIS開發(fā)權(quán)威指南》 《ArcGIS開發(fā)權(quán)威指南》 地理信息系統(tǒng)資深專家之作,內(nèi)容豐富,實戰(zhàn)性強 陳於立等 編著 2015年9月出版 隨著Web GIS 2.0時代的到來,單個研發(fā)技術(shù)的實施已經(jīng)不能滿足當前GIS項目的基本需求。如今用戶既需要專業(yè)人士進行業(yè)務管理,又要求整個企業(yè)進行協(xié)作分享,而且還需要將信息通過網(wǎng)絡或者移動端進行發(fā)布,這無疑需要多源技術(shù)的共同結(jié)合才能完成。那么從事GIS行業(yè)的開發(fā)者就需要了解GIS多源的開發(fā)技術(shù)。本書主要介紹ArcGIS平臺及相關(guān)產(chǎn)品的開發(fā)模式,包括桌面端開發(fā)、Web端開發(fā)、移動端開發(fā)、數(shù)據(jù)庫開發(fā)、腳本開發(fā)等主流的ArcGIS開發(fā)技術(shù)。 博文視點您閱讀的專業(yè)智庫 喜歡請分享至朋友圈 |
|
來自: LibraryPKU > 《GIS》