【WRF数据准备】MODIS静态地理数据下载及制备
【WRF数据准备】MODIS静态地理数据下载及制备
- MODIS数据介绍
- 数据下载
- 数据拼接
- MRT工具介绍
- 基于MRT软件完成数据拼接
- 格式转换:tif文件转二进制格式
- 编写INDEX
- 修改GEOGRID.TBL以及namelist.wps
- 修改GEOGRID.TBL
- 修改namelist.wps
- 参考
MODIS数据介绍
MODIS-MCD12Q1 v061
- 时间范围:2001-2022,年尺度数据
- 空间分辨率:500m

数据下载
1、点击【Access Data】,如下:

2、筛选数据
在其中选择对应时间、矩形选择方式并框选所需要的范围(以下示例中国大部分区域) (稍等片刻加载时间选择下载全部)
第一步:选择时间范围

第二步:选择空间范围
网格范围:经度(106 120.58) 纬度(16.626 29.748)
SW:16.626,106
NE:29.748,120.58

确定后,界面如下:

登录账号后,下载数据。

需下载Earthdata Download软件进行数据下载,界面如下:

Earthdata Download中数据下载界面如下:

数据拼接
MRT工具介绍
采用MRT(MODIS Reprojection Tool) 进行数据拼接,MRT软件的下载及安装参见另一博客-【MODIS处理工具】MRT(MODIS Reprojection Tool) 下载及安装。
安装完成后,打开MRT的安装路径文件夹,打开bin文件夹,双击ModisTool.bat或者ModisTool.jar即可进 入MRT的GUI界面:

GUI界面如下:

基于MRT软件完成数据拼接
1、导入并查看数据
点击【Open Input File】,导入下载的hdf文件,如下:

可以使用【View Selected Tile】来查看所下载的数据的大致位置,如果有出现在另一半球可以在此时删掉(最终效果如下,很奇怪,15个文件就是有一个一直没下载好,这会导致后续处理失败,数据拼接要求导入的数据必须得是可以拼接起来的相邻影像):

重新下载了所需的数据,数据范围如下:

2、 设置输出路径、文件格式、重采样方法
1)Specify Output File:设置输出文件路径。
2)Output File Type:设置输出文件的格式,格式有 GEOTIFF、HDFEOS、RAW BINARY三种,常用 GEOTIFF 格式。
3)Resampling Type:设置重采样方法,有最邻近Nearest Neighbor、双线性插值Bilinear、三次卷积Cubic Convolution三种方法

3、设置投影、空间分辨率
1)Output Projection Type中可以选择多种投影方式,大家根据自己的需要来即可。此处笔者选择通用横墨卡托格网系统UTM。在Edit Projection Parameters中可以选择投影分带,如果研究区正好在该分带中,可以在UTM Zone中填入对应带号;若研究区跨度很大,可以不必填写。在Datum中选择WGS84坐标。
2)Output Pixel Size中设置输出影像的空间分辨率,单位是m;在填写分辨率时,最好升尺度,不要降尺度;比如说原影像分辨率为1000m,那可以填1000、5000等等,不要填500、250等小于原分辨率的数值。
其中:波段使用LC_TYPE1,重采样方式为Bilinear,投影类型为Geographic,像素分辨率为0.004991576420597609,投影参数点进去选择WGS84
补充: 在WGS84(地理坐标系)中,分辨率通常以经纬度表示。MCD12Q1产品的原始分辨率是500米,而0.004991576420597609度在赤道附近大约相当于500米的地面距离。

4、选择导出的数据集
本文利用的是MCD12Q1 v061数据,该数据中包含多种数据集。但我若想只提取其中某一数据集该如何做?
1)首先,将在 Selected Bands中的所有数据集通过 “ << ” 符号全部移入 Avaliable Bands 栏中。
2)将所需要的数据集通过 “ >> ” 符号再次导入到 Selected Bands栏中。

5、保存批处理的prm文件
点击Save Parameters file,得到保存的prm文件。prm文件可以应用于后续的批处理。

6、Run运行
点击Run运行,在弹出的窗口中看到Finished processing便表明运行完成啦。可以在所设置的路径中找到处理完成的影像和prm文件。到此,需要处理单次MODIS数据的步骤就完成了。
格式转换:tif文件转二进制格式
生成的TIF使用以下python程序处理成二进制格式,Python代码如下:
import rasterio as ra
from osgeo import gdaltifPath = r"C:/Users/NING\Desktop/modis2017/拼接/pinjie.LC_Type1.tif"
rasterDataset = ra.open(tifPath)xstart = "00001"
ystart = "00001"
xend = str(rasterDataset.width).zfill(5)
yend = str(rasterDataset.height).zfill(5)outputFile = xstart + "-" + xend + "." + ystart + "-" + yenddata = rasterDataset.read(1)[::-1]
data.tofile(r"C:/Users/NING\Desktop/modis2017/拼接/" + outputFile)#INDEX数据提取
def get_tif_info(tif):dataset = gdal.Open(tif)band = dataset.GetRasterBand(1)xsize = band.XSizeysize = band.YSizemaxmin = band.ComputeRasterMinMax()geo = dataset.GetGeoTransform()print('地理变换6元素:', geo)print('栅格矩阵的列数:', xsize, '栅格矩阵的行数:', ysize)print('最小最大值:', maxmin)if __name__ == '__main__':get_tif_info(tifPath)
编写INDEX
以上程序一同生成数据要素:使用GetGeoTransform()输出tiff文件的地理信息六要素。
type=categorical
category_min=1
category_max=21
projection=regular_ll
dx=0.004491576420597609
dy=0.004491576420597609
known_x=1.0
known_y=11130.0
known_lat=60.00009587599426
known_lon=30.462848532138274
wordsize=1
tile_x=33291
tile_y=11130
tile_z=1
units="category"
description="MODIS2017 landuse"
mminlu="MODIFIED_IGBP_MODIS_NOAH"
iswater=17
islake=21
isice=15
isurban=13
各项参数含义:
- type:为文件描述类型
- category_min:分类代码的最小值
- category_max:分类代码的最大值
- projection:投影类型
- dx:横向格点间的间隔,即栅格影像的横向分辨率
- dy:纵向格点间的间隔,即栅格影像的纵向分辨率
- known_x:指定一个标记点的横轴坐标
- known_y:指定一个标记点的纵轴坐标
- known_lat:标记点横向坐标的纬度
- known_lon:标记点纵向坐标的经度
- tile_x:横向格点数
- tile_y:纵向格点数
- units:格点值的单位
- description:文件描述
- iswater:水体类别的编号
- islake:湖泊类别的编号
- isice:冰川类别的编号
- isurban:城市类别的编号
修改GEOGRID.TBL以及namelist.wps
修改GEOGRID.TBL
修改namelist.wps
参考
1、CSDN博客-制作MODIS静态地理数据并在WRF模式中使用
2、CSDN博客-MRT工具下载、安装、批处理MODIS数据
相关文章:
【WRF数据准备】MODIS静态地理数据下载及制备
【WRF数据准备】MODIS静态地理数据下载及制备 MODIS数据介绍数据下载数据拼接MRT工具介绍基于MRT软件完成数据拼接 格式转换:tif文件转二进制格式编写INDEX修改GEOGRID.TBL以及namelist.wps修改GEOGRID.TBL修改namelist.wps 参考 MODIS数据介绍 MODIS-MCD12Q1 v061…...
MySQL数据库——索引
目录 什么是索引(Index)? 怎样加索引? 索引的特点 索引类型 主键索引(Primary Key) 辅助索引(二级索引) 聚集索引和非聚集索引 聚集索引 非聚集索引 单列索引和联合索引 单列索引 联合索引 创…...
【SpringCloud】服务注册/服务发现-Eureka
服务注册/服务发现-Eureka 1. 背景1.1 问题描述1.2 解决思路1.3 什么是注册中⼼1.4 CAP理论1.5 常⻅的注册中⼼ 2. Eureka 介绍3. 搭建Eureka Server 1. 背景 1.1 问题描述 上个章节的例⼦中可以看到, 远程调⽤时, 我们的URL是写死的 String url "http://127.0.0.1:90…...
让你的Github Profile高大时尚!
目录 前言 正文 GitHub Profile 特点: GitHub Actions 核心概念: 应用场景: RSS RSS的主要特点: 使用场景: RSS的工作原理: 关于Github Readme Card 关于Github贡献的3D图 关于个人最新博文的获取 关于代码…...
ElasticSearch备考 -- Multi match
一、题目 索引task有3个字段a、b、c,写一个查询去匹配这三个字段为mom,其中b的字段评分比a、c字段大一倍,将他们的分数相加作为最后的总分数 二、思考 通过题目要求对多个字段进行匹配查询,可以考虑multi match、bool query操作。…...
滚雪球学Oracle[2.5讲]:数据库初始化配置
全文目录: 前言一、配置文件的高级参数设置1.1 open_cursors:游标打开数量限制案例演示 1.2 session_cached_cursors:会话缓存游标数量案例演示 1.3 pga_aggregate_target与sga_target:内存分配优化案例演示 二、内存管理模式的选…...
Java - Spring框架 (ios+aop)
Spring 简介 Spring框架是为了解决企业应用开发的复杂性,使用基本的JavaBean代替EJB,并提供了更多的企业应用功能,Spring是一个轻量级控制反转(IOC)和面向切面(AOP)的容器框架。 Spring优点 Spring是一个开源的免费的框架(容器) Spring是一…...
计算机网络(十) —— IP协议详解,理解运营商和全球网络
目录 一,关于IP 1.1 什么是IP协议 1.2 前置认识 二,IP报头字段详解 三,网段划分 3.1 IP地址的构成 3.2 网段划分 3.3 子网划分 3.4 IP地址不足问题 四,公网IP和私有IP 五,理解运营商和全球网络 六ÿ…...
速速收藏!这些2024年上映的AI电影与短剧,申请加入你的国庆假期宅家计划!
2024年上映的AI电影 01 科幻惊悚电影《致命AI Afraid》 导演:克里斯韦兹上映日期:2024-08-30(美国)片长:84分钟剧情简介:Curtis一家被选中去测试一种革新性的居家设备:数字家庭助手AIA,包括各种感应设备和摄像头等,…...
23.2 prometheus为k8s做的4大适配工作
本节重点介绍 : k8s监控中的4大采集类型总结prometheus为k8s监控做的4大适配工作 k8s关注指标分析 在监控每个细分的领域时,我们都要先思考下到底需要关注哪些方面的指标。k8s中组件复杂,我们主要专注的无外乎四大块指标:容器基础资源指标…...
1、如何查看电脑已经连接上的wifi的密码?
在电脑桌面右下角的如下位置:双击打开查看当前连接上的wifi的名字:ZTE-kfdGYX-5G 按一下键盘上的win R 键, 输入【cmd】 然后,按一下【回车】。 输入netsh wlan show profile ”wifi名称” keyclear : 输入完成后,按一下回车&…...
循环链表和双向链表
一、 带尾指针的循环链表的合并 算法步骤: p存表头结点——pTa->next;Tb表头连接到Ta表尾——Ta->nextTb->next->next;释放Tb表头结点——delate Tb->next;修改指针——Tb->nextp; LinkList Connect(LinkList Ta,LinkList Tb){pTa->next; …...
【Linux庖丁解牛】—Linux基本指令(中)!
🌈个人主页:秋风起,再归来~🔥系列专栏: Linux庖丁解牛 🔖克心守己,律己则安 目录 1、rmdir与rm指令 2、man指令 3、cp指令 4、mv指令 5、cat与tac指令 6、重定向 7、more指令 8、…...
【电路笔记】-运算放大器微分器
运算放大器微分器 文章目录 运算放大器微分器1、概述2、运算放大器微分器的表示2.1 理想微分器2.2 输出公式2.3 交流分析3、实际微分器3.1 理想配置的局限性3.2 带串联电阻的伪微分器3.3 具有并联电容器的伪微分器4、总结1、概述 在我们之前关于积分器运算放大器的文章中,我们…...
【Unity踩坑】使用内购时获取Google Play license key
在Unity中使用了IAP(内购)后,需要设置Google Play license key。 这个key需要在Google Play Console中(https://play.google.com/console),找到相应的应用,在左侧“创收设置”里可以找到license…...
华为OD机试真题-数组拼接-2024年OD统一考试(E卷)
最新华为OD机试考点合集:华为OD机试2024年真题题库(E卷+D卷+C卷)_华为od机试题库-CSDN博客 每一题都含有详细的解题思路和代码注释,精选c++、JAVA、Python三种语言解法。帮助每一位考生轻松、高效刷题。订阅后永久可看,发现新题及时跟新。 题目描述 现在有多组整数数…...
【Android 14源码分析】Activity启动流程-2
忽然有一天,我想要做一件事:去代码中去验证那些曾经被“灌输”的理论。 – 服装…...
ubuntu 18.04 cuda 11.01 gpgpu-sim 裸机编译
1,环境 ubuntu 18.04 x86_64 cuda 11.01 gpgpu-sim master commit 90ec3399763d7c8512cfe7dc193473086c38ca38 2,预备环境 一个比较新的 ubuntu 18.04,为了迎合 cuda 11.01 的版本需求 安装如下软件: sudo apt-get instal…...
【Kubernetes】常见面试题汇总(五十二)
目录 116. K8S 集群服务暴露失败? 117.外网无法访问 K8S 集群提供的服务? 特别说明: 题目 1-68 属于【Kubernetes】的常规概念题,即 “ 汇总(一)~(二十二)” 。 题目 69-…...
o1-preview 在 IMO 2024 第一题的实测表现
相关博客:Learning to Reason with LLMs 以及 Introducing OpenAI o1-preview 测试了 IMO 2024 的第一题,OpenAI-o1-preview 的解题过程包括两部分:思考和推理。 正确答案是全体偶数,o1-preview 的 **思考方向正确,推…...
车间违规操作难监管?AI Box 智能视频监控系统解决方案
干工控这么多年,我最不愿意看到的就是安全事故。每次听到哪个工厂出了安全事故,心里都特别难受。其实很多安全事故都是因为违规操作引起的,比如不戴安全帽、不系安全带、在车间吸烟等等。传统的监控只能事后追溯,不能事前预警&…...
AutoJs6:Android平台终极JavaScript自动化解决方案
AutoJs6:Android平台终极JavaScript自动化解决方案 【免费下载链接】AutoJs6 安卓平台 JavaScript 自动化工具 (Auto.js 二次开发项目) 项目地址: https://gitcode.com/gh_mirrors/au/AutoJs6 你是否曾经想过用JavaScript代码就能控制Android手机完成各种重复…...
重复内容误标率高达37%?NotebookLM检测逻辑漏洞全曝光,立即修复这6个隐藏开关
更多请点击: https://intelliparadigm.com 第一章:重复内容误标率高达37%?NotebookLM检测逻辑漏洞全曝光,立即修复这6个隐藏开关 NotebookLM 的“重复内容检测”功能并非基于端到端语义比对,而是依赖于分块哈希&#…...
OpenUPM安全最佳实践:保护你的Unity包注册表完全指南 [特殊字符]
OpenUPM安全最佳实践:保护你的Unity包注册表完全指南 🔒 【免费下载链接】openupm OpenUPM - Open Source Unity Package Registry (UPM) 项目地址: https://gitcode.com/gh_mirrors/op/openupm OpenUPM作为开源Unity包管理器(UPM&…...
出库篇:仓库里的货往哪去?——WMS出库方式全解析,物流新人必读
仓库里的货往哪去?——WMS出库方式全解析,物流新人必读 摘要:货品有进必有出。上一期我们聊了WMS中货品的四大来源(采购、生产、退货、调拨入库),这一期我们来看看货品是怎么“出”去的——销售出库、采购退…...
开源硬件性能遥测工具openclaw_telemetry:从数据采集到可视化实战
1. 项目概述:从开源遥测数据中洞察硬件性能在硬件开发和性能调优的领域,数据是驱动决策的基石。我们常常需要实时监控CPU、GPU、内存、温度、功耗等一系列关键指标,以评估系统稳定性、定位性能瓶颈或验证优化效果。然而,构建一套稳…...
NotebookLM生物技术研究落地难?92%实验室尚未启用的3个隐藏功能(内部白皮书首次公开)
更多请点击: https://intelliparadigm.com 第一章:NotebookLM生物技术研究落地难?92%实验室尚未启用的3个隐藏功能(内部白皮书首次公开) NotebookLM 作为 Google 推出的实验性 AI 助手,其在生物技术领域的…...
基于Arduino Yun的DIY无线安防摄像头:运动检测、云端同步与实时流媒体
1. 项目概述与核心价值 手头有个闲置的Arduino Yun和USB摄像头,一直琢磨着怎么把它们利用起来,做个有点意思的东西。市面上那些无线监控摄像头功能是挺全,但总觉得少了点“掌控感”,数据存在哪里、怎么访问,都得听厂家…...
基于MCP协议构建AI与MongoDB数据交互的标准化桥梁
1. 项目概述:一个为AI应用注入数据库灵魂的MCP服务器如果你正在开发基于大语言模型(LLM)的AI应用,比如一个智能客服、一个文档分析助手,或者一个能帮你从海量数据中提炼洞察的智能体,你可能会遇到一个核心痛…...
基于ARM嵌入式平台与AI视觉的输电线路智能巡检系统设计与实现
1. 项目概述:输电线路巡检的智能化转型 输电线路作为电力系统的“大动脉”,其安全稳定运行至关重要。传统的线路巡检主要依赖人工,巡检人员需要跋山涉水,通过望远镜、红外测温仪等设备进行观测和记录。这种方式不仅劳动强度大、效…...
