1. 程式人生 > 實用技巧 >GIS Experience (二):ArcGIS實踐操作問題集

GIS Experience (二):ArcGIS實踐操作問題集

目錄

1 如何刪除影像黑邊?

1.1 symbology

只在當前介面隱藏背景值0,實際仍存在

1.2 raster copy

新檔案剔除掉背景值0

2 如何給影像設定座標系?

2.1 catalog屬性修改


2.2 定義投影


3 如何實現柵格影像平面座標與地理座標相互轉換?

1)自定義座標轉換

2)設定轉換引數,不同的方法會需要不同的引數(三引數、七引數)

3)柵格座標轉換

4 如何進行影像鑲嵌融合?

影像鑲嵌融合主要包括MosaicMosaic To New Raster以及Create Mosaic Dataset三種方式,在ArcToolbox->Data Management Tools->Raster->Raster Dataset目錄下可以看到,另一種建立鑲嵌資料集的方式為Catalog->FileGeodatabase->New->Mosaic Dataset。此外,基於鑲嵌資料集顯示影像時,將動態讀取資料再顯示,並且在瀏覽鑲嵌資料集後,瀏覽過的區域會建立快取,再次瀏覽時效率很高,因此在處理影像資料量較大時,首選鑲嵌資料集

4.1 MosaicMosaic To New Raster


1)Mosaic

2)Mosaic To New Raster

4.2 建立鑲嵌資料集

4.2.1 Create Mosaic Dataset

4.2.2 Catalog->FileGeodatabase->New->Mosaic Dataset

1)建立檔案地理資料庫

2)右鍵單擊剛建立的檔案地理資料庫,建立鑲嵌資料集



3)新增影像到柵格資料集

5 如何將文字資料三維網格化?

5.1 建立XY事件

5.2 空間插值


5.3 建立漁網

1)點選建立漁網選項


2)漁網建立結束會生成向量點與向量面兩個圖層

5.4 提取插值柵格到點圖層

5.5 空間連線

1)將5.4生成的點圖層連線到漁網網格單元

2)點選圖層將二維圖層拉伸至三維

3)若高程顯示不明晰,可以更改圖層顯示屬性

5.6 柵格網格化

1)若5.5第二步未拉伸至三維,可先將向量圖層轉換為柵格圖層

2)初始生成的柵格圖層為灰度樣式,將圖層符號化

6 如何儲存地統計圖層?

參考官方幫助文件,地統計圖層與所有 ArcGIS Pro 圖層都相似。可將其新增至地圖、將其移除、對其進行顯示,也可更改符號系統。但是,地統計圖層的建立和儲存方式與其他圖層不同。地統計圖層只能由 Geostatistical Analyst 插值方法建立。大多數型別的圖層均儲存對資料來源的引用、圖層的顯示符號系統以及其他定義特徵。地統計圖層儲存的是建立圖層所用的資料來源、符號系統和其他定義特徵,而且還儲存插值的模型引數。在地統計圖層的“屬性”頁面中,可以檢視原始資料來源和模型引數。

地統計圖層儲存有以下兩種方式:①將地統計圖層儲存為圖層檔案 (.lyrx),這會保留符號系統並可以將其新增到不同的 ArcGIS Pro會話中。圖層檔案並不建立源資料的副本而只是引用源資料;②建立磁碟上資料的永久副本,可將內容匯出為柵格或向量格式。

7 如何將線段等距分割?

利用ArcGIS進行等距分割的方法主要包括編輯器→分割編輯器→更多編輯工具→COGO資料管理工具→要素→在折點/點處分割線三種,具體情況見下文。

7.1 編輯器→分割

1)開啟編輯器,並選擇需要處理的向量線段

2)選擇分割工具
當線段長度可以完全等分時候,選擇分成相等部分即可,但若無法一步到位時候,考慮先將無法等分的部分先截取出來,即按距離先將線段分割為兩個部分,再選擇將可以等分的部分均分。

本次實驗假設需要等分的長度為1億,則將398591357.562先截取出來。


再次將餘下較長的部分進行等距分割。注意:等距分割的線段不能過長,否則可能導致無法執行

7.2 編輯器→更多編輯工具→COGO

1)開啟編輯器,並選擇需要處理的向量線段

2)選擇比例分割
手動輸入需要切割的選段長度。注意:手動輸入勞動強度較大,資料量較小時可採用,若有興趣或可嘗試編寫python指令碼

7.3 資料管理工具→要素→在折點/點處分割線

在折點處分割線在點處分割線對線段進行等距分割都需要事先沿線生成點,不同點在於選擇在折點處分割線需要將通過沿線生成點獲取得到的點轉為線,當分割間隔達到米級時會導致點集轉線生成的線段與實際情況相去甚遠。

備註:沿線生成點需要ArcGIS10.4以上版本才支援

1) 資料管理工具→取樣→沿線生成點
開啟沿線生成點,並設定相關引數。

確保當前向量線段已經退出圖層編輯,不然沿線生成點一定報錯。
2)資料管理工具→要素→在點處分割線

8 如何藉助欄位計算器資料處理?

8.1 切割中文字串

利用arcgis欄位計算器(python)切割中文字串時候,必須先將用到中文字元的位置解碼,再進行切割操作。

'''
需求:將中國銀行(××支行)僅保留中國銀行欄位
!name! [0:(!name!.find("銀行".decode('utf-8'))+2)]

8.2 字串替換

!type!.replace("成都市農村商業銀行".decode('utf-8'),"成都農商銀行".decode('utf-8'))

8.3 生成隨機數

在欄位計算器中,vb指令碼提供了rnd()用於計算隨機數,而python中random被包裝到arcgis.rand(),但需要編寫程式碼塊。備註:不編寫程式碼塊會導致隨機項所有數值完全一樣

def getPopulation():
    return arcgis.rand('Integer 3000 8000') 

getPopulation()

8.4 統計列表重複出現次數

a=[]
def count(x):
   global a
   a.append(x)
   return(L.count(x))

count( !NEAR_FID! )

8.5 根據欄位條件賦值

在生產中經常會遇到根據某一個欄位的屬性給另外欄位賦值的情況,這時候就需要使用if / while判斷。

# 必須考慮到所有條件,否則會報錯
def fz(tj):
 if tj <= 19:
  return '車位'
 else:
  return '空'

fz(!面積!)