【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.mzph.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 自定义信号与槽了解使用样式修饰控件外观了解使…