這篇文章主要介紹基於Python的柵格數據一些處理方法。
目錄
柵格元素類型
柵格數據集
:存儲在磁盤中或者數據庫中,包括TIFF、JPEG、Esri GRID等格式;柵格數據集是沒有柵格分辨率屬性的;柵格波段
:柵格數據集中的一個圖層,訪問波段可以使用 柵格數據/Band_1 形式;只有柵格波段纔有分辨率屬性。柵格目錄
:以表格形式定義的柵格數據的集合。(這個我倒是沒有注意過,也不知道具體說的是哪種。待考證。)
2. 柵格數據集的屬性
- 通過arcpy.Desribe()函數來獲取
desc = arcpy.Describe(柵格數據)
- 常用的柵格數據集有以下屬性
desc.dataType //判斷柵格元素的數據類型
desc.bandcount //柵格數據集的波段數
desc.format //柵格數據格式(如TIFF、GRID等)
desc.permanent //柵格數據的狀態(False代表臨時數據,反之則不是)
- 更多的,從describe中還可以獲取height行數、weight列數、meanCellWeight柵格單元在x方向上的值等等(注意:這些都屬於
柵格波段
特有的屬性),就不再一一贅述了,具體要看可以去arcgis的help文檔。
3. 處理柵格對象
- 在arcpy中有專門的柵格類,通常使用
柵格類
來進行柵格數據的處理:
## 通過已有柵格數據創建柵格對象
raster1 = arcpy.Raster(柵格數據完整路徑)
## 通過地理處理語句創建新柵格對象,如Slope方法創建一個新柵格
raster2 = arcpy.sa.Slope(柵格數據)
- 柵格對象只有一個方法:
柵格對象.save(保存的具體完整路徑)
4. ApplyEnvironment函數
ApplyEnvironment函數並不能將所有環境參數都進行設置,僅限於Cell Size, Current Workspace, Mask, Output Coordinate System, Scratch Workspace, Snap Raser這幾個。
## 將柵格對象2的環境設置應用到柵格對象1上
柵格對象1 = ApplyEnvironment(柵格對象2)
5. arcpy.sa中的類
arcpy.sa
是arcgis用於空間分析
中的重要模塊,其中也包含了許多定義柵格工具參數的類。
- 例如,以重分類工具爲例,它的工具爲:
Reclassify(輸入柵格,待重分類字段,remap,其他參數)
## 其中的remap就是Remap類的一個remap對象,具體有兩種:
remap = RemapValue([[舊值1, 新值1], [舊值2, 新值2], [舊值3, 新值3], ...]) //以單個輸入值作爲重分類項
remap = RemapRange([[舊起始值, 舊結束值, 新值], ...]) //以輸入值範圍作爲重分類項
再例如,在焦點統計(Focal Statistics)工具中的鄰域類也很常用。主要有六種類型的鄰域對象:
- NbrSnnulus——指定內、外圓半徑;
- NbrCircle——指定半徑
- …
這裏就不再說了,詳情可見help。
–原創文章,轉載必須註明出處–