【ArcGIS風暴】GlobeLand30全球數據處理教程(批量投影轉換、無效值處理、拼接)

本文講述GlobeLand30全球數據批處理流程,主要步驟包括:批量分幅投影轉換、批量分幅無效值處理、批量圖幅拼接和成品展示。由于圖幅數目和數據量較大,本文是采用Python代碼批量實現的,有關Python的基本操作及處理案例,可以參考實用精品專欄:《ArcGIS遇上Python》

文章目錄

  • 一、數據簡介
  • 二、數據準備
  • 三、處理流程
    • 1. 批量投影轉換
    • 2. 批量處理無效值
    • 3. 批量圖幅拼接
    • 4. 添加分類字段并賦值
    • 5. 創建色彩映射表
    • 6. 導入色彩映射表
  • 四、成品展示


一、數據簡介

  • GlobeLand30是30米空間分辨率全球地表覆蓋數據,目前可供下載使用的有3年的數據:2000-2010-2020。

  • GlobeLand30數據采用WGS-84坐標系。南緯85°-北緯85°之間的區域,投影方式采用UTM投影, 6度分帶,坐標單位為米,坐標不加帶號。南北緯85°-90°之間的區域,投影方式采用極地方位投影,投影面切于地球南北極點。

二、數據準備

下載3年(2000-2010-2020)數據,分別解壓到對應的文件夾內。

在這里插入圖片描述

三、處理流程

1. 批量投影轉換

GlobeLand30數據采用WGS-84坐標系。

南緯85°-北緯85°之間的區域,投影方式采用UTM投影, 6度分帶,坐標單位為米,坐標不加帶號。

南北緯85°-90°之間的區域,投影方式采用極地方位投影,投影面切于地球南北極點。

因此需要先對所有的圖幅進行投影轉換,然后進行后續拼接等操作。本文將其轉換為地理坐標系為WGS1984。

Python批處理核心代碼:

def GetRaster(path):n=0if (os.path.exists(path)):files = os.listdir(path)for file in files:m = os.path.join(path,file)if (os.path.isdir(m)):h=os.path.split(m)ws=root+"/"+h[1]arcpy.env.workspace = wsrasters = arcpy.ListRasters("*", "tif")for raster in rasters:print "Finding  "+ rasterprint "Projecting "+rasterout=outPath+"/"+rasterarcpy.ProjectRaster_management(raster,out, projecttype, "NEAREST",cellsize , "", "",geogratype)n=n+1print str(n)+" rasters are processed !!!"
GetRaster(root)

ArcGIS Python支持多線程處理,3年數據可以同步進行批處理。。。。

由于圖幅數目和數據量均較大,該過程將持續很長的時間,可能是幾個小時或者幾天,因此呢,如果你沒有足夠強大的機器和心臟,建議不要輕易嘗試。

2000年:

在這里插入圖片描述
2010年:

在這里插入圖片描述
2020年:

在這里插入圖片描述

北半球投影結果:

在這里插入圖片描述

局部圖幅展示:

在這里插入圖片描述
投影轉換后的各個圖幅,坐標系為WGS 1984。

在這里插入圖片描述

2. 批量處理無效值

第一步投影結束后,影像的黑邊依然存在,這將影像后面的拼接處理結果,經過查詢得知,黑邊對應的像元值為0,只需要將其設置為NoData即可,對應的工具是柵格計算器中的SetNull函數,我們繼續使用Python批處理。

在這里插入圖片描述
Python自動批處理核心代碼:

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

在這里插入圖片描述

3. 批量圖幅拼接

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

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

在這里插入圖片描述

方法二:Python代碼

 arcpy.MosaicToNewRaster_management(str, outPath, outName, "", "8_BIT_UNSIGNED", "", "1", "LAST", "FIRST")

需要注意的是,原始數據集是tif格式,且每個圖幅都是有金字塔的,加載和顯示速度都比較快,但是SetNull后會丟失金字塔,加載速度很慢。

4. 添加分類字段并賦值

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

在這里插入圖片描述
分類賦值參照表:

在這里插入圖片描述在這里插入圖片描述

5. 創建色彩映射表

雙擊2000年數據圖層,打開圖層屬性,切換到【符號系統】,點擊【色彩映射表】→【導出色彩映射表】。

在這里插入圖片描述
選擇存放路徑,并輸入名稱,色彩映射表的后綴名是.clr。

在這里插入圖片描述

6. 導入色彩映射表

有了剛才導出的色彩映射表(GlobeLand30色彩映射表.clr文件),可以快速地對剩余兩年的數據做符號化了,方法是:雙擊2010和2020年數據圖層,打開圖層屬性,切換到【符號系統】,點擊【色彩映射表】→【導入色彩映射表】。

在這里插入圖片描述

四、成品展示

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/285205.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/285205.shtml
英文地址,請注明出處:http://en.pswp.cn/news/285205.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Docker 私有倉庫的搭建

Docker在2015年推出了distribution項目,即Docker Registry 2。相比于old registry,Registry 2使用Go實現,在安全性、性能方面均有大幅改進。Registry設計了全新的Rest API,并且在image存儲格式等方面不再兼容于old Registry。去年…

請查收.NET MAUI 的最新學習資源

點擊上方藍字關注我們(本文閱讀時間:3分鐘)2022 年 5 月 23 日,.NET MAUI 正式發布。.NET MAUI 為您提供了一流的跨平臺 UI 堆棧,面向 Android、iOS、macOS 和 Windows。我們很高興地宣布,有幾種不同的學習 .NET MAUI …

C語言試題151之求 0到7 所能組成的奇數個數。

??個人主頁:個人主頁 ??系列專欄:C語言試題200例 ??推薦一款模擬面試、刷題神器?? 點擊跳轉進入網站 ?作者簡介:大家好,我是碼莎拉蒂,CSDN博客專家(全站排名Top 50),阿里云博客專家、51CTO博客專家、華為云享專家 1、題目 題目:求 0—7 所能組成的奇數個數…

騰訊2016春招之算法編程解析

第一道題:求有刪除情況的最長回文子串 題目: 解題思路: 這個題嚴格意義上來說,刪除了字符就談不上回文串了,既然有刪除,那估計考察的不是回文串,而是其他的,但是這個東西又有回文串的…

Windows下Visual studio 2013 編譯 Audacity

編譯的Audacity版本為2.1.2,由于實在windows下編譯,其源代碼可以從Github上取得 git clone https://github.com/audacity/audacity。 1. 編譯WxWidgets Audacity使用wxWidgets作為GUI的框架,Audacity2.1.2需要wxWidgets 3.0.2,所以…

[轉]解決Android studio升級到3.5的一些問題

最近Android studio升級到最新的3.5以后,出現了很多問題,記錄一下: 1.NDK Resolution Outcome: Project settings: Gradle model version5.4.1, NDK version is UNKNOWN 這個是因為升級到3.5以后,原來的ndk被刪除了,在…

【EPS精品教程】EPS2016三維測圖版安裝教程(附EPS2016安裝包下載地址)

文章目錄 一、安裝過程二、軟件安裝包下載EPS地理信息工作站是北京清華山維新技術開發有限公司歷經十五年精心研發和打造,為滿足“以地理信息服務為中心”的信息化測繪生產需求而推出的測繪生產活動多種業務模塊集成化軟件系統。主要功能有: (1)測繪與地理信息多業務模塊集…

據廖雪峰python3教程----python學習第十三天

在OOP程序設計中,當我們定義一個class的時候,可以從某個現有的class繼承,新的class稱為子類(Subclass),而被繼承的class稱為基類、父類或超類(Base class、Super class)。 編寫一個名…

《增廣賢文》

(《增廣賢文》),并非吾原創。其中人生之道理,今之看來,雖有偏激之處,未嘗不有警醒之用。吾輩取精去糟,察納雅言即可。———————————————————————————————————…

禁錮自己的因素,原來有這么多

2022年的7月,朋友圈都能看到喜慶的時刻,慶祝香港回歸25周年,這確實是一個具有偉大里程碑的意義。同時也是建黨101周年,滿滿的榮譽感,隔著朋友圈都能感受到喜慶。家事國事天下事,事事關心,關心但…

C語言試題152之一個偶數總能表示為兩個素數之和

??個人主頁:個人主頁 ??系列專欄:C語言試題200例 ??推薦一款模擬面試、刷題神器?? 點擊跳轉進入網站 ?作者簡介:大家好,我是碼莎拉蒂,CSDN博客專家(全站排名Top 50),阿里云博客專家、51CTO博客專家、華為云享專家 1、題目 題目:一個偶數總能表示為兩個素數…

[轉]Xshell連接win10 Linux子系統

配置SSH服務: sudo apt-get remove --purge openssh-server ## 先刪ssh sudo apt-get install openssh-server ## 在安裝ssh sudo rm /etc/ssh/ssh_config ## 刪配置文件,讓ssh服務自己想辦法鏈接 sudo service ssh --full…

有兩個地方,用到了javabean對象和屬性字符串值之間的轉換

1.有兩個地方,用到了javabean對象和屬性字符串值之間的轉換 2.一個是接入層spring mvc,將json字符串參數轉換為javaBean。通過RequestBody javaBean方式 3.另一個是,mybatis中javeBean對象與數據庫字段值之間的轉換。 在sql語句的insert/upda…

【EPS精品教程】EPS2016三維測圖軟件常用快捷鍵(建議收藏)

EPS2016三維測圖軟件常用快捷鍵(建議收藏) 狀 態鍵盤位置功能名稱功能描述選擇Shift拖點按下鼠標左鍵移動光標,將目標點拖到其他位置C閉合使打開的當前線閉合,閉合的當前線打開X回退一點從當前點回退一點Shift+X回退多點從當前點開始刪除多點(到光標指向點)Ctrl+T刪除刪除當…

記一個并發規則驗證實現

最近在做一個簡單的風控,其中有一塊需求是這樣的,當主請求參數到達后,會根據這些參數,看調起幾個并發規則,這些規則各自有自己的驗證邏輯,每個規則執行時間長短都不確定,當規則 執行完后&#x…

EIGRP個人學習筆記

【理論部分】1、EIGRP的主要特征:①Cisco專有協議(高級dv路由);②支持VLSM; ③觸發、增量更新;---------減少帶寬的占用④支持多層網絡協議ApplleTalk,IP 和 Novell Netware等協議;⑤收斂速度快;----------采用dual算法…

C語言試題153之判斷一個素數能被幾個 9 整除

??個人主頁:個人主頁 ??系列專欄:C語言試題200例 ??推薦一款模擬面試、刷題神器?? 點擊跳轉進入網站 ?作者簡介:大家好,我是碼莎拉蒂,CSDN博客專家(全站排名Top 50),阿里云博客專家、51CTO博客專家、華為云享專家 1、題目 題目:判斷一個素數能被幾個 9 整除…

[轉]Zookeeper入門看這篇就夠了

Zookeeper是什么 官方文檔上這么解釋zookeeper,它是一個分布式服務框架,是Apache Hadoop 的一個子項目,它主要是用來解決分布式應用中經常遇到的一些數據管理問題,如:統一命名服務、狀態同步服務、集群管理、分布式應用…

微服務-springcloud(eureka實踐, nacos實踐)

Spring 體系圖 版本關系 eureka 實踐 1 父工程依賴 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.14</version> </parent> <dependencyManage…