前言:(個人建議)
1.進行數據處理工作,由於通常數據量比較大。所以在個人電腦中,要將基礎數據、不斷增長的過程數據、結果數據等分門別類,使得簡單易找。
2.將重要數據備份,因為在數據處理過程中,由於出錯使重要數據損失,勿讓重要數據成絕版。所以生成或保存壓縮文件是很好的選擇。
3.當數據量大,需要進行批量處理時。模板文檔或代碼要杜絕出現細節錯誤。容易一鍋端,費時間且低效率。
處理工具:ArcMap
處理數據:MOD13Q1的NDVI成品(.tif)文件
研究區矢量文件(以河南省省界為例)
處理流程:
1.導入研究區矢量文件(做空心處理)
2.將.tif文件導入ArcMap中(可以多導,以電腦承受能力為主)。
是否構建金字塔:是
3.批量定義投影(MRT進行批處理時已做過,但雙保險且該步簡單)(ArcMap有很多單次或多批次投影方法,本文只介紹一種)
雙擊圖層
點擊坐標系
點擊投影坐標系
點擊UTM
點擊WGS1984
北半球選北
本文采用WGS 1984 UTM ZONE 49N。
點擊應用,再點擊確定。(如果有常用的坐標,右擊點擊坐標選擇收藏到文件夾)
4.按掩膜提取(裁剪也行,但建議用按掩膜提取)(該步驟只能一個一個處理,Python批處理暫未更新)
單擊ArcToolbox,喚出ArcToolbox,如下圖找到按掩膜提取,雙擊按掩膜提取
點擊確定
為了方便,可以將原始.tif文件移除。結果如下:
該步驟需要代碼的,代碼法如下:
同一掩膜文件,批量裁切:
import arcpy from arcpy import env from arcpy.sa import * #設置環境 arcpy.env.workspace=r"E: FAN InterpolationlKrigO" rasters=arcpy . ListRasters ("*", "GRID")#獲取文件列表 #輸出路徑 outRasterPath="E: EANInterpolationKrigO_ extractlKrigO_ ." for ras in rasters: print outRasterPathtras # Check out any necessary licenses arcpy. CheckOutExtension ("Spatial") # Local variables inRaster ras inMaskData="E : FUJIANModelBoundary.shp" #掩膜文件 outRaster-outRasterPath-ras+".tif" # Process: Extract by Mask arcpy.gp. ExtractByMask_ sa (inRaster, inMaskData, outRaster) print ("OK")
5.排除值(排除柵格中-3000至0的值)
雙擊.tif文件或右擊.tif文件,再點擊屬性
點擊符號系統
點擊已分類
點擊分類
點擊排除
輸入-3000-0
點擊應用,再點擊確定(可以看到值已更改)。直到退出
結果如下:
6.值域處理
在下圖中找到 “乘” 並雙擊
(由於MOD13數據集中NDVI的比例系數為0.0001)
結果如下:(NDVI 結果被限定在[-1,1]之間,避免了數據過大或過小給使用帶來的不便)
7.視覺處理
單擊圖標
選擇色帶(可自由選擇,以合適為主)
點擊反向
點擊確定
結果如下:
重點介紹(細節):
該系列步驟截止到現在,所求出的NDVI是地表值NDVI。詳細解釋為:該步驟所求出的NDVI包含地表的耕地、森林、草地、灌木地、濕地、水體等各種土地類型的NDVI(類似於“大鍋燴”)。對不同地類的提取則須做出相對應的土地分類NDV提取和分析(單一地類NDVI提取請詳見該系列后續步驟)。