GIS Experience (二):ArcGIS實踐操作問題集
目錄
- 1 如何刪除影像黑邊?
- 2 如何給影像設定座標系?
- 3 如何實現柵格影像平面座標與地理座標相互轉換?
- 4 如何進行影像鑲嵌融合?
- 5 如何將文字資料三維網格化?
- 6 如何儲存地統計圖層?
- 7 如何將線段等距分割?
- 8 如何藉助欄位計算器資料處理?
1 如何刪除影像黑邊?
1.1 symbology
只在當前介面隱藏背景值0,實際仍存在
1.2 raster copy
新檔案剔除掉背景值0
2 如何給影像設定座標系?
2.1 catalog屬性修改
2.2 定義投影
3 如何實現柵格影像平面座標與地理座標相互轉換?
1)自定義座標轉換
2)設定轉換引數,不同的方法會需要不同的引數(三引數、七引數)
3)柵格座標轉換
4 如何進行影像鑲嵌融合?
影像鑲嵌融合主要包括Mosaic
、Mosaic To New Raster
以及Create Mosaic Dataset
三種方式,在ArcToolbox->Data Management Tools->Raster->Raster Dataset
目錄下可以看到,另一種建立鑲嵌資料集的方式為Catalog->FileGeodatabase->New->Mosaic Dataset
。此外,基於鑲嵌資料集顯示影像時,將動態讀取資料再顯示,並且在瀏覽鑲嵌資料集後,瀏覽過的區域會建立快取,再次瀏覽時效率很高,因此在處理影像資料量較大時,首選鑲嵌資料集
4.1 Mosaic
和Mosaic 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(!面積!)