天天看點

ArcGIS中國地表覆寫資料GlobeLand30預處理(批量投影、拼接、掩膜提取)附成品下載下傳一、GlobeLand30 ArcGIS批處理完整流程二、GlobeLand30成品資料下載下傳

結果示意圖:

ArcGIS中國地表覆寫資料GlobeLand30預處理(批量投影、拼接、掩膜提取)附成品下載下傳一、GlobeLand30 ArcGIS批處理完整流程二、GlobeLand30成品資料下載下傳
GlobeLand30是30米空間分辨率全球地表覆寫資料,目前可供下載下傳的有3年的資料:2000-2010-2020。本文主要講解在ArcGIS10.6平台下進行GlobeLand30的預處理操作,主要預處理步驟包括:

批量分幅投影轉換

批量分幅無效值處理

批量圖幅拼接

資料集掩膜提取

文章目錄

  • 一、GlobeLand30 ArcGIS批處理完整流程
    • 1. 批量投影轉換
    • 2. 批量處理無效值
    • 3. 批量圖幅拼接
    • 4. 添加分類字段并指派
    • 5. 掩膜提取
  • 二、GlobeLand30成品資料下載下傳

一、GlobeLand30 ArcGIS批處理完整流程

GlobeLand30的預處理步驟主要有:

批量分幅投影轉換

批量分幅無效值處理

批量圖幅拼接

資料集掩膜提取

1. 批量投影轉換

由于原資料集使用的是6°帶UTM投影,圖幅從43-53跨了11個帶,是以需要先對所有的圖幅進行投影轉換,然後進行後續操作。為了便于精确計算面積,本文将其轉換為Albers等積投影,地理坐标系為WGS1984。

Python源代碼:

由于原始資料集分幅是儲存在不同的檔案夾,是以第一步批量投影變換需要周遊根目錄下的所有檔案夾,過程稍微有些複雜,從第二步開始,将所有的處理結果儲存在一個檔案夾内,減少了代碼量。

arcpy.ProjectRaster_management(raster,out, "PROJCS['MyAlbers',GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Albers'],PARAMETER['False_Easting',0.0],PARAMETER['False_Northing',0.0],PARAMETER['central_meridian',105.0],PARAMETER['Standard_Parallel_1',25.0],PARAMETER['Standard_Parallel_2',47.0],PARAMETER['latitude_of_origin',0.0],UNIT['Meter',1.0]]", "NEAREST", cellsize , "", "", "GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]]")
                    n=n+1
    print str(n)+" rasters are processed !!!"


           

檢視投影坐标系:

ArcGIS中國地表覆寫資料GlobeLand30預處理(批量投影、拼接、掩膜提取)附成品下載下傳一、GlobeLand30 ArcGIS批處理完整流程二、GlobeLand30成品資料下載下傳

2. 批量處理無效值

第一步投影結束後,影像的黑邊依然存在,這将影像後面的拼接處理結果,黑邊對應的像元值為0,隻需要将其設定為NoData即可,對應的工具是栅格電腦中的SetNull函數,我們繼續使用Python批處理。

Python源碼:

for inRaster in inRasters:
    outRaster=outpath+inRaster
    ##print outRaster
    print "Processing "+inRaster +" ......"
    outSetNull = SetNull(inRaster,inRaster,WhereClause)
    outSetNull.save(outRaster)
    n=n+1
print str(n)+" rasters are processed!"
           

處理過程:

ArcGIS中國地表覆寫資料GlobeLand30預處理(批量投影、拼接、掩膜提取)附成品下載下傳一、GlobeLand30 ArcGIS批處理完整流程二、GlobeLand30成品資料下載下傳

處理結果:

ArcGIS中國地表覆寫資料GlobeLand30預處理(批量投影、拼接、掩膜提取)附成品下載下傳一、GlobeLand30 ArcGIS批處理完整流程二、GlobeLand30成品資料下載下傳

3. 批量圖幅拼接

在ArcGIS中拼接栅格圖幅有兩個工具:【鑲嵌】和【鑲嵌至新栅格】,當然了需要手動添加資料,好在我們的資料在同一個檔案夾下,可以直接全選拖動,當然了,也可以寫Python代碼來完成。

方法一:使用【鑲嵌至新栅格】工具

ArcGIS中國地表覆寫資料GlobeLand30預處理(批量投影、拼接、掩膜提取)附成品下載下傳一、GlobeLand30 ArcGIS批處理完整流程二、GlobeLand30成品資料下載下傳

方法二:Python代碼

處理過程:

ArcGIS中國地表覆寫資料GlobeLand30預處理(批量投影、拼接、掩膜提取)附成品下載下傳一、GlobeLand30 ArcGIS批處理完整流程二、GlobeLand30成品資料下載下傳
需要注意的是,原始資料集是tif格式,且每個圖幅都是有金字塔的,加載和顯示速度都比較快,但是SetNull後會丢失金字塔,加載速度很慢。

4. 添加分類字段并指派

打開屬性表,添加一個文本型字段type,打開編輯器,輸入分類名稱并儲存。

ArcGIS中國地表覆寫資料GlobeLand30預處理(批量投影、拼接、掩膜提取)附成品下載下傳一、GlobeLand30 ArcGIS批處理完整流程二、GlobeLand30成品資料下載下傳

5. 掩膜提取

使用【按掩膜提取】工具,按研究區範圍進行提取。

ArcGIS中國地表覆寫資料GlobeLand30預處理(批量投影、拼接、掩膜提取)附成品下載下傳一、GlobeLand30 ArcGIS批處理完整流程二、GlobeLand30成品資料下載下傳

配色參考值:

ArcGIS中國地表覆寫資料GlobeLand30預處理(批量投影、拼接、掩膜提取)附成品下載下傳一、GlobeLand30 ArcGIS批處理完整流程二、GlobeLand30成品資料下載下傳
注意:拼接後的資料集是有金字塔的,但是使用【按掩膜提取】工具後又會丢失金字塔,必須重新建構金字塔,否則加載速度異常慢。

二、GlobeLand30成品資料下載下傳

請私信原創作者。

————————————————

版權聲明:本文為CSDN部落客「劉一哥GIS」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。

原文連結:https://blog.csdn.net/lucky51222/article/details/112723313

繼續閱讀