【ArcGIS風暴】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+1print str(n)+" rasters are processed !!!"

查看投影坐標系:

在這里插入圖片描述

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. 掩膜提取

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

在這里插入圖片描述
配色參考值:

在這里插入圖片描述

注意:拼接后的數據集是有金字塔的,但是使用【按掩膜提取】工具后又會丟失金字塔,必須重新構建金字塔,否則加載速度異常慢。

二、GlobeLand30成品數據下載

請私信作者。

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

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

相關文章

Asp.Net MVC4入門指南(9):查詢詳細信息和刪除記錄

在本教程中,您將查看自動生成的Details和Delete方法。 查詢詳細信息和刪除記錄 打開Movie控制器并查看Details方法。 ?Code First 使得您可以輕松的使用Find方法來搜索數據。一個重要的安全功能內置到了方法中。方法首先驗證Find方法已經找到了一部電影&#xff0c…

漫畫:什么是架構師?

于是,小灰去向大黃請教 這是有關未來的故事: 從前,有一個趕路的人路過一片工地,看到三個年輕人在工地上搬磚。 于是,他問其中一個人: 于是,他又問了第二個人: 于是,他又問…

Andoroid之BottomNavigationView右上角添加紅點布局和自動跳轉到底部具體第幾個Tab

一、需求 BottomNavigationView右上角添加紅點布局和自動跳轉到底部具體第幾個Tab 我們知道BottomNavigationView是在google material里面的組件 github地址如下: https://github.com/material-components/material-components-android 二、效果圖片爆照 三、BottomNaviga…

FileSystemWatcher監聽文件是否有被修改

作用:監聽文件系統更改通知,并在目錄或目錄中的文件更改時引發事件。 需求:監聽特定文件是否修改,然后做出相應的操作。 方法: ①利用一個線程,一直去查找該指定的文件是否有被修改,如果修改則操…

一、FFmpeg 的初嘗試《FFmpeg 音視頻開發基礎入門到實戰》

學習目標 了解 FFmpeg學習 FFmpeg 工具的下載及環境配置了解 FFmpeg 工具的使用方式了解 FFmpeg play 的使用方法了解 FFmpeg paly 的音量設置、窗口設置、音量設置等設置方法 一、了解 FFmpeg FFmpeg 是一個音視頻處理的工具,通過 FFmpeg 可以對視頻進行旋轉、縮…

快速掌握 ASP.NET 身份認證框架 Identity - 用戶注冊

推薦關注「碼俠江湖」加星標,時刻不忘江湖事這是 ASP.NET Core Identity 系列的第二篇文章,上一篇文章介紹了 Identity 框架的集成,以及一些基礎知識。這篇文章講一講如何在 ASP.NET Core Identity 中實現用戶注冊。點擊上方或后方藍字&#…

Android命令Monkey壓力測試,詳解

支持原創,前半部分來源博客原文:http://blog.csdn.net/huangbiao86/article/details/8490743shell, monkey, system, Android, 文件系統Monkey, 示例, 簡介一、Monkey測試簡介Monkey測試是Android平臺自動化測試的一種手段,通過Monkey程序模擬…

JAVA 排序工具類

提供了以下排序: 冒泡排序選擇排序插入排序希爾排序快速排序歸并排序桶排序堆排序package com.xingej.algorithm.sort;import java.util.ArrayList; import java.util.Collections;/*** 排序工具類* * author erjun 2017年12月13日 上午8:38:22*/public class SortU…

js中null,undefined,false,0,'',[],{}判斷方法

目錄 1.數據類型 2.JSON字符串 3.數字類型 4.非的布爾值 5.與非比較 一、單獨判斷 1.null 2.undefined 3.0 4.“” 5.判斷undefined、null與NaN: 因為獲取到數據的不確定性,常常會導致一些異常情況,使得頁面報錯,往往要兼容這些異…

【GIS風暴】30米分辨率地表覆蓋數據GlobeLand30原始數據集簡介及下載地址

數據集預覽: GlobeLand30是30米空間分辨率全球地表覆蓋數據,目前可供下載使用的有3年的數據:2000-2010-2020,本文主要講述GlobeLand30的官網下載地址和數據集簡介。 數據處理方法、成果數據下載: 【ArcGIS風暴】ArcGI…

Git之解決git stash pop多次產生的文件沖突問題

1、問題 我們用git命令一般拉取線上代碼的時候,本地修改了,我們一般先git stash下,接下來git pull, 然后git stash pop下,但是我新增了文件,沒有添加到本地git(也就是沒有git add file這個新增加的文件),然…

記一次意外

今天嘗試給同一個對象綁定多個事件: document.getElementById("a").οnfοcus function(){ alert("1") }.οnclick function(){ alert("2") } 發現彈出2,改變focus和click的順序后依舊如此&…

一、基礎折線圖詳解《手把手教你 ECharts 數據可視化詳解》

注:本系列教程需要對應 JavaScript 、html、css 基礎,否則將會導致閱讀時困難,本教程將會從 ECharts 的官方示例出發,詳解每一個示例實現,從中學習 ECharts 。 ECharts 官方示例:https://echarts.apache.o…

NLog自定義Target之MQTT

NLog是.Net中最流行的日志記錄開源項目(之一),它靈活、免費、開源官方支持文件、網絡(TCP、UDP)、數據庫、控制臺等輸出社區支持Elastic、Seq等日志平臺輸出實時日志需求在工業物聯網等特定場景下需要實時獲取日志信息工業物聯網領域常用的是mqtt協議那我們就使用NL…

2016-1-27

2019獨角獸企業重金招聘Python工程師標準>>> 1.前端的三大技能:1.1.描述網頁內容html 1.2.描述網頁樣式css 1.3.描述網頁行為js2.html和jsp區別在于靜態和動態..bootsharp是目前比較火爆的css..angular是目前比較火爆的js.3.單點登陸(SSO):登陸一次就可以訪問所有相…

【ArcGIS風暴】ArcGIS生成GlobeLand30土地利用數據集中國區域行列號shp格式對照圖(附shp下載)

效果預覽: 本文主要講述了在ArcGIS中生成GlobeLand中國區域對照行列號的shp格式矢量數據,用途在于將自己的研究區跟行列號矢量圖層直接疊加顯示,快速找出自己所需要的圖幅號,便于快速下載數據。同時為了方便使用,本文提供了對照圖的下載。 文章目錄 1. 創建文件數據庫2. 創…

Android 節操視頻播放器jiecaovideoplayer自定義播放音頻使用:屏蔽全屏按鈕,增加倒計時,當前時間/總時間

一、屏蔽全屏按鈕 找到JCVideoPlayerStandard.java文件中的代碼: private void fixAudio() {if (SrcType.equalsIgnoreCase("Audio")) {//如果是音頻,始終顯示coverImageView//thumbImageView.setVisibility(View.VISIBLE);coverImageView.se…

Android之Dialog提示Unable to add window -- token is not valid; is your activity running?

1、問題 Dialog奔潰提示Unable to add window -- token android.os.BinderProxy@b251dbc is not valid; is your activity running? 2、解決辦法 傳遞context到dialog的時候,要記得先判斷狀態是不是isFinishing或者isDestroyed狀態,這個時候就不要再去show相關的dialog了,…

nagios監控haproxy(借助腳本)

nagios監控haproxy(借助腳本) 修改后的腳本如下(需添加指示燈的狀態) # vi haproxy.sh #!/bin/bash Portnetstat -ntpl | grep haproxy | awk -F[:" "] {print $5} if [ $Port "1080" ];then echo "OK …

一、Qt初嘗試,做一個QT計算器《QT 入門到實戰》

學習目標 了解 qt 的基本信息了解 qt 的下載及安裝了解創建一個基本 qt 項目的流程了解信號與槽通過示例了解信號與槽的設置與編寫了解控件添加的方式了解控件如何使用代碼獲取其文本了解控件如何使用代碼設置其文本使用 connect 自定義信號與槽了解使用樣式修飾控件外觀了解使…