【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.mzph.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…