GIS和空間分析的基本方法參考模板_第1頁
GIS和空間分析的基本方法參考模板_第2頁
GIS和空間分析的基本方法參考模板_第3頁
GIS和空間分析的基本方法參考模板_第4頁
GIS和空間分析的基本方法參考模板_第5頁
已閱讀5頁,還剩23頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第一部分 GIS和空間分析的基本方法1 / 281第一章 ArcGIS入門:數據管理及基本的空間分析工具地理信息系統(GIS)是一種計算機信息系統,用于獲取、存儲、處理、查詢、分析及顯示地理數據。在GIS眾多功能中,制圖一直是它的一項主要功能。本章的首要目的是演示如何借助GIS進行電腦制圖。主要技巧包括空間與非空間(屬性)數據的管理以及二者之間的聯系。但是,GIS遠不只是一種制圖工具,隨著GIS軟件功能越來越強大,界面越來越友好,它在空間分析中的應用越來越廣。本章第二個目的是介紹GIS的一些基本空間分析工具。鑒于ArcGIS在教育、商業及政府機構中的廣泛應用,本書采用它作為主要的軟件平臺來完成

2、GIS任務。除非特別說明,本書所有GIS操作都是基于ArcGIS9.0。各章結構的安排類似:先從基本概念著手,介紹GIS方法的基本內容;然后用案例來使者熟悉剛剛介紹的GIS方法。本章第1.1節簡要介紹ArcGIS中的空間及屬性數據管理,第1.2節為案例1A,通過繪制庫婭霍加縣的人口密度分布圖來演示基于GIS作圖的基本過程。第1.3節介紹ArcGIS中基本的空間分析工具,包括空間查詢、空間連接、地圖疊加等。第1.4節為案例1B,演示了一些空間分析工具:提取克里夫蘭市的普查小區,生成多邊形鄰接矩陣。在高級空間統計研究如空間聚類和空間回歸分析中,我們常常用多邊形鄰接矩陣來定義空間權重(參見第九章)。

3、本書假設讀者具有初極GIS知識。本章不會涵蓋所有的ArcGIS功能。相反,它只是回顧ArcGIS的主要功能,給讀者一個”熱身賽”, 以便引導讀者繼續學習章節中的一些高級空間分析方法。1.1ArcGIS中的空間和屬性數據管理2因為本書選擇ArcGIS作為主要的軟件平臺,所以有必要簡單介紹一下它的主要模塊及功能。ArcGIS是美國環境系統研究所(ESRI)2001年發布的一種基于圖形界面(GUI)的軟件平臺,用以代替以前基于命令行的ArcInfo。ArcGIS包括3個主要模塊:ArcCatalog、ArcMap和ArcToolbox。ArcCatalog用于查看、管理空間數據文件。ArcMap用于

4、顯示、分析、編輯空間及屬性數據。ArcToolbox整合了各種數據管理和數據分析工具箱,包括地圖投影管理、數據格式轉換以及實現早期的ArcInfo命令。在ArcGIS9.0中,ArcToolbox可以從ArcMap或 ArcCatalog界面中激活。大部分(但不是全部)早期ArcInfo命令都可以在ArcGIS中實現。對于有些命令或功能,我們作空間分析還是用的較勤,仍然需要用到ArcInfo的命令行界面。例如,在附錄1中討論了如何用ArcInfo Workstation來讀取、輸出ASCII文件。第二章中的案例2介紹了如何用ArcInfo Workstation來計算網絡距離。1.1.1地圖投

5、影及空間數據模型GIS不同于其他信息系統的一個顯著特點是它能夠管理地理或空間(區位)數據。為了理解這一點,我們需要具備地理坐標系統的基礎知識,例如,我們需要了解經緯度及用x、y坐標在各種平面坐標系上的表示方法。將地球的橢球表面轉換為平面,或在不同平面坐標系之間進行轉換的過程稱為地圖投影。在ArcGIS中,ArcMap會自動地將不同坐標系的數據轉化為最先添加的圖層坐標系,這個過程一般稱為即時投影變換(on-the-fly reprojections)。但是,如果數據量較大的話,這個過程可能會花很多時間。所以,同一個項目里面的所有圖層最好用同一種投影。美國常用的投影有兩種:通用橫軸墨卡托投影(UT

6、M)和州平面坐標系統(State Plane Coordinate System,SPCS)。 嚴格來說,SPCS并不是單一的一種投影,它可能使用三種投影中的一種:蘭伯特等角圓錐投影、橫軸墨卡托投影、斜軸墨卡托投影。為了盡量減少變形,南北向長條形的州或地區使用橫軸墨卡托投影,東西向長條形的州或地區使用蘭伯特等角圓錐投影。有些州(如阿拉斯加、紐約州)可能用不只一種投影。更多內容,讀者可以參閱ESRI公司ArcGIS光盤上的“理解地圖投影”PDF文件。 在ArcGIS中查看空間數據圖層的投影,可以在ArcCatalog中點擊該圖層,然后選擇Metadata > Spatial,或者在ArcM

7、ap右鍵單擊圖層,依次選擇layer > Properties > Source。 在ArcToolbox中進行投影相關操作的辦法為:依次點擊Data Management Tools > Projections and Transformations,在投影與變換工具箱(Projections and Transformations)下,投影定義工具(Define Projection)將新建一個包含投影參數的投影文件(PRJ),或者矯正原來的錯誤投影。投影定義工具只是標記地理數據的正確坐標系統,坐標系統本身不會被改變。對于矢量空間數據,選擇Feature > Pro

8、ject,將坐標系統從一種投影轉換到另一種投影,并生成一個新的圖層。本工具中提供了如下一些選項:創建新坐標系統,使用一個現存的坐標系統,從一個地理數據中輸入坐標系統。對于柵格數據,則選擇Raster > Project Raster.3GIS可以處理矢量和柵格兩種空間數據。在處理矢量數據時,GIS用地理坐標點來構建點、線、面等要素;在處理柵格數據時,GIS借助按行列排列柵格單元來表征空間要素。柵格數據的結構比較簡單,模型構造相對容易。社會經濟應用中大多使用矢量數據,本書的大部分GIS應用也使用矢量數據。大部分商業GIS軟件都提供了矢量、柵格數據的互相轉換。在ArcGIS中,可以通過調用A

9、rcToolbox中的轉換工具(Conversion Tools)來實現。ESRI公司的早期GIS軟件使用coverage數據模型。后來在開發ArcView軟件包時,采用了shapefiles數據模型。在ArcGIS 8及以后的版本中,開始使用geodatabase模型,代表了面向對象數據模型的新趨勢。面向對象的數據模型把物體的幾何特征(空間數據)也當作一種屬性數據來存儲,而傳統的coverage和shapefiles模型是將空間和屬性兩種數據單獨存儲的。一般而言,社會經濟分析中的空間數據和屬性數據常常來自不同的渠道,在用GIS進行制圖或分析之前的一個基本任務是把他們連接在一起。這就涉及到下面

10、將要介紹的屬性數據管理了。1.1.2屬性數據管理及屬性連接GIS數據分為兩類,即空間數據和屬性數據。空間數據表征地圖要素的幾何特征,屬性數據則描述要素的一些特征。屬性數據往往以表格或表格文件的方式存儲。Shapefile屬性表使用dBase數據格式,ArcInfo Workstation使用INFO格式,geodatabase表格使用Microsoft Access格式。ArcGIS也能夠讀取幾種ASCII數據格式,包括逗號分隔和tab分隔的文本文件。附錄1討介紹了用ArcGIS輸入/輸出ASCII數據的方法,如果要用GIS和其它軟件(如SAS)進行高級分析,或者自己編寫一些程序來完成復雜的任

11、務,這種數據轉換是非常重要的操作。 基本的數據管理任務,有些用ArcCatalog或ArcMap都可以實現,而其他一些任務則只有其中一種工具可以完成。例如,新建數據表或刪除/拷貝一個數據表都只能在ArcCatalog中實現(前面我們曾提到,ArcCatalog可以用于查看和管理GIS數據文件)。數據表的創建過程為:右鍵單擊將要在里面創建數據表的文件夾,選擇new即可。而要刪除或拷貝數據表,只要在ArcCatalog中右鍵單擊該數據表,然后單擊Delete(或Copy)即可。4如果要在一個數據表中新增一個變量(可能是在shape文件屬性表或dBase文件中新增一列或是在ArcInfo works

12、tation的INFO文件中新增一項),ArcCatalog和ArcMap都可以勝任。刪除INFO文件中的某一項也可以任選ArcCatalog或ArcMap之一來完成;但是,刪除dBase文件中的一列則只能用ArcMap來實現。例如,在shape文件屬性表中新增一列,可以用ArcCatalog來實現,即右鍵點擊shape文件 > Properties > Fields,在空白行里面輸入新建列的名字,并定義數據類型即可。在ArcMap中,則要先打開數據表 > Options > Add Field。在ArcMap中刪除一列,可以打開數據表,然后右鍵單擊該列,然后選Dele

13、te Field即可。如果要進行列之間數據的運算,可以用ArcMap:打開數據表 > 右鍵單擊列 > Calculate Values。此外,在ArcMAP中,可以通過右鍵單擊列,然后選擇Statistics來得到一些基本的統計參數。 在GIS中,我們常常使用的屬性連接,是基于某一個相同列將兩張表的信息連接在一起。被連接的表可能是一個與特定地理數據庫有關的屬性表,也可能是一個獨立的數據表。在進行屬性連接時,公共標簽的名字可以不同,但它們的數據類型必須匹配。數據表之間的連接關系有多種:一對一、多對一、一對多、多對多。一對一或多對一連接是通過ArcGIS中的join來完成的。但是,一對

14、多或多對多連接則不能用join來實現,這需要用ArcGIS中的relate來關聯兩張表,在關聯的同時會保持兩張表各自獨立。在進行關聯(relate)時,是從一張表中選取一條或多條記錄,然后從另一張表中選取若干條關聯記錄。表1.1列出了上述連接的關系及所用的ArcGIS工具。連接(join)或關聯(relate)是通過ArcMap來實現的。在地圖目錄中,右鍵單擊空間數據或目標表格,然后依次選擇Joins and Relates > Join(或Relate),然后,在連接數據對話框中選擇“Join attributes from a table”。連接只是暫時的,并不會新建數據表,如果退出

15、項目時不保存的話,下次再打開時連接就沒有了。可以把連接后的結果輸出為新的數據表從而永久地保存。一旦屬性信息連接到空間圖層,我們就可以用ArcGIS方便地制圖了。在ArcMAP中,右鍵單擊圖層,選擇Properties,在彈出的對話框中選擇Symbology。在這里,我們可以選取某一列指標來繪制地圖,可以選擇要素顯示的顏色和圖例,設置顯示的模板。地圖要素(比例尺、指北針、圖例)可以從主菜單中插入(Insert)。1.2案例1A:繪制俄亥俄州庫婭霍加縣人口密度模式圖5對于那些不太熟悉GIS的讀者,如果能夠通過簡單地點擊幾下鼠標就可以親自繪制一張地圖,則可以很快嘗GIS的甜頭, 克服對GIS復雜性的

16、神秘感。本節通過一個例子來演示如何在GIS連接空間和非空間信息,并用于繪制地圖。在接下來的操作中,我們將演示第1.1節里面介紹的大部分功能。完成一個GIS項目開始之前先要收集相關數據。一般而言,我們可以使用現存的數據。在美國社會經濟應用研究中,美國人口普查局發布的拓撲集成地理編碼參照文件(TIGER)及十年一度的人口普查數據是空間數據和屬性數據的主要來源。這兩種數據都可以從普查局的網站下載()。熟練的ArcGIS用戶可以直接下載TIGER數據,然后用TIGER轉換工具提取所需空間數據。依次點擊ArcToolbox里面的Coverage Tools > Conv

17、ersion > To Coverage > Advanced Tiger Conversion(或Basic Tiger Conversion)即可激活TIGER轉換工具。轉換過程可能會花些時間,而轉換之后的數據可能還需要進一步的加工。所幸的是,一些網站提供了業已處理好的ArcGIS格式(shapefiles或coverage)的TIGER空間數據下載服務。ESRI發布ArcGIS軟件時,附送有包含這些數據的光碟。如果空間數據是交換格式(e00)的,則可以很方便地進行轉換:依次點擊:ArcToolbox > Coverage Tools > Conversion &g

18、t; To Coverage > Import from Interchange File。在下面的案例中,我們將直接使用從ESRI網站下載的shapefile空間數據。盡管讀者可以自己下載數據,但為方便起見,本書光盤中提供了所需數據:1. shape文件:tgr39035trt00; 2. dBase文件:tgr39000sf1trt.dbf。在本書中,所有計算機文件、變量名以及某些工程中將要用到的命令行都用Courier New 字體。下面是分步介紹的操作過程。1. 下載空間數據登錄ESRI公司的網站,進入到2000年人口普查TIGER/Line Data頁面:2.轉換到UTM投影在

19、ArcCatalog中,查看shapefile文件tgr39035trt00的投影,發現它使用的是地理坐標系統。在ArcToolbox中,依次選擇Data Management Tools > Projections and Transformations > Feature > Project,激活投影變換對話框。在對話框中,選擇tgr39035trt00.shp作為輸入數據,將輸出數據命名為cuyautm.shp,定義輸出坐標系統為UTM(zone 17,units meters)。在這里,我們從一個現存的數據集中提取投影文件來定義輸出的坐標系統:點擊“Output Co

20、ordinate System”旁的圖標,激活空間參照屬性對話框 > Import > clevbnd。圖1.1為本任務的對話框。點擊ok執行任務。3. 計算shapefile文件中面要素的面積在ArcMap中(本書中除非特別說明,ArcMap是我們ArcGIS的默認工作環境),打開cuyautm的屬性表,右鍵單擊Options按鈕,選擇Add Field,新增一列area,設置數據類型為雙精度Double。右鍵單擊列area,選擇Calculate Values以計算面積。在對話框中,點擊Advanced,在第一個文本框中輸入下述VBA命令,Dim dblArea as doub

21、leDim pArea as IAreaSet pArea = shapedblArea = pArea.area在第二個文本框,即“area=”下面的文本框中輸入dblArea。點擊OK計算面積。圖1.2為計算面積的對話框示例。需要說明的是,在更新的ArcGIS版本(如9.2)中, 計算面積很簡單:右鍵單擊列area,選擇Calculate Geometry,然后在對話框中的Property項選Area、Units項選Square Meters sq m以計算面積。74.下載屬性數據屬性數據可以從上面同一個網站下載,選擇“2000 census tract demographics (SF1

22、)”即可。屬性數據tgr39000sf1trt.dbf是整個俄亥俄州的數據,為dBase格式,SF1表示Summary File 1(即基于普查短表的100%普查的匯總數據)。這里的dBase文件并不包含所有的普查變量。如要獲取完整的普查數據,可以訪問2000年人口普查網站:/main/www/cen2000.html。處理SF1、SF3等文件時,需要知道2000年人口普查數據的結構,并要用到一些數據分析軟件如SAS、Access。SF3 就是基于普查長表的1%抽樣數據。5. 提取凱霍加縣的屬性數據在ArcMap中,添加并打開表tgr39000sf1tr

23、t.dbf。點擊表右下角的選項按鈕(Options)> 選擇Select By Attributes > 輸入SQL(結構查詢語言)語句:county=035 并按Apply,執行查詢(第1.3節有更多關于ArcGIS的查詢操作)。所有凱霍加縣的數據將被選中。點擊Options鍵,將結果輸出(Export)名為cuya2k_popu.dbf的文件。如果愿意,可以把該文件中多余的數據列刪去,只保留我們需要的STFID和POP2000兩列。這一步可以略過,即直接將表tgr39000sf1trt.dbf連接到圖層cuyautm,所得結果將自動去掉其他縣的數據。這里設計這一步是為了讓讀者練

24、習屬性查詢這一功能。6. 連接空間數據和屬性數據右鍵單擊圖層cuyautm > Joins and Relates > Join,基于公共標簽STFID將表cuya2k_popu.dbf連接到cuyautm。STFID是每個普查小區的唯一標志碼,包含州(2位)、縣(3位)及普查小區(6為)的編碼。圖1.3顯示了空間數據和屬性數據的連接方式及與地圖要素的關系。7. 添加并計算人口密度右鍵單擊圖層cuyautm,選擇Open Attribute Table,打開屬性表以檢查連接結果。在連接后的表中,列的名稱由兩部分組成,第一部分為原表名,第二部分為列名。例如,cuyautm.area表

25、示該列為cuyautm屬性表中的area變量,tgr39000sf1trt.STFID表示表tgr39000sf1trt.dbf中的STFID(變量名過長時會自動截短)。在本書后續講解(例如計算公式、表連接等操作)中,除非為了強調,當我們提到列名稱時,將省略源表名。單擊Options按鈕> Add Field,新增一列popuden,此列將顯示在cuyautm屬性表的最后,但位于表cuya2k_popu.dbf第一列之前。右鍵單擊列popuden,選擇Calculate Values ,輸入公式1000000*POP2000/area。在公式中,POP2000和area都是通過直接雙擊最

26、上面對話框中的列名稱來實現的,這樣既可以節省時間,也可以減少直接輸入可能出現的錯誤。在本書后續講解中,為簡單起見,我們只列出計算公式如 popuden=1000000*POP2000/area。注意到地圖投影的單位是米,而人口密度的單位為每平方公里的人口數,所以我們公式中乘上了1000,000。8. 繪制人口密度模式圖右鍵單擊圖層cuyautm > Properties > Symbology > Quantities > Graduated Colors,基于popuden繪制人口密度圖。我們可以嘗試不同的分類方法、分類數及色彩方案。在主菜單中,選擇View >

27、 Layout View來預覽地圖。在主菜單中,選擇 Insert > Legend(Scale Bar, North Arrow等),可以插入比例尺、指北針、圖例等地圖要素。圖1.4為研究區內的人口密度圖,北部的那一大片空白區域為伊利湖。本圖中的人口密度分級是作圖者自己定義(Customized)。1.3ArcGIS中的空間分析工具:查詢、空間連接、地圖疊加許多空間分析任務需要利用空間要素之間的位置關系,進行查詢(queries)、空間連接(spatial joins)及地圖疊加(map overlays)。這三種都是空間分析的基本工具。查詢包括屬性(非空間)查詢和空間查詢。屬性查詢是

28、基于屬性表來提取在該屬性表中的屬性信息,或對應的空間圖層中的空間信息。在ArcMap中進行屬性查詢,有兩種辦法(1)從主菜單中選擇Selection by Attributes;(2)在一個打開的數據表中,選擇Options按鈕 > Selection by Attributes。兩種方法都是基于屬性變量用SQL查詢語句來選擇空間要素(或只是簡單地從一個獨立的屬性表中選取若干條記錄)。案例1A第5步中已經用到了這個功能。在主菜單的Selection菜單下,另有一個選項為交互式選擇方法(Interactive Selection Method),就是用鼠標在屏幕(地圖或屬性表)上選擇要素。

29、與其他信息系統相比,GIS的一個獨特之處在于它的空間查詢能力,即能夠基于不同圖層要素之間的位置關系進行信息查詢。主菜單Selection菜單有一個Selection by Location選項,它可以基于一個圖層中的要素與另一個圖層中的要素之間的位置關系進行查詢。可供查詢的空間位置關系包括相交(intersect)、在一定范圍之內(are within a distance of)、完全包含(completely contain)、完全在范圍之內(are completely within),等等。查詢(屬性查詢或空間查詢)所得結果可以輸出為新的數據文件:(1)用右鍵單擊源圖層,然后選擇Dat

30、a > Export Data,可以將查詢所得空間要素輸出為新的圖層文件;(2)單擊數據表中的Options按鈕 > Export,可以將結果保存為數據表。屬性連接是基于兩表的共同列進行的,而空間連接是基于兩個圖層空間要素的位置關系如重疊、近鄰等來完成的。我們用源圖層和目標圖層來區分不同圖層在空間連接時的作用相異:源圖層的屬性經過空間連接后就轉換到目標圖層中了。如果源圖層中的一個對象對應于目標圖層中的一個或多個對象,則是一個簡單的空間連接(Simple join)。例如,將縣域多邊形圖層(源圖層)空間連接到學校位置(目標圖層)的點圖層,縣圖層的屬性(如FIPS編碼、縣名、縣長名)就

31、轉到那些落入縣域邊界內的學校。如果源圖層的多個對象對應于目標圖層的一個對象,就可能進行兩種操作:匯總連接(summarized join)和距離連接(distance join)。匯總連接是指將源圖層的數值屬性進行匯總(例如取平均值、求和、最小值、最大值、標準差、方差)后再將結果添加到目標圖層中。距離連接是從源圖層所有要素中尋找一個距離目標圖層中的匹配對象最近的要素,然后將它的屬性及距離值(為二要素之間的距離)添加到目標圖層中。例如,我們可以將地理位置編碼的犯罪數據(源圖層)與普查小區(目標圖層)進行空間連接,從而得到按普查小區匯總的犯罪數,這就匯總連接;我們也可以將公交站點圖層(源圖層)與普

32、查街區重心的點圖層(目標圖層)進行空間連接,從而得到距離每個普查街區最近的公交站點,這就是距離連接。不同空間要素之間的連接方式多種多樣(Price, 2004: 287-288)。表1.2是ArcGIS中各種空間連接的小結。與屬性連接類似的是,空間連接是在ArcMap中實現:右鍵單擊源圖層 > 選擇Joins and Relates > Join。在連接數據對話窗口中,選擇“Join data from another layer based on spatial location”而不是“Join attributes from a table”。后者就是前面已經講述的屬性連接。

33、地圖疊加可以廣義地定義為任何不同圖層改變要素的空間分析。可以用ArcGIS來實現 常用的地圖疊加工具主要有:剪切(Clip)、相交(Intersect)、合并(Union)、緩沖區(Buffer)、多重緩沖區(Multiple Ring Buffer)。剪切是用一個圖層的邊界來截取另一個圖層。相交是取疊加兩圖層的公共部分即交集。合并是取兩個圖層的并集。緩沖區是基于點、線或面狀要素向外擴展一定的緩沖距離形成面狀要素。多重緩沖區是基于多個距離同時生成一系列的緩沖區。在ArcGIS 9.0中,上述地圖疊加工具分散在ArcToolbox > Analysis Tools中的不同位置:剪切在Ext

34、ract工具庫中,相交、合并在Overlay工具庫中,緩沖區、多重緩沖在Proximity工具庫中。本書用到的其他地圖疊加工具包括:刪除(Erase,參見第1.4.2節第3步)、近鄰(Near ,參見第2.3.2節第2步)、點距離(Point Distance,參見第2.3.1節第2步)、邊界合并(Dissolve,參見第4.3.1節第2步)、附加(Append,參加第4.3節)等。有讀者可能已經注意到空間查詢、空間連接及地圖疊加之間的相似之處。事實上,許多空間分析任務可以用這三種方法中的任何一種來實現。表1.3列出了他們之間的區別。空間查詢只是尋找并顯示所需信息,它本身并不創建新的圖層(除非

35、我們將選中的要素輸出成新的文件)。空間連接總是將連接結果保存為一個新的圖層。空間連接與地圖疊加有重要區別。空間連接只是識別輸入圖層空間要素之間的位置關系,它并不改變原來的空間要素,也不創建新的要素。在地圖疊加過程中,一些輸入要素被分割、融合或刪去除以創建一個新的圖層。地圖疊加比空間連接的運算時間長,而空間連接的運算時間又比空間查詢長。121.4案例1B:提取克里夫蘭市的普查小區并進行多邊形鄰接分析本例將用到隨書光盤中的如下數據:1. shapefile文件cuyautm:俄亥俄州庫亞霍加縣的所有普查小區;2. coverage圖層文件clevbnd:俄亥俄州克里夫蘭市的邊界。光盤中的所有cov

36、erage文件都是ArcInfo交換文件格式的(.e00),需要先進行格式轉換:選擇ArcToolbox的Coverage Tools > To Coverage > Import From Interchange File。這里的shapefile文件cuyautm 是案例1A所得結果,但為了方便在光盤中也提供了這個數據,以便讀者可以獨立于案例1A進行下面的操作。Coverage文件clevbnd是從網上下載的。1.4.1提取克里夫蘭市的普查小區13很多情況下,GIS使用者需要從一個較大區域中提取一個較小的研究區。下面我們要做的就是從庫亞霍加縣中提取克里夫蘭市的普查小區。將兩個圖

37、層疊加后發現,clevbnd的邊界跟cuyautm邊緣處的普查小區邊界不完全重合。Cuyautm包含更多的地理細節。雖然二者的邊界不完全一致,但Cuyautm中各普查小區的重心都落在clevbnd邊界之內。我們的目的就是要找到cuyautm圖層中那些落入clevbnd邊界之內的重心,從而提取克里夫蘭普查小區的多邊形圖層。如果我們只是簡單地用clevbnd的邊界來剪切cuyautm,將會丟失一些cuyautm中的地理信息。1. 生成庫亞霍加縣普查小區的重心激活ArcToolbox > 選擇Data Management Tools > Features > Feature To

38、 Point。在彈出的對話框中,選擇cuyautm作為輸入要素,將輸出要素命名為cuya_pt,并選中Inside的選項,于是得到普查小區重心的shapefile文件 cuya_pt。2. 識別區市邊界內的普查小區重心右鍵單擊目標圖層cuya_pt,選擇Joins and Relates > Join。在對話框中,選擇Join data from another layer based on spatial location,設置源圖層(source layer)為clevbnd polygon,連接選項為it falls inside,將輸出結果命名為tmp1。圖1.5為空間連接對話框

39、示意圖。打開tmp1的屬性表可以看到,對于城市邊界之內的普查小區,clevbnd_id = 1,而邊界之外的普查小區,clevbnd_id = 0。143. 將普查小區重心信息添加到多邊形圖層添加cuyautm圖層,右鍵單擊圖層并選擇Joins and Relates > Join > 選擇Join attributes from a table,用tmp1作為源數據表,STFID為連接關鍵詞(目標圖層cuyautm和源圖層tmp1都以此為關鍵詞)。4. 提取市區內的普查小區打開cuyautm 的屬性表> 單擊 Options 標簽 > 選擇Select by Attr

40、ibutes > 設置選擇標準tmp1.clevbnd_id = 1。所有在城市之內的多邊形將被選中并加亮。右鍵單擊圖層cuyautm并選擇 Data > Export Data,需要注意的是,最頂端Export一覽中為Selected features,將輸出結果命名為clevtrt。所得shapefile文件clevtrt為克里夫蘭市的所有普查小區。上面我們用到了空間連接。正如第1.3節中介紹的那樣,我們也可以用空間查詢(Selection by Location),或地圖疊加工具(ArcToolbox > Analysis Tools > Overlay >

41、 Identity)來完成上述任務。例如,用空間查詢的方法為:在主菜單中,點擊Selection > Selection by Location > 使用查詢條件select features from cuyautm that have their center in clevbnd polygon> 將所得結果輸出為clevtrt的shapefile文件。1.4.2識別鄰接多邊形空間分析中,定義多邊形鄰接矩陣是一項非常重要的任務。例如在第九章基于面單元的空間聚類和空間回歸時,我們用鄰接矩陣來定義空間權重,從面分析表征空間自相關。多邊形之間的鄰接包括兩種:(1)R鄰接,也稱

42、邊鄰接,即兩個多邊形有一段共同的邊界;(2)Q鄰接,也稱廣義鄰接,指兩個多邊形有共同點或邊時即為鄰接多邊形(Cliff and Ord, 1973)。對于R鄰接,我們可以用ArcInfo Workstation里面的PALINFO命令來得到多邊形鄰接矩陣。下面的案例分析使用Q鄰接來定義鄰接多邊形,依次來演示第1.3節中介紹的空間分析工具。這里我們以一個普查小區為例,尋找完的鄰接多邊形。與第1.4.1節中第4步類似,從clevtrt圖層中選取TRACTID = 1038 的普查小區,并將其輸出成名為zonei的shapefile文件。下面將基于Q鄰接來尋找zonei的鄰接普查小區。圖1.6顯示了

43、抽樣小區周邊普查小區的TRACTID值。基于Q鄰接,普查小區1038共有6個鄰接普查小區(1026、1028、1029、1035、1036和1039)。如果是基于R鄰接,則普查小區1028將不包括在鄰接小區內。下面是識別zonei的鄰接小區的具體過程。1. 生成緩沖普查小區在ArcToolbox中,選擇Analysis Tools > Proximity > Buffer。以一個較小的距離(如30米)在zonei周邊做一個緩沖區,將結果輸出名為zonei_buff的文件。緩沖區的距離必須大于模糊容差(對于這里的zonei,模糊容差大約為1米),但也要足夠小,以避免超出直接相鄰多邊形

44、的范圍。152. 從研究區中剪切緩沖區在ArcToolbox中,選擇Analysis Tools > Extract > Clip。選擇clevtrt作為輸入要素,zonei_buff作為剪切要素,將輸出結果命名為zonei_clip。3. 提取鄰接多邊形在ArcToolbox中,選擇Analysis Tools > Overlay > Erase。選取zonei_clip作為輸入要素,zonei作為刪除要素,將輸出結果命名為zonejs。所得的shapefile文件zonejs包含了zonei基于Q鄰接的所有鄰接普查小區。圖1.7演示了操作過程。圖層zonei只包含一

45、個普查小區即1038。所得緩沖區zonei_buff只包含一個多邊形(緩沖區里面的普查小區1038在圖1.7里示出來只是為了進行對比)。用緩沖區剪切研究區得到zonei_clip,包括普查小區1038一共七個多邊形。通過刪除操作可以從zonei_clip中去掉原來的普查小區zonei。所得結果zonejs包含6個普查小區(圖1.7中給出了各自的TRACTID值)。生成研究區的多邊形鄰接矩陣需要對所有普查小區循環進行上述操作。我們在光盤中提供了一個AML(Arc Micro Language)程序Queen_Cont.aml來實現這個任務,該程序是基于(沈清1994)的工作開發的。最后,我們可以

46、用ArcCatalog刪除不需要的文件來節省存儲空間,我們主要保留cuyautm、cuya_pt和clevtrt三個文件即可,后續章節中將用到這三個文件。161.5小結總結本章介紹的GIS及空間分析技巧主要包括如下幾點:1. ArcGIS中的空間數據格式及格式轉換;2. 地圖投影及投影變換;3. 屬性數據管理(創建、編輯、刪除數據庫及數據列);4. 屬性連接(包括屬性數據與空間數據的連接);5. 繪制屬性地圖;6. 空間連接;7. 屬性與空間查詢;8. 地圖疊加操作(剪切、緩沖區、相交、合并、刪除)。其他重要的操作還包括:從公共資源中查找空間及屬性數據,計算shapefile文件中多邊形的面積

47、,從多邊形圖層中提取重心來創建一個點圖層。后續章節將用到上述技巧。17本章也介紹了一些基本概念如數據表之間的各種關系(一對一、多對一、一對多、多對多),各種空間連接,空間查詢、空間連接與地圖疊加之間的區別。讀者如果想進行更多的基于GIS的制圖練習,可以下載某個自己熟悉地區的普查數據和TIGER數據,然后繪制該地區的一些人口統計屬性(人口、種族、年齡、性別等)和社會經濟變量(收入、貧困狀況、教育水平、家庭結構、住房屬性等) 。附錄1 用ArcGIS輸入/輸出ASCII文件小的ASCII(文本)格式的數據文件很容易轉換成ArcGIS可以識別的格式。一般來說,我們可以用Microsoft Excel

48、來打開文件,在最頂端添加一行來作為列名,并將其保存為CSV文件(逗號分隔的文本文件)。CSV文件可以用ArcGIS讀取。一個比較大的問題是,按這種方式處理時,沒法控制每列數據的類型及格式。例如,在ASCII文件中,所有普查小區編碼或STFID值看起來都是數值型的(numeric)。從ASCII文件轉換過來的CSV文件自動地定義各列為數值型,從而使它很難與從TIGER文件提取的GIS圖層進行連接,因為在TIGER圖層中,這些列通常定義為字符型(character)。怎樣在ArcGIS 中輸出ASCII 文件呢? 在ArcMap中,我們可以打開一個數據表(可能是空間要素的屬性數據表,也可能是一張獨

49、立的表),選擇Options > Export,將其輸出成dBase格式的表格。然后,我們可以用Microsoft Excel打開dBase文件,再將其保存為ASCII文件。另外一種方法是,使用ArcToolbox > Spatial Statistics Tools > Utilities > Export Feature Attribute to Ascii,將要素坐標及所選屬性值輸出成空格、逗號或分號分隔的ASCII文本文件。但局限的是,我們每次只能輸出一個變量(及其坐標)。Microsoft Access也常常用于屬性數據管理,即輸入、輸出ASCII文件。下面介

50、紹如何用ArcInfo Workstationk來輸入/輸出大型ASCII文本文件。1. 將ASCII文件轉換為INFO文件a. 在ArcCatalog中,打開將用于保存新文件的目錄或工作空間(workspace),選擇File > New > INFO table來創建一個新的INFO文件(比方說可以命名為ninfo),定義所有的列(名稱、數據類型、數據格式)。b. 啟動ArcInfo命令行界面:點擊電腦的開始菜單> 程序 > ArcGIS > ArcInfo Workstation > Arc。輸入w 以切換到相應的工作目錄(例如:w c:Quant_GISproj1),輸入tables以激活TABLES模塊。c. 在TABLES模塊下,輸入select ninfo來選擇剛剛新建的INFO文件。d. 假設tfile是需要轉換的文本文件。輸入add from tfile來添加所有數據。轉換后的數據可以通過list命令來查看。18e. 輸入quit以退出TABLES模塊,再輸入quit以退出ArcInfo Workst

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論