ArcGIS—基於Python的腳本編程(5)

這篇文章主要介紹基於Python的柵格數據一些處理方法。

目錄


柵格元素類型

  1. 柵格數據集:存儲在磁盤中或者數據庫中,包括TIFF、JPEG、Esri GRID等格式;柵格數據集是沒有柵格分辨率屬性的;
  2. 柵格波段:柵格數據集中的一個圖層,訪問波段可以使用 柵格數據/Band_1 形式;只有柵格波段纔有分辨率屬性。
  3. 柵格目錄:以表格形式定義的柵格數據的集合。(這個我倒是沒有注意過,也不知道具體說的是哪種。待考證。)

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。


–原創文章,轉載必須註明出處–

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章