實例數據:https://pan.baidu.com/s/1vsUP8QLpVUv_OKtdMicciA? ? ?密碼:t9rt
第6章 空間數據獲取
空間數據獲取是指利用CAD數據、遙感影像、紙質地圖、外業觀測數據等不同來源的數據進行處理,轉換成為GIS軟件能夠識別和分析的數據格式。隨著測繪技術的進步,盡管遙感和數字化地形圖的成果已經是數字形式,但這些數據還需要進一步處理才能被GIS軟件應用。本章主要講解ArcGIS進行地圖矢量化、遙感影像地理配準、CAD數據轉換為GIS數據等的原理及實際操作過程。
6.1空間數據獲取形式
6.1.1空間數據類型
GIS系統中經常用到的數據類型包含以下幾種:
(1)地圖數據。包含各種類型的地圖,要求內容豐富、圖上實體間空間關系直觀。實體的類別、屬性可以用各種不同的符號加以識別和表示。以前的時候主要是對紙質地圖進行矢量。計算機技術發展之后數字化地圖是其主要來源。
(2)遙感影像數據。遙感技術的發展使遙感影像數據成為GIS數據重要的來源。通過遙感影像可以快速準確的獲取大范圍內的各種專題信息。
(3)統計數據。統計數據是GIS屬性數據的主要來源,各種人口數據、經濟結構、GDP等,是總體規劃、區域規劃、空間決策的重要依據,為空間分析提供數據支撐。
(4)實測數據。實測數據是通過各種野外實地測量所得的數據,是GIS數據的重要補充。
(5)文本資料。文字資料對GIS數據屬性信息是有利的補充。
6.1.2空間數據獲取方式
空間數據獲取是將地理實體的空間數據和屬性數據輸入或轉換為GIS數據的過程。圖形數據的獲取常采用數據轉換和地圖矢量化的形式。數據轉換是把其它格式的數據轉化為ArcGIS能夠利用的數據格式,通常是把CAD數據(dwg、dgn)轉換為shape、Geodatabase格式。地圖矢量化包括手扶跟蹤矢量化和掃描跟蹤矢量化兩種方法。屬性數據的獲取主要采用數據轉換、鍵盤輸入和屬性數據表連接的方式。
6.1.2.1數據轉換
ArcGIS經常應用到非原生的空間數據,在進行空間分析時需要轉換為ArcGIS支持的格式才能進行。ArcGIS利用Data Interoperability擴展模塊進行數據轉換工作。Data Interoperability擴展模塊利用加拿大Safe Software公司開發的FME空間數據轉換解決方案。主要功能有數據讀取、互操作連接、空間ETL工具等。能直接讀取100多種空間數據格式,例如GML、XML、WFS、Autodesk DWG/DXF、MicroStation DGN、MapInfo MID/MIF 等。互操作連接是指向在目錄樹中作為一個直接讀取數據集來管理的一個或多個數據源的用戶創建的鏈接。連接中會指定數據源和 FME 閱讀器以及所選格式支持的任何參數。空間 ETL 工具是用戶創建的地理處理工具,可在不同數據模型和不同文件格式之間變換數據。使用 FME Workbench 在轉換工作空間中創建空間 ETL 工具,然后將其保存在工具箱中。
6.1.2.2矢量化
矢量化是紙質地圖轉換為矢量數據常用的方法之一。矢量化方法中現在常用的是掃描跟蹤矢量化,具有作業速度快、精度高、操作人員工作強度低等優點。其基本工作原理是:利用具有適當分辨率和掃描幅面的掃描儀及相關掃描圖像處理軟件對紙質地圖掃描生成柵格圖,經過幾何糾正、噪聲消除、線細化、配準等一系列處理過程后進行矢量化。
掃描跟蹤矢量化常見的兩種方式:
(1)軟件自動矢量化。通過軟件一定的算法將柵格圖上的線條自動轉換為矢量要素,具有速度快、效率高特點,但存在限于軟件智能化的局限,后期需要大量的處理與編輯工作,實際應用中不推薦采用這種方法。
(2)屏幕鼠標跟蹤矢量化。屏幕鼠標跟蹤矢量化又分為全手工矢量化和半自動矢量化。全手工矢量化是操作人員在屏幕上逐點跟蹤目標物體完成矢量化。半自動矢量化是由操作人員首先指定一條線的起點,軟件自動跟蹤至其不能判斷去向的位置(交叉點、斷裂處、文字標記處)然后由人工指定新的走向,軟件再次進行跟蹤,直至矢量化完成。此方法較好的兼顧了全手工矢量化和軟件自動矢量化的優點,矢量化速度快,后續編輯工作量小,是目前最常采用的辦法。
ArcGIS利用ArcScan擴展模塊進行矢量化操作。
6.1.2.3屬性數據獲取
屬性數據的獲取可以通過以下的方式獲得:
(1)數據轉換。通過數據轉換的方式直接獲取所需的屬性數據。此方法對于原始數據包含屬性數據時非常有用。
(2)鍵盤輸入。通過鍵盤輸入的方式得到所需的屬性數據。此方法對于少量數據的錄入非常方便,但面對海量數據時話費時間巨大,效率低下。
(3)表連接。如今大多數的統計數據以文本形式(txt、xls)存儲,利用空間連接和空間關聯操作可以很方便的把屬性數據與空間數據連接或關聯到一起。此方法具有快速、高效、花費小等優點。
6.2數據轉換
數據轉換是通過FME空間數據引擎完成的。FME引擎被集成到Data Interoperability擴展模塊中。在Data Interoperability下進行數據交換主要有以下的幾種方法:
6.2.1直接轉換
直接轉換在ArcMap中首先加載數據,然后轉換所需的要素即可。具體步驟如下:
(1)定位到“\ch6\直接轉換”,打開“Ex01.mxd”,文檔中加載“CAD.dwg”文件。
(2)CAD數據在ArcGIS是以組的形式存儲的,分為Annotation(注記)、Point(點)、Polyline(線)、Polygon(面)、MultiPatch(多面片)的形式存在的。其在ArcMap和ArcCatalog的顯示如圖所示。
(3)在ArcMap內容列表中“CAD.dwg Point”圖層上右鍵單擊選擇【數據】----【導出數據】,打開【導出數據】對話框。在【導出數據】對話框中設置如下:導出:“所有要素”,勾選“次圖層的數據源”,輸出要素類:“\ch6\直接轉換\ Result\Point.shp”。如圖所示。此種方式只能導出CAD數據中某一類的記錄數據。
(4)在目錄列表“默認工作目錄----Ch6”下“直接轉換\Data”目錄“CAD.dwg”文件上右鍵單擊選擇【導出】----【轉為Shapefile(批量)】,打開【要素類轉Shapefile(批量)】對話框。在對話框中設置如下:輸入要素:CAD.dwg組下的所有類型。輸出文件夾“ch6\直接轉換\Result\”。如圖6.4所示。此方法可以把CAD數據整體轉換為Shapefile文件。
6.2.2數據互操作
互操作連接是指向在目錄樹中作為一個直接讀取數據集來管理的一個或多個數據源的用戶創建的鏈接。
(1)定位到“\ch6\數據互操作”,打開“Ex02.mxd”,文檔中加載“CAD.dwg”文件。
(2)在目錄列表中,雙擊【Interoperbility Connections】----【Add Interoperbility Connections】,打開【Interoperbility Connections】對話框,如圖所示。
(3)在【Interoperbility Connections】對話框中,點擊【Format】后的按鈕,打開【FME Reader Gallery】對話框。里面列出了FME支持的數據格式。在其中選擇“Autodesk AutoCAD DWG/DXF”選項。如圖所示。
(4)在【Interoperbility Connections】對話框中,設置Dataset:“\ch6\數據互操作\Data\CAD.dwg”。
(5)完成后的結果如圖所示。在這里看以看到每個圖層里面所存儲的內容,與CAD中存儲形式類似。
6.2.3快速工具
快速工具位于ArcToolbox下的Data Interoperability Tools,包含快速導入和快速導出兩個工具。快速轉換工具可執行簡單的一對一轉換,轉換期間不修改要素幾何。
(1)定位到“\ch6\快速工具”,打開“Ex03.mxd”,文檔中加載“CAD.dwg”文件。
(2)在目錄列表下找到【系統工具箱】-----【Data Interoperability Tools】,雙擊其下的【快速導入】,打開【快速導入】對話框。在對話框里設置如下:Input Dataset:單擊
按鈕,打開【Specify Data Source】對話框,Format:“Autodesk AutoCAD DWG/DXF”,Dataset:“\ch6\快速工具\Data\CAD.dwg”,設置完成后關閉;Output Staging Geodatabase:“\ch6\快速工具\Result\Data.mdb”。如圖所示。
導出數據庫路徑不能包含中文字符,由于CAD數據文件圖層名稱包含中文名稱,所以導出到數據庫后數據文件顯示有亂碼。建議采用此種方式導出數據時,存儲位置和CAD圖層中都不能包含中文字符。
6.2.4 ETL工具
空間ETL工具是用戶創建的地理處理工具,可在不同數據模型和不同文件格式之間變換數據。空間 ETL 工具能夠提供的流程和數據流范圍很廣,它可以實現簡單的格式轉換,也可以實現重新構建幾何和屬性的復雜轉換,可以將其用作獨立的地理處理工具。此方法是使用 FME Workbench 在轉換工作空間中創建空間 ETL 工具,然后將其保存在工具箱中。
(1)定位到“\ch6\ETL\”,打開“Ex04.mxd”,文檔中加載“CAD.dwg”文件。
(2)在目錄列表中定位到【工具箱】-----【我的工具箱】,右鍵單擊【我的工具箱】選擇【新建】----【工具箱】,建立一個新的工具箱。
(3)在新建的【工具箱】上右鍵選擇【新建】----【Spatial ETL Tool】,如圖所示。打開【Create Translation Workspace Wizard】向導對話框。
(4)在【Create Translation Workspace Wizard】向導對話框中設置數據格式為:“Autodesk AutoCAD DWG/DXF”,如圖所示。單擊下一步。
(5)在【Locate Source Data】 中選擇“\ch6\ETL\Data\CAD.dwg”作為數據源,如圖所示。單擊下一步。
(6)在【Select Destination Format】中選擇:“Esri Shape”作為轉換后的數據格式,如圖所示。單擊下一步。
(7)在【Spectify Writer Parameters】中保持默認,如圖所示。單擊下一步。
(8)在【Spectify Workflow Options】中選擇【Static Schema】,選擇此選項可以手動設置需要轉換的字段。如圖所示。單擊下一步。
(9)在【Create the Workspace】中單擊“Finish”完成設置。
(10)設置完成后會打開【ArcGIS Spatial ETL Tool】程序窗口,如圖所示。在程序中出現【Select Feature Types】對話框選擇需要轉換的圖層名稱。取消“管線層”前的對勾,單擊“OK”。
(11)設置完成后如圖所示。在【Main】主窗口中顯示的是需要轉換的圖層及其轉換類型。在此手工可以有選擇的設置轉換屬性。
(12)單擊主工具條上的【運行】按鈕,打開【Translation Parameters】對話框,設置轉換后文件存儲位置:“\ch6\ETL\Result\”,路徑中不能包含中文字符。如圖所示。單擊下一步完成轉換工作。
6.3地圖矢量化
地圖矢量化是重要的地理數據獲取方式之一。地圖矢量化,就是把柵格數據轉換成矢量數據的處理過程。
6.3.1矢量化步驟
(1)掃描
掃描是將紙質地形圖轉化為計算機可以識別的數字圖像形式。掃描時主要考慮色彩模式和分辨率。掃描時一般先進行彩色掃描,然后在圖像處理軟件(如Photoshop)中對圖像降噪、細化、二值化等處理。掃描分辨率一般采用300dpi或更高分辨率。
(2)圖像預處理
經過掃描后的圖像存在變形、噪點、模糊等缺點,不能直接使用,需要經過預處理之后才能應用。圖像預處理是對圖像進行特征提取、分割、匹配等操作,消除圖像中的無關信息,恢復有用的真實信息,提高特征提取、圖像分割、匹配和識別的可靠性。
(3)地理配準
掃描后的圖像通常不包含空間參考信息,實際應用時需要利用精度較高的控制點將圖像匹配到實際的地理坐標。地理配準既是通過建立數學函數將圖像中的各點位置與標準空間參考中已知坐標點建立連接,達到確定圖像中任一點地理坐標的目的。
紙質地圖容易發生幾何變形,通過地理配準可以更正。通常采用仿射變換法,此方法可以在X、Y方向進行不同比例縮放、旋轉和平移。優點是直線變換后仍為直線,平行線變換后仍為平行線。
(4)追蹤矢量化
追蹤矢量化以柵格圖像為基礎,利用矢量化軟件依次對各個圖層的地物進行跟蹤矢量化。
(5)屬性錄入
屬性數據的錄入可隨追蹤矢量化同時進行,也可以在處理好幾何數據以后再錄入。
6.3.2掃描與圖像預處理
(1)定位到“ch6\地圖矢量化\Data\”目錄下的“地形圖.tif”,Photoshop中加載該圖像,可以看到改圖為彩色圖像。ArcGIS Scan矢量化擴展模塊中能夠處理的是二值化圖像,因此需要將其轉換為二值化圖。
(2)若圖像中對比度不高或者區分度不高,可以首先進行銳化操作。【濾鏡】----【銳化】----【銳化】操作,直至對比度合適為止。
若經過銳化操作后,圖像上出現較多的噪點,則需要進行降噪操作。【濾鏡】----【雜色】-----【去斑】,直至合適為止。
(3)上述操作完成后就可以進行二值化處理。
【圖像】----【模式】----【灰度】,首先把彩色圖像轉換為灰度圖像,圖形由三個RGB圖層轉換為一個圖層,但是仍然有256色,而非0和1二值。
【圖像】----【模式】----【位圖】,可以把灰度圖二值化為位圖。
(4)存儲二值化位圖。結果位于:“ch6\地圖矢量化\Data\地形圖(二值化).tif”。
二值化前與二值化后的圖像如圖所示。
6.3.3地理配準
地理配準是把遙感影像圖像配準到正確的坐標系上。
6.3.3.1地理配準工具條
在ArcMap主菜單中單擊【自定義】----【工具條】----【地理配準】,加載【地理配準】工具條,具體功能如圖所示。
6.3.3.2地理配準步驟
地理配準一般經過添加控制點、檢查殘差、選擇地理配準方法、地理配準等幾個步驟。
(1)定位到“\ch6\地圖矢量化\”,打開“Ex05.mxd”,文檔中加載“地形圖(二值化).tif”文件。加載【地理配準】工具條。如圖所示。
(2)在【內容列表】中“地形圖(二值化).tif”圖層上右鍵單擊選擇【屬性】----【符號系統】,顯示選項里面選擇【唯一值】,如圖所示。
(3)【地理配準】工具條上單擊【地理配準】,取消“自動校正”的選擇。勾選“自動校正”選項,輸入每一個控制點后,系統會自動計算匹配結果,圖像文件會發生變形,不利于操作。取消“自動校正”,圖像輸入控制點過程中不發生變化,控制點輸入完成后可以選擇【地理配準】----【更新地理匹配】完成地理配準。
(4)ArcMap主菜單【書簽】----【書簽1】。【配準工具條】上單擊【添加控制點】,主窗口中點擊坐標格網交點,點擊完成后右鍵單擊選擇【輸入X和Y】,打開【輸入坐標】對話框。對話框中輸入:X坐標:396000,Y坐標:4073000。陸續添加其它的點。
(5)【配準工具條】上單擊
【查看鏈接表】,打開【鏈接】對話框。單擊【鏈接】對話框上【打開】對話框,定位到:“\ch6\地圖矢量化\Result\GCP.txt”,打開已經設置好的控制點,如圖所示。
(6)【鏈接】對話框中,變化方法選擇“一階多項式(仿射)”,并勾選“自動校正”。完成設置后如圖所示。
可選擇的變換方式有多項式變換、樣條函數變換、糾正變換或投影變換來為柵格中的每個像元確定正確的地圖坐標位置。
多項式變換使用最小二乘擬合(LSF)算法和控制點構建的多項式。它在全局精度方面得到優化,但并不保證局部精度。多項式變換會用到兩個公式:一個用于為輸入的 (x,y) 位置計算輸出的 x 坐標,另一個用于為輸入的 (x,y) 位置計算 y 坐標。最小二乘擬合算法的目標是獲得可適用于所有點的通用公式,這通常以控制點的位置發生輕微移動為代價。此方法所需的非相關控制點數量必須為:零階平移 1 個,一階仿射變換 3 個,二階變換 6 個和三階變換 10 個。較低階多項式容易出現隨機型誤差,而較高階多項式容易出現外推誤差。
一階多項式變換常用于對影像進行地理配準。使用仿射(一階)多項式變換對柵格數據集進行變換。如圖所示。可看到六個參數定義將柵格的行和列變換至地圖坐標。
一階仿射變換公式為:
其中:x為影像空間的列數,y為影像空間的行數,x’為坐標空間中水平值,y’為坐標空間中豎直值;A、E為以地圖單位計的像元寬度和像元負高度,B、D為旋轉項,C、F為左上角像元中的x’和y’值。
零階多項式用于平移數據。當數據已進行地理配準但通過微小的平移可以更好的排列數據時,通常使用該多項式。執行零階多項式平移只需要一個連接線。最佳方法可能是創建一些鏈接,然后選擇看似最準確鏈接。
使用一階(或仿射)變換來平移、縮放和旋轉柵格數據集。這通常會在柵格數據集上得到直線,這些直線在扭曲的柵格數據集中映射為直線。因此,柵格數據集上的正方形和矩形通常會變為具有任意比例和角度方向的平行四邊形。
通過使用最少三個鏈接,采用一階變換的數學方程可將每個柵格點準確映射至目標位置。任意三個以上的鏈接會都產生誤差或殘差,它們會遍布在所有的鏈接上。不過,應該添加三個以上的鏈接,因為如果某一個鏈接的定位出現錯誤,就會對變換造成更大的影響。所以,即使在創建更多鏈接時會產生更多的數學變換誤差,變換的總體精度還是會提高。
變換的階次越高,可校正的畸變就越復雜。不過,極少會需要三階以上的變換。高階變換需要更多的鏈接,因此處理時間將逐漸增多。一般來說,如果柵格數據集需要進行拉伸、縮放和旋轉,使用一階變換。而如果必須彎曲柵格數據集,使用二階或三階變換。,如圖所示。
樣條函數變換實際上是一種橡皮頁變換方法,并對局部精度(而非全局精度)進行優化。它基于樣條函數-一種可維護相鄰多項式之間的連續性和平滑度的分段多項式。樣條函數可將源控制點準確地變換至目標控制點;但不能保證距控制點的像素距離是準確的。當控制點很重要并且需要進行精確配準的時候就會用到此變換。添加更多的控制點會提高樣條函數變換的總體精度。樣條函數至少需要 10 個控制點。
???換對全局LSF和局部精度都進行優化。它基于結合多項式變換和不規則三角網 (TIN) 插值技術的算法而構建。校正變換可使用兩組控制點執行多項式變換,并使用 TIN 插值技術來局部校正控制點以與目標控制點更好地匹配。校正至少需要 3 個控制點。
????能夠扭曲線,以使它們保持平直。進行變換時,之前平行的線可能不再保持平行。投影變換尤其適用于傾斜的影像、掃描的地圖和一些影像產品,如Landsat和 Digital Globe。執行投影變換至少需要四個鏈接。只使用四個鏈接時,RMS 誤差為零。使用更多的點時,RMS 誤差會略高于零。
(7)通過圖可以看到各個點的殘差和RMS總誤差,其值越小精度越高。
(8)“地形圖(二值化).tif”在主窗口已經不再顯示,在圖層上右鍵單擊選擇【縮放至圖層】,經過配準后的圖層全圖顯示出來。
(9)【地理配準】下拉菜單下有兩個保存選項。【更新地理配準】保存配準結果到當前圖像,【校正】保存配準結果到新的圖像。
【地理配準】下拉菜單下選擇【校正】,打開【另存為】對話框。
設置如下:輸出位置:“\ch6\地圖矢量化\Result\”,格式:“IMAGE Image ”,名稱:“地形圖(配準).img”,其它設置默認。如圖所示。
重采樣類型有三種:
?最鄰近(用于離散數據):重采樣時,使用最鄰近像元的值將為輸出像元分配值,是默認設置。
?雙線性(用于連續數據):根據四個最鄰近輸入像元中心的加權平均距離確定像元新值。
?雙三次卷積(用于連續數據)-:通過擬合穿過 16 個最鄰近輸入像元中心的平滑曲線確定像元的新值。
6.3.4追蹤矢量化
6.3.4.1 ArcScan工具條
ArcScan是ArcGIS forcDesktop擴展模塊,是柵格矢量化工具。ArcScan和ArcMap編輯功能集成在一起,能夠提高處理效率,減少后期處理工作。
ArcScan矢量化方法分為交互式矢量化和自動矢量化。交互式矢量化又稱為柵格追蹤矢量化,具有半自動矢量化功能,可以在柵格圖像上分別單擊某條線上的兩個點,系統會自動跟蹤并矢量化兩點間的線段。自動矢量化又稱為批處理矢量化,通過執行某一命令來自動生成矢量要素。
ArcScan矢量化需要滿足的條件:柵格圖像必須進行二值化處理;ArcMap中至少添加一個柵格圖層和至少一個對應的矢量圖層;必須在編輯狀態下進行矢量化操作。
ArcMap主菜單中單擊【自定義】----【工具條】----【ArcScan】,加載【ArcScan】工具條,具體功能如圖所示。
6.3.4.2追蹤矢量化實例
(1)定位到“\ch6\地形圖矢量化\”,打開“Ex06.mxd”,文檔中加載“地形圖(配準).tif”文件和“DGX.shp”。加載【地理配準】工具條和【編輯器】工具條。
(2)【編輯器】工具條上單擊【編輯器】----【開始編輯】,在打開的【開始編輯】對話框中選擇“DGX.shp”作為編輯圖層。
(3)ArcMap主菜單上單擊【書簽】----【書簽1】。
(4)在出現的【創建要素】對話框里單擊DGX圖層,使其處于繪圖狀態。然后在【ArcScan】工具條上單擊【矢量化追蹤】按鈕,開始追蹤矢量化。
(5)選擇主窗口中靠近1124數字的等高線,在上面首先單擊,然后沿著等高線走向上再次單擊,軟件會自動追蹤。如圖所示。
(6)軟件在遇到有相交線段的時候不能自主判斷等高線走向,需要手工指定走向完成追蹤矢量化。中間若出現斷點或不能追蹤的情況,可以在持續按著“S”鍵的同時,鼠標左鍵單擊人工添加追蹤點。一根等高線矢量化完成后,雙擊或按F2鍵結束跟蹤矢量化。如圖所示。
(7)在右側【屬性窗口】中,Elevation字段輸入高程值:1120。如圖所示。本幅地形圖基本等高距20m。
(8)【ArcSacan】工具條上單擊
【區域內部生成要素】按鈕,在主窗口中繪制多邊形區域,繪制完成后雙擊,出現【在區域內部生成要素】對話框,設置要素模板為:“DGX”。設置完成后區域內會進行自動矢量化操作,如圖所示。
自動矢量化在等高線上沒有文字注記或者斷開的情況下具有很好的效果,但是一旦出現上述問題,自動矢量化的結果在后期的處理過程中工作量會較大。
(9)經過追蹤矢量化和自動矢量化后,最終的矢量化結果如圖所示。
(10)高程賦值。DGX.shp圖層中高程賦值在Elevation字段中,等高線的Shape.Z屬性值為0,需要為Shape.Z賦高程值。
【工具箱】中選擇【系統工具箱】----【3D Analyst Tool】----【3D要素】----【依據屬性實現要素轉3D】,打開【依據屬性實現要素轉3D】對話框。對話框中設置如下:輸入要素:“DGX.shp”,輸出要素:“\ch6\地圖矢量化\ Result\DGX(賦值).shp”,高程字段:“Elevation”。如圖所示。
(11)等高線簡化。
追蹤矢量化的等高線點數量過多,存儲量大。必要的時候需要減少點的數量。
【編輯器】工具條單擊【編輯器】選擇【更多編輯工具】----【高級編輯】,打開【高級編輯】工具條,選擇
【概化】命令,最大允許偏移量:1。簡化形狀,減少點數量。概化前與概化后如圖所示。
6.4屬性數據連接
表是空間數據重要的組成部分之一。屬性數據通常以表格的形式存在。表格信息是地理要素的基礎,可用于顯示、查詢和分析數據。表是由行和列組成的,且所有行都具有相同的列。ArcGIS中,行和列分別成為記錄和字段。每個字段可存儲一個特定的數據類型。
ArcGIS中的表格數據類型眾多,表格信息可以存儲在文件夾、數據庫、文本文件、查詢中等。ArcGIS中常用的表格數據類型如下所示:
.dBASE表,與 shapefile 配合使用的格式
.INFO表,與 coverage 配合使用的格式
.文本文件,例如,創建于文本編輯器中并以逗號或制表符隔開的文件
.許多其他類型的表,諸如Microsoft Excel之類的其他程序生成的表,可在 ArcGIS 中直接查看。
6.4.1 Excel表
在日常的工作中用于屬性數據記錄最多的就是Microsoft Excel表格。Microsoft Office Excel 表可直接在 ArcGIS 中打開。可以向 ArcMap 中添加Excel 表、在 ArcCatalog 中Excel 表,并可將Excel 表作為地理處理工具的輸入數據。
通過【添加數據】對話框向ArcMap添加 Excel 文件時,需選擇要打開的表。例如,在名稱為“統計表.xlsx”的Excel工作簿,此工作簿中包含兩個名稱為GDP和人口的工作表,每個工作表在 ArcGIS 中都是一個單獨的表。在 ArcGIS 中,會保留 Excel 中所定義的對單元格或范圍的所有名稱引用。
通過ArcGIS訪問Excel表時,工作表將顯示為一個名稱末尾帶有美元符號 $ 的表,但命名區域將不包含美元符號。名稱中包含空格的工作表或命名區域在表名稱周圍括有單引號。
將表添加到ArcMap后,可以從內容列表的“源”視圖中打開該表。但無法編輯該表或將記錄導出為 Excel 格式。若需要編輯表格內容,需要把Excel表轉換成ArcGIS能夠編輯的格式(dBase表)。如圖所示。
6.4.2連接與關聯
大多數數據的設計指導方針都傾向于將數據組織成多個表,每個表關注一個特定的主題,而非一個包含所有必要字段的大型表。設置多個表可以避免數據的信息發生重復,因為只會將信息在一個表中存儲一次。當需要當前表中未包含的信息時,可以將兩個表連接或關聯起來。
ArcGIS允許您通過一個公用字段(也稱為鍵)將一個表中的記錄與另一個表中的記錄相關聯。可通過多種方式進行此類關聯,其中包括在地圖中臨時連接或關聯表,或者在地理數據庫中創建可以保持更長久關聯的關系類。
當對兩表進行連接時,基于兩個表的公用字段可以將屬性從一個表追加到另一個表上。關聯表也用于定義兩個表間的關系,這也基于公用字段,但并不把屬性從一個表追加到另一個表。
連接操作是有方向的,當把一個表中的信息追加到另一表中時,包含要追加信息的表稱為源表(Source Table),接受追加信息的表稱為目標表(Destination Table)。如圖6.39所示,目標表是山東省17地市行政區劃圖,是一張屬性表。源表是包含17地市GDP統計值的獨立表。當對兩表進行連接時,GDP統計數據會被追加到17地市行政區劃圖的屬性表中。
連接與關聯是基于多個表之間的關系確定的。表之間的關系包括一對一關系、多對一關系、一對多關系、多對多關系。
(1)一對一關系
第一個表中的單個行只可以與第二個表中的一個行相關,且第二個表中的一個行也只可以與第一個表中的一個行相關。
例如山東省市行政區劃圖中,圖層屬性表存儲的是山東省17個地市的名稱;獨立的面積統計表中按照地區名稱記錄了其面積。即一個地區對應著一個面積。如圖所示。
(2)多對一關系
第一個表中的一個行只可以與第二個表中的一個行相關,但第二個表中的一行可以與第一個表中的一個或多個行相關。
例如,山東省縣行政區劃圖中,圖層屬性表中包含縣和市的名稱;各個地市歷年GDP統計表中含有市的名稱,構成了多對一的關系。如圖所示。
(3)一對多關系
第一個表中的單個行可以與第二個表中的一個或多個行相關,但第二個表中的一個行只可以與第一個表中的一個行相關。
例如山東省市行政區劃圖中,圖層屬性表記錄了17個市的名稱;而縣統計表中包含了縣的名稱和所屬市的名稱,構成了一對多的關系。如圖所示。
(4)多對多關系
第一個表中的一個行可以與第二個表中的一個或多個行相關。第二個表中的一個行也可以與第一個表中的一個或多個行相關。
例如,每個城市有多種不同的產業,而同一種產業有存在于不同的城市。這樣當存在兩張表時,城市與產業之間就是多對多的關系。
表連接與關聯的基本原則為:
.當兩個表中的數據存在一對一或多對一的關系時,則可以連接這兩個表。
.當兩個表中的數據存在一對多或多對多的關系時,則可以關聯這兩個表。
6.4.3連接與關聯實例
(1)定位到“\ch6\表關系\”,打開“Ex07.mxd”,文檔中加載“市.shp”圖層。
(2)在ArcMap主工具條上單擊【添加數據】按鈕,打開【添加數據對話框】,定位到“\ch6\表關系\Data”目錄下,加載“統計表.xlsx”,選擇其下的“GDP$”工作表。如圖所示。
(3)添加工作表后,ArcMap內容列表的現實方式就會由【按繪制順序列出】變為【按源列出】。
(4)在“GDP$”工作表上右鍵單擊選擇【數據】----【導出】,打開【導出數據對話框】,輸出表:“ch6\表關系\Result\GDP.dbf”,如圖所示。表導出結果如圖所示。
(5)在【內容列表】中“市”圖層上右鍵單擊選擇【連接和關聯】----【連接】,打開【連接數據】對話框。在對話框中設置如下:
要將哪些內容連接到該圖層:“某一表的屬性”;
選擇該圖層中連接將基于的字段:“NAME”,;
選擇要連接到次圖層的表:“GDP”,勾選“顯示此列表中的圖層的屬性表”;
選擇此表中要作為連接基礎的字段:“NAME”;
連接選項:“保留所有記錄”。
具體設置如圖所示。
設置完成后單擊【驗證連接】按鈕,將會驗證此連接的正確性,驗證完成后出現如圖所示的對話框。驗證正確后,即可進行連接操作。
(6)連接操作前后的表如圖所示。
6.5空間校正
當GIS數據來源于多個部門時,數據可能基于不同的坐標系下。有些數據會在幾何形狀上發生變形,描述同一地理位置的數據源之間存在不一致。通過空間校正可以把數據校正到統一的形狀上。空間校正的典型應用是對矢量化的結果進行處理,常用于把數據從數字化儀或掃描儀單位轉換到真實世界的坐標。
空間校正的對象是矢量數據,而地理配準的對象是柵格數據。
空間校正轉換函數基于源點和目標點坐標的比較,目標點也稱為控制點,在特定的圖形元素中稱為偏移鏈接。可以交互地創建這些鏈接,如點擊已知的源點和目標點位置,或者加載鏈接文本文件或控制點文件。
6.5.1空間校正工具條
在ArcMap主菜單中,單擊【自定義】----【工具條】-----【空間校正】,打開【空間校正】工具條。其具體功能如圖所示。
6.5.2空間校正步驟
空間校正一般步驟為:
(1)加載【空間校正】工具條;
(2)開始要素編輯;
(3)選擇要進行空間校正的輸入數據,選擇空間校正方法;
(4)創建位移鏈接;
(5)執行空間校正并保存校正后結果。
6.5.3空間校正方法
在ArcGIS 10中常見的空間校正方法包含:空間校正變換、橡皮頁變換、邊匹配和屬性傳遞。
(1)空間校正變換
ArcGIS提供了3種空間校正變換的方法:仿射變換、相似變換、投影變換。
1)仿射變換
仿射變換可以有差異地縮放、扭曲、旋轉和平移數據。如圖所示。
仿射變換函數為:
x’ = Ax+By+C
y’ = Dx+Ey+F
其中:x和y為輸入層坐標,x’和y’為轉換后坐標。A、E為縮放系數(比例系數),B、D為旋轉系數,C、F為平移系數,A、B、C、D、E和F是通過比較源點和目標控制點來確定。用于縮放、扭曲、旋轉和平移圖層坐標。
幾何仿射轉換最少需要三個偏移鏈接。
2)相似變換
相似變換可以縮放、旋轉和平移數據,它既不獨立地縮放坐標軸,也不引入任何扭曲。該變換保持轉換要素的方位比率。
x’ = Ax+By+C
Y’ = -Bx+Ay+F
其中:A = s.cost,B = s.sint,C = x方向上的平移, F = y方向上的平移
并且:s =縮放變化(x和y方向相同),t = 旋轉角,從x軸按順時針測量
相似變換最少需要兩個偏移鏈接。
3)射影變換
射影變換基于更復雜的公式,最少需要四個偏移鏈接:
x’ = (Ax+By+C)/(Gx+Hy+I)
y’ = (Dx+Ey+F)/(Gx+Hy+I)
此方法可用于對從航空像片中采集的數據直接進行變換。
上述三種變換方法都需要考慮轉換前后坐標精度的問題,用殘差和均方差(RMS)表示精度高低。
坐標變換參數是源控制點和目標控制點之間最好的擬合。如果使用坐標變換參數來轉換實際的源控制點,轉換輸出的位置不會與真實的輸出控制點位置相匹配叫做殘差,它是對真實位置和轉換輸出的控制點位置之間擬合度的衡量。每個偏移鏈接都會產生此誤差。
每個坐標轉換都要計算RMS誤差。它指示轉換的優良程度。
RMS誤差用來衡量目標控制點和轉換后的源控制點位置之間的誤差。轉換采用最小二乘方導出,所以要給出比必需鏈接更多的鏈接。
(2)橡皮頁變換
橡皮頁變換又稱為彈性伸縮。幾何變形通常在源地圖上出現。這些變形可能由下面的情況引起:地圖編輯中的不恰當地配準、源數據中缺少測量控制或其他各種原因。橡皮頁變換通過坐標的幾何配準來糾正這些缺陷。
在橡皮頁變換期間,表面實際是被拉伸了,采用保持直線的分段坐標變換來移動要素。與坐標轉換相似,偏移鏈接在橡皮頁變換中用于確定要素要移向何處。
橡皮頁變換通常采用的方法有兩種:線性法和自然鄰域法。
(3)邊匹配
邊匹配過程將一個圖層的邊界要素和相鄰圖層的要素對齊。配準要素精確差的圖層至精確的圖層,另一相鄰圖層用作控制圖層。如圖6.52所示。
(4)屬性傳遞
屬性傳遞通常用于復制準確度較低的圖層屬性到一個準確度較高的圖層。例如,可將數字化的比例尺為1:500000的概略地圖傳遞水文要素名稱到比例尺為1:25000的詳細地圖。
6.5.4空間校正實例
6.5.4.1空間校正變換
(1)設置校正數據
定位到“\ch6\空間校正\空間校正變換”,打開“Ex08.mxd”,文檔中加載“坐標格網地圖.shp”和“矢量化地圖.shp”圖層。加載【空間校正】工具條和【編輯器】工具條。
【編輯器】工具條上,單擊【編輯器】----【開始編輯】,啟動數據編輯。
【空間校正】工具條上,單擊【空間校正】----【設置校正數據】,打開【選擇要校正的輸入】對話框。對話框中勾選:“以下圖層中的所有要素”,勾選“矢量化地形圖”,如圖所示。
(2)選擇變換方法
【空間校正】工具條上,單擊【空間校正】----【校正方法】----【變換—仿射】,如圖所示。
(3)建立位移鏈接
【編輯器】工具條上,單擊【編輯器】----【捕捉】----【捕捉工具條】,打開【捕捉】對話框,選擇“折點捕捉、端點捕捉、交點捕捉”。
單擊【空間校正】工具條上的【新建位移鏈接工具】,單擊被校正要素圖層“矢量化圖層”上的某點,再單擊基準要素圖層上的對應點,建立一個位移鏈接,起點是被校正要素上的點,終點是基準要素圖層上的對應點。用相同的方法建立足夠的鏈接,如圖所示。
理論上有3個鏈接就能進行仿射變換,但是實際使用中應盡可能多的建立鏈接,尤其是在拐點位置等特殊點上,且點要分均勻。【空間校正】工具條上,單擊【查看鏈接表】。單擊【空間校正】----【鏈接】----【打開鏈接文件】,定位并打開“ch6\空間校正\Result\GCP.txt”文件。鏈接表如圖所示。查看各個鏈接的殘差值和RMS誤差值,對殘差值較大的鏈接修改或刪除,提高校正效果。
(4)單擊【空間校正】----【校正預覽】,打開【校正預覽】對話框查看校正效果。如果校正效果滿足要求,便可執行【空間校正】----【校正】操作;如果不能滿足要求,則需返回到第(3)步,檢查位移鏈接的設置,刪除RMS誤差較大的鏈接,并重新建立位移鏈接。
(5)空間校正完成后的結果如圖所示。
6.5.4.2橡皮頁變換
(1)設置校正數據
定位到“\ch6\空間校正\橡皮頁變換”,打開“Ex09.mxd”,文檔中加載“坐標格網地圖.shp”和“矢量化地圖.shp”圖層。加載【空間校正】工具條和【編輯器】工具條。
【編輯器】工具條上,單擊【編輯器】----【開始編輯】,啟動數據編輯。
【空間校正】工具條上,單擊【空間校正】----【設置校正數據】,打開【選擇要校正的輸入】對話框。對話框中勾選:“以下圖層中的所有要素”,勾選“矢量化地形圖”。
(2)選擇變換方法
【空間校正】工具條上,單擊【空間校正】----【校正方法】----【橡皮頁變換】;單擊【空間校正】----【選項】,打開【校正屬性】對話框。在對話框中設置:常規選項卡中的校正方法選擇:“橡皮頁變換”,單擊右側的“選項”按鈕,打開【橡皮頁變換】對話框,選擇“自然鄰域法”。如圖所示。
(3)建立位移鏈接
【編輯器】工具條上,單擊【編輯器】----【捕捉】----【捕捉工具條】,打開【捕捉】對話框,選擇“折點捕捉、端點捕捉、交點捕捉”。
單擊【空間校正】工具條上的【新建位移鏈接工具】,單擊被校正要素圖層“矢量化圖層”上的某點,再單擊基準要素圖層上的對應點,建立一個位移鏈接,起點是被校正要素上的點,終點是基準要素圖層上的對應點。用相同的方法建立足夠的鏈接,如圖所示。
(4)單擊工具條上的【多位移鏈接】,單擊 “矢量化地形圖”中部的一側河流,然后再單擊“坐標格網地圖”中相應的河流要素,出現鏈接數輸入對話框,默認值為10,此處輸入30,回車確認,地圖中添加多個鏈接。
(5)單擊【空間校正】----【校正預覽】,打開【校正預覽】對話框查看校正效果。如果校正效果滿足要求,便可執行【空間校正】----【校正】操作;如果不能滿足要求,則需返回到第(3)步,并重新建立位移鏈接。
(6)空間校正完成后的結果如圖s所示。