1. 程式人生 > >【ArcGIS操作】4 空間分析篇

【ArcGIS操作】4 空間分析篇

本內容整理自湯國安、錢柯健、熊禮陽等教授編著的《地理資訊系統 基礎實驗操作100例》。感謝!

  • 柵格計算器計算nodata柵格資料最後結果依然是nodata。例如兩條柵格線段進行相加結果只有兩條線段的交點。

文章目錄

1、多圖層疊加查詢

基於位置的查詢是進行多圖層疊加分析的常用功能,突出了地理資料最關鍵的屬性——位置。

按位置查詢 目標圖層 源圖層 空間選擇方法 例項
需要匯出資料選擇的圖層 標識匯出哪些資料的圖層 在這裡插入圖片描述 查詢河流經過的網格,目標圖層為河流,源圖層為網格,選擇方法為“與源圖層要素相交”

2、土地利用變化分析

查詢並匯出土地利用變化的資料。

序號 步驟 工具 位置 輸入要素 輸出要素 引數設定 備註
1 執行標識操作 標識 【分析工具】>【疊加分析】>【標識】 兩個土地利用圖層 結果兩個圖層的屬性欄位都會被保留
2 提取土地利用變化區域 按屬性選擇 【屬性表】>【表選項】>【按屬性選擇】 1_ID<>2_ID 匯出所選要素

3、建立閉合線內部緩衝區

首先要將線的方向進行符號化,確定緩衝區側方向的引數

序號 步驟 工具 位置 輸入要素 輸出要素 引數設定 備註
1 符號化線的方向 符號選擇器 選擇“Arrow at end”符號 線的方向為順時針,則線內部緩衝區範圍在沿線方向的右側
2 建立內部緩衝區 緩衝區 【分析工具】>【鄰域分析】>【緩衝區】 line buffer 側型別選擇“RIGHT”或“LEFT”,末端型別選擇“FLAT”
3 將線要素轉為面要素 要素轉面 【資料管理工具】>【要素】>【要素轉面】 line polygon
4 裁剪緩衝區 裁剪 【分析工具】>【提取】>【裁剪】 buffer buffer_clip 裁剪要素為“polygon”

4、災害影響緩衝區分析

將受災範圍緩衝區資料屬性賦予道路資料進行符號化得出不同影響級別的道路資料。

序號 步驟 工具 輸入要素 輸出要素 引數設定 備註
1 計算潛在影響範圍資料 多環緩衝區 災害範圍資料 buffer 若實際操作的資料具有座標系單位,請務必選擇該座標系下的距離單位
2 疊加分析各影響區內的道路 標識 受災害影響的道路資料 buffer_affect 標識要素為“buffer”
3 符號化顯示不同影響下的道路 符號系統>類別

5、氣體擴散空間分析

開敞空間:建築物以外的空間,即道路、綠地等。
密閉空間:建築物內部。

序號 步驟 工具 輸入要素 輸出要素 引數設定 備註
1 符號化顯示土地利用 符號系統>類別>唯一值 landuse
2 計算擴散範圍 緩衝區 氣體洩漏地點spot affected 距離設為300米
3 提取密閉空間建築物 按屬性選擇 TYPE=Building
4 提取開敞區域 擦除 affected open 擦除要素設為土地利用型別資料landuse
5 j計算開敞空間面積 新增欄位、計算幾何

6、按網格統計點要素

空間點分佈分析中應用樣方分析方法時需要用到。

序號 步驟 工具 輸入要素 輸出要素 引數設定 備註
1 建立公里網格統計單元 建立魚網 grid 行數和列數根據模板範圍和像元寬度高度計算得到
2 格網統計 連線資料,另一個基於空間位置的圖層的連線資料 statistic 連線資料為點資料,彙總屬性為總和
3 製作使用者登陸人數的空間分佈圖 符號系統,唯一值 值欄位為“count_”個數,新增所有值

7、按要素分割槽統計路網

標識得到被省份分割槽所標識的公路資料,同一公路資料在邊界處被分割。(向量格式分割槽圖層)

序號 步驟 工具 輸入要素 輸出要素 引數設定 備註
1 標識公路資料 標識 roads marked_line 標識要素為province 得到被省份分割槽所標識的公路資料,同一公路資料在邊界處被分割
2 計算公路長度 屬性表、新增欄位、計算幾何
3 統計各省公路長度 彙總 彙總欄位“PROVINCE”,統計欄位“road_len”,彙總屬性“總和”
4 繪製統計直方圖 檢視

8、按柵格分割槽統計路網

歐氏距離求柵格資料分割槽,再轉向量。(柵格格式分割槽圖層)

序號 步驟 工具 輸入要素 輸出要素 引數設定 備註
1 建立直線距離分割槽 歐氏距離 market點資料 region_raster 處理範圍與道路網資料road一樣
2 柵格資料轉向量面柵格轉面 region_raster region 欄位“VALUE”
3 標識道路資料 標識 road marked_road 標識要素“region”
4 統計各分割槽道路總長度 彙總

9、分割槽統計降雨量

分割槽統計柵格結果以表格形式顯示。

序號 步驟 工具 輸入要素 輸出要素 引數設定 備註
1 匯入取樣點資料 新增XY資料、匯出資料 rainfall.txt points
2 生成全區降雨量資料 反距離權重法 points rainfall z值欄位“P”
3 統計各管理區降雨量總量 分割槽統計 zone sun_P 區域欄位“index”,輸入賦值柵格“rainfall”,統計型別“SUM”
4 統計降雨量總量表格 以表格顯示分割槽統計(區域分析) zone t_sum_P 區域欄位“index”,輸入賦值柵格“rainfall”
5 繪製統計直方圖 建立檢視

10、隨機取樣統計

通過建立隨機分佈的統計圓對各圓形範圍內的空間資料計算統計指標。

序號 步驟 工具 輸入要素 輸出要素 引數設定 備註
1 建立隨機分佈點 建立隨機點(資料管理工具>取樣) sample_pts 約束範圍、點數、最小允許距離
2 建立統計圓單元 緩衝區 sample_pts circles 融合型別為“NONE”
3 以圓為單元統計高程值 以表格顯示分割槽統計(區域分析) circles 表statistics 區域欄位為“FID”,統計型別為“ALL”,輸入賦值柵格
4 將統計結果表連線至統計圓圖層 連線(表的連線屬性)
5 符號化統計圓 符號系統>類別>唯一值

11、建立最小邊界幾何

最小邊界幾何時常被用來確定當前分析物件在空間上的最小佔據範圍。

序號 步驟 工具 輸入要素 輸出要素 引數設定 備註
1 符號化顯示點群 符號系統>類別>唯一值 points
2 提取最小邊界幾何資料 最小邊界幾何(資料管理工具>要素) points area_min 幾何型別為“PECTANGLE_BY_AREA”,選項組為“LIST”,分組欄位為“TYPE” 幾何型別還有寬度最小矩形、最小凸多邊形、最小圓形、包絡矩形

12、聚集點空間特徵分析

聚集點中心位置、在X、Y方向上的標準差、聚集點趨勢方向。

序號 步驟 工具 輸入要素 輸出要素 引數設定 備註
1 符號化顯示分類的點資料 符號系統>類別>唯一值 point
2 計算空間分佈特徵 方向分佈(空間統計工具>度量地理分佈) point circle
3 檢視空間分佈特徵值 開啟屬性表 聚集點中心座標(CenterX、CenterY)、在XY方向上的標準差距離值(XStdDist、YStdDist)、聚集點趨勢方向(旋轉)(趨勢方向的起始方向為正北)

13、查詢點集中最近最遠點

點集中距離最近、最遠的點對。

序號 步驟 工具 輸入要素 輸出要素 引數設定 備註
1 計算點距離 點距離(鄰域分析) points distance 鄰近要素也為“points” 計算結果忽略點與自身
2 查詢最近、最遠的點對 升序排列、降序排列(屬性表,右擊distance欄位)

14、查詢面到直線的最近點位置

以面要素的各個節點作為分析物件,求算各節點到直線的最近距離,實現面要素與直線的距離計算。

序號 步驟 工具 輸入要素 輸出要素 引數設定 備註
1 面要素轉折點 要素折點轉點 area vertices 點型別“ALL”
2 計算折點與線的最近距離 鄰近分析 vertices 鄰近要素為“line” 折點屬性表內記錄折點到線的最近距離
3 查詢各面要素折點距離直線的最近距離 彙總 vertices nearest id欄位記錄折點所屬的面要素
4 確定各面要素的最近點位置 連線(表的屬性連線) 連線選擇為“僅保留匹配記錄”

15、建立線要素間的最近垂線

先將線要素轉為點要素,舊山最近垂線位置,並將垂線生成線要素

序號 步驟 工具 輸入要素 輸出要素 引數設定 備註
1 線要素轉折點要素 要素折點轉點(資料管理工具>要素) road point 點型別為“ALL”
2 近鄰分析 近鄰分析(分析工具>鄰域分析) point 鄰近要素“Line”,勾選“位置” 勾選位置後,line圖層距離點圖層最近距離和最近距離位置會被記錄到點要素屬性表中
3 新增折點座標 新增XY座標 point 折點要素的座標值被寫入其屬性表中
4 建立近鄰分析結果的連線要素 XY轉線 point xyline
5 建立最近垂線要素 升序排列 point nearline 依據NEAR_DIST欄位升序排列,選擇兩個距離最近的點要素,重複步驟4即可得到最近垂線要素

16、向量面重疊分析

在同一圖層根據重疊區域來構建重疊要素之間的聯絡。

序號 步驟 工具 輸入要素 輸出要素 引數設定 備註
1 提取重疊區域資料 要素轉面 circles overlay 該工具將發生重疊區域生成心得面圖形
2 傳遞屬性資訊 空間連線(分析工具>疊加分析) results 目標要素“overlay”,連線要素“circles”,連線操作“JOIN_ONE_TO_MANY”,匹配型別“WITHIN”
3 分析發生重疊的圖形關係 開啟results屬性表,檢視欄位“TARGET_FID”,相同欄位表明有重疊發生,發生重疊的圓圖形ID值就是欄位“JOIN_FID”中所列出來的值

17、計算矩形方向

矩形要素具有長軸和短軸,其長軸方向也稱為矩形面的主角度,可用於確定面要素的走向趨勢。

序號 步驟 工具 輸入要素 輸出要素 引數設定 備註
1 建立角度欄位 新增欄位Direction
2 計算矩形長軸方向 計算面的主角度(製圖工具>製圖優化) rectangles 正東為0°,順時針為負,逆時針為正

18、按距離分配空間

常規的泰森多邊形演算法按照距離對點物件進行等權重空間分配,其分配結果往往對整個區域進行分配,而每個點要素受其自身條件的限制,其分配區域存在一定範圍,需要藉助緩衝區進行限定。

序號 步驟 工具 輸入要素 輸出要素 引數設定 備註
1 全域性分配空間 建立泰森多邊形(分析工具>鄰域分析) points Thiessen 輸出欄位為“ONLY_FID”
2 提取緩衝區 緩衝區 points buffer
3 裁剪條件分割槽 裁剪 Thiessen regions 裁剪要素“buffer”

19、建立面要素的Voronoi

建立面要素泰森多邊形的方法,以節點要素替代面要素進行空間分配,通過融合同一面域的分割槽實現面要素的距離分配。

序號 步驟 工具 輸入要素 輸出要素 引數設定 備註
1 提取面要素邊界折點 要素折點轉點 buildings vertices
2 對節點進行空間分配 建立泰森多邊形 vertices voronoi 輸出欄位“ONLY_FID”
3 生成面要素的空間分配結果 更新 voronoi results 更新要素“buildings”,取消勾選邊框

20、建立點、線、面要素混合的Voronoi

線要素通過合併得到結果,面要素通過更新得到結果。

序號 步驟 工具 輸入要素 輸出要素 引數設定 備註
1 提取線要素和麵要素折點 要素折點轉點 roads、buildings roads_pts、buildings_pts
2 合併點、線、面要素的折點 合併(資料管理工具>常規) tower、roads_pts、buildings_pts pts
3 對摺點進行空間分配 建立泰森多邊形 pts voronoi
4 選擇線要素的空間分配結果 按位置選擇 目標圖層“voronoi”,源圖層“roads”,選擇方法“與源圖層要素相交”
5 生成線要素的空間分配結果 合併(編輯器)
6 生成最終的空間分配結果 更新 voronoi results 更新要素“buildings”,取消勾選“邊框”

21、柵格歐式分配

柵格資料距離分配直接用歐式分配得到,要注意處理範圍和像元大小的設定。

序號 步驟 工具 輸入要素 輸出要素 引數設定 備註
1 對點要素進行空間分配歐式分配 tower region_pt 源欄位“FID”,處理範圍根據實際情況設定,此處與“road”一樣
2 對線要素進行空間分配 歐式分配 road region_line 源欄位“FID”,處理範圍根據實際情況設定,此處與“road”一樣,像元大小與“region_pt”一樣 像元大小設定一樣,保證每個圖層結果的柵格資料像元大小相同
3 對面要素進行空間分配歐式分配 buildings region_plg 源欄位“FID”,處理範圍與“road”一樣,像元大小與“region_pt”一樣

22、以圖形與表格構建趨勢面

連線僅是臨時操作,連線入的資料不會永久儲存在樣點圖層中,一旦移除圖層後,該連線自動斷開,需要建立新欄位將所需欄位值儲存在樣點圖層中。

序號 步驟 工具 輸入要素 輸出要素 引數設定 備註
1 載入excel表格資料 新增資料 frequency.xls中pts$表格(取樣點的資料記錄)
2 連線表格 連線 pts(用於構建趨勢面的點要素)、pts$(表格) 保證具有相同欄位以連線
3 建立欄位並儲存欄位值 新增欄位 pts 新增“frequency”欄位,型別“短整型”,右鍵“pts.frequency”選擇欄位計算器輸入“pts$.prequency” 由於連線僅是臨時操作,連線入的資料不會永久儲存在樣點圖層中,一旦移除圖層後,該連線自動斷開,需要建立新欄位將所需欄位值儲存在樣點圖層中
4 建立空間趨勢面數據 反距離權重法 pts idw z值欄位“pts.prequency”,輸出像元大小“5”,環境處理範圍“與圖層forest相同”(forest:趨勢面範圍資料)
5 裁剪出林地範圍內資料 按掩膜提取(提取分析) idw inside_idw 輸入柵格資料或要素掩膜資料“forest”
6 自然裂點法顯示 符號系統>類別>分類>自然斷點法10類

23、插值模型的精度分析

訓練點集用於插值表面的生成,檢驗點集用於計算插值誤差。

序號 步驟 工具 輸入要素 輸出要素 引數設定 備註
1 抽取取樣點 子集要素(Geostatistical Analyst工具>工具) points 輸出訓練要素類“train”,輸出測試要素類“test” 訓練要素子集大小“70”,子集大小單位“PERCENTAGE_OF_INUT”或“ABSOLUTE_VALUE” 得到30%的檢驗點集
2 計算插值表面 樣條函式法 train spline z值欄位為點集屬性表中的“value”欄位
3 提取趨勢面值 多值提取至點(Spatial Analyst工具>提取分析) test、spline 將檢驗點處的趨勢面值記錄到該點選屬性表中
4 計算插值與真值的絕對差 新增欄位 test 右鍵test圖層開啟屬性表新增Diff欄位,計算欄位值“Abs([value]-[spline])”
5 計算誤差精度的各項統計引數 新增欄位 test statistics.dbf 右鍵test圖層開啟屬性表新增ID欄位,預設值均為0,彙總Diff欄位的最小值、最大值、平均、總和、標準差和方差等統計指標

24、計算柵格圖層總和值

柵格資料具有特殊的資料結構,其屬性值與柵格像元同步儲存,無獨立的屬性表。建立柵格整個範圍,賦予柵格資料值,利用分割槽統計得到柵格資料總和。

序號 步驟 工具 輸入要素 輸出要素 引數設定 備註
1 檢視預設統計引數 屬性表>源>柵格資訊和統計值
2 建立統計區域 柵格計算器 dem region “dem”>0 得到整個柵格範圍圖層
3 統計柵格區域值的總和 分割槽統計(區域分析) region、dem sum 統計型別“SUM”

25、平滑處理柵格資料

噪聲是屬性值具有突躍特徵的像元位置,直接對帶有噪聲的柵格資料進行分析會對結果造成較大的影響。降噪的主要方法之一是平滑,包括均值平滑、中值平滑等。

序號 步驟 工具 輸入要素 輸出要素 引數設定 備註
1 檢視當前柵格資料屬性 圖層屬性>源
2 平滑處理 焦點統計 統計型別“MEAN”

26、建立地形剖面圖

地形高程、氣溫變化。

序號 步驟 工具 輸入要素 輸出要素 引數設定 備註
1 新增三維分析工具條 3D Analyst
2 設定剖面圖相關引數 3D Analyst選項 圖形資料、插值(插值方法、剖面取樣方法)
3 繪製剖面線 線插值
4 生成剖面圖 建立剖面圖 先選中剖面線,再建立剖面圖。同時由該剖面線取樣、插值生成的取樣點資料被儲存到3D Analyst選項設定的圖形資料位置中。

27、計算河道方向坡度

提取河網上各處的高程值是計算河道方向坡度值的前提。

序號 步驟 工具 輸入要素 輸出要素 引數設定 備註
1 柵格化河道資料 折線轉柵格 rivers str 值欄位“ORID_CODE”,像元大小“與dem相同” 河道柵格值由DRID_CODE欄位決定,即等於1,河道柵格值為1,非河道為NoData
2 提取河道高程值 柵格計算器 str_dem “str”*“dem” 河道柵格值為高程值,非河道為NoData
3 計算坡度資料 坡度 str_dem str_slope 由於僅河道柵格有值,非河道柵格值為NoData。計算坡度時,NoData不參與計算,所以結果坡度為河道方向上的坡度值

28、計算上游集水區汙染值

水文分析分水嶺傾瀉點資料設為監測點資料。

序號 步驟 工具 輸入要素 輸出要素 引數設定 備註
1 填窪處理 填窪 dem fill
2 計算流向 流向 fill dir
3 計算上游集水區 分水嶺 dir、position(監測點資料) watershed 傾瀉點欄位“ID” 根據流向獲得的上游集水區範圍資料,限定了該點受上游汙染影響的範圍
4 統計上游集水區內汙染值總和 分割槽統計 watershed affect 區域欄位“VALUE”,輸入賦值柵格“pollution”(汙染物分佈柵格資料),統計型別“SUM” affect柵格資料的值均為某個值,即該監測點上游集水區內汙染值總和

29、三維爆炸分析

3d相交、按位置選擇。

序號 步驟 工具 輸入要素 輸出要素 引數設定 備註
1 創造爆炸點三維資料 ArcScene、依據屬性實現要素轉3D(3D Analyst工具>3D要素) views(爆炸點資料) viewsd
2 三維符號化爆炸的影響範圍(建立半徑為100m球體符號) 符號系統>符號選擇器>編輯符號>符號屬性編輯器 型別“3D簡單標記符號”,樣式“球體”,寬度深度均為“100”(單位一致) 顯示透明度“50%”
3 創造爆炸範圍體資料 3D圖層轉要素類 已符號化的viewsd explosion
4 提取爆炸直接影響的建築體資料 3D相交 explosion、buildings_3d buildings_affected
5 提取受爆炸影響的建築物 按位置選擇 目標圖層“buildings_3d”,源圖層“buildings_affected”,空間選擇方法“目標圖層要素與源圖層要素相交(3d)”

30、三維視覺化分析

相交線段屬性表中的LINE_OID欄位對應原始視線的ID值,若LINE_OID欄位同一值的個數大於1,則表明原始視線被建築體分割成線段。

序號 步驟 工具 輸入要素 輸出要素 引數設定 備註
1 構造視點與道路的視線集 構造通視線 視點分析“view_point(向量觀測點資料)”,目標要素“road” sights
2 視線與建築體的相交處理 3D線與多面體相交 sights、CityModel(三維建築體資料) int_pt、int_line 連線屬性“ALL”
3 依據可通視性劃分視線集彙總 int_line table 右擊LINE_OID欄位 相交線段屬性表中的LINE_OID欄位對應原始視線的ID值,若LINE_OID欄位同一值的個數大於1,則表明原始視線被建築體分割成線段
4 計算可見程度 按屬性選擇 table Cnt_LINE_O=1 按屬性選擇的視線總數除以視線總數值為可見程度百分比