【GEE】2、探索数据集
1简介
在本单元中,我们将讨论以下概念:
Google 地球引擎中可用的潜在数据来源。
通过生态示例显示的数据集采样用例。
如何使用 Google 地球引擎访问重要的元数据。
2背景
要将遥感集成到您的研究和分析中,学习如何解析 Google 地球引擎上可用的大量栅格数据集非常重要。了解这些数据的分类方式有助于开始此过程。如果您完全不知道从哪里开始,这里有一个非常有用的资源来细读Google 地球引擎数据目录中可用的一般栅格类别。对 Google 地球引擎中可用的所有栅格执行各种级别的数据清理和图像预处理,但对于本模块,我们将专注于更广泛的探索,为一些示例生态应用程序寻找合适的数据集。更多关于预处理差异和分析的信息可以在模块 5中找到。
2.1数据类别:气候和天气
这些是传达有关温度、降水、蒸散以及其他大气和气象现象的信息的栅格。这些数据集通常用于帮助了解基于适当栖息地的衍生范围的物种或群落的生态位。重要的是要了解其中一些是通过插值方法创建的,该方法估计监测站点之间地理空间中的值,而不是仅提供直接测量值的许多其他栅格。
示例集合:CHIRPS
该数据集包含各种气候层,包括温度和降水,由俄勒冈州立大学的 PRISM 小组开发和监测。当我们试图在景观层面了解一个物种或一组物种的潜在生态位时,对气候因素的空间理解是无价的。

使用 CHIRPS 数据集的 2018 年 5 月中非月降雨总量。
2.2数据类别:影像
在该组中,栅格捕获与被动收集的太阳能有关的景观特征,通常提供有关地面上真实世界元素(包括植物和土壤)的增强信息。需要注意的是,图像栅格通常被分成许多子图像(波段),这些子图像(波段)对应于特定的光波长范围。许多图像数据集用于创建可通过预建集合访问的光谱索引(第8单元中对此进行了更多介绍)。
收集示例:MODIS
MODIS(中分辨率成像光谱仪)程序从两个星载传感器 Aqua 和 Terra 以及两者的组合收集数据。除了表面反射率数据(包括积雪、地表温度、叶面积指数和总初级生产力)之外,Google 地球引擎上还提供了许多衍生的 MODIS 产品。尽管其空间分辨率比其他一些影像数据集更粗糙,但许多 MODIS 产品具有较高的时间分辨率,从而导致时间序列密集。同一地理区域上的图像之间的窗口低至八天。

MODIS 衍生的日本北部北海道岛叶面积指数预测。
2.3数据类别:地球物理
该组中的栅格涵盖范围广泛的地图类型。海拔和地形索引图对于定义物种栖息地的环境限制很有用,而土地覆盖图是方便的、预先打包的图层,可用作分类数据或与您自己生成的图像分类进行比较(更多内容见第7单元)。
示例集合:NED
国家高程数据集 (NED) 是一个高质量的数字高程模型 (DEM),它横跨美国大陆以及阿拉斯加和夏威夷的部分地区。该数据集由来自美国各地的不同高程数据编译而成,并经过编辑以确保一致的空间分辨率、高程单位和坐标系。NED 等高程图像可用于创建地形指数、为洪水模型提供信息或对地貌特征进行分类。
华盛顿和爱达荷州边界上的美国国家高程数据集。
3图像采集探索
现在我们已经了解了我们可以使用的数据集的深度和广度,我们可以花点时间详细探索一个集合。我们将探索 Google Earth Engine 中更独特的可用数据集之一:MODIS Daily Snow Cover 集合。这些数据使我们能够查看一年中任何一天给定像素的积雪百分比。这些数据还可以创建每周、每月和每年的平均值,并已在以前的研究中用于分析和监测积雪深度、积雪范围和融雪。
3.1查找和加载集合
要开始探索 MODIS 积雪数据集,您可以通过以下两种方式之一加载集合。首先,使用搜索栏,开始输入“MYD10A1.006 Aqua Snow Cover Daily Global 500m”。

在搜索栏中输入数据集名称的结果。
如果我们点击数据集的名称,我们会看到一个弹出窗口,其中包含一个“导入”按钮(以红色突出显示)。单击此按钮将自动将数据集加载到脚本工作区中。
单击“导入”按钮(以红色突出显示)将加载 MODIS 积雪集合。
虽然使用导入按钮很方便,但加载数据集的命令实际上并未写入我们的脚本中。导入集合的另一种方法是复制它们的“ImageCollection ID”(在下面突出显示)并将速记名称粘贴到您的脚本中,如下所示:
// Load the image collection.
var dataset = ee.ImageCollection('MODIS/006/MYD10A1');
3.2快速地理搜索
现在我们已经找到并加载了我们的图像集合,运行下面的脚本来快速加载一些示例数据:
// Load the image collection.
var dataset = ee.ImageCollection('MODIS/006/MYD10A1');// Limit the collection date range to 2018.
var dataset = dataset
.filterDate('2018-01-01', '2018-12-31');// Select the snow cover layer and compute the mean.
var snowCover = dataset
.select('NDSI_Snow_Cover')
.mean();// Define the visualization parameters and add the collection to the map.
var snowCoverVis = {min: 0.0, max: 100.0, palette: ['black', '0dffff', '0524ff', 'ffffff']};
Map.addLayer(snowCover, snowCoverVis, 'Snow Cover');
随意放大到各个全球位置,以比较世界不同地区的数据。一个简单的方法就是使用搜索栏。输入“阿留申群岛”或“冰岛”或“尼泊尔”,您将看到潜在地理位置的列表。单击任何名称以自动重定向到该位置。请记住,您的脚本可能包含缩放到特定地理位置的代码。所以要小心重新点击那个运行按钮!
在搜索栏中,输入“尼泊尔”并放大以查看与此类似的图像。
3.3探索集合属性
找到并加载我们的集合后,了解对使用遥感数据感兴趣的生态学家可用的图像集合元数据非常重要。元数据对于我们如何确定给定特定研究系统或感兴趣区域的图像或图像集合的适当性很重要。以下主题讨论了在 Google 地球引擎中图像集合的元数据中发现的一些基本信息。
3.3.1空间分辨率
研究生态过程的最重要方面之一是对规模的理解。在遥感的背景下,这被称为分辨率。具体来说,在栅格数据集中,这是像素大小的基本欧几里德测量值,通常报告为栅格中像素一侧的长度。了解空间分辨率与生态应用的物理规模之间的关系很重要,可以快速帮助您缩小对适当数据集的搜索范围。
要查找我们数据集的空间分辨率,请再次键入数据集名称并单击搜索栏中的结果(即“MYD10A1.006 Aqua Snow Cover Daily Global 500m”)。有时,如果栅格中的所有波段都具有相同的分辨率,则此信息(以及比例单位)将显示在标题下。如果数据集中有多个分辨率,通常会有一个表格指示每个波段的空间分辨率。

MODIS 数据集的空间分辨率,以米为单位。这是一个相对较低的分辨率,更适合区域或全球分析。
3.3.2时间分辨率
在遥感领域,有许多数据集代表了在数天、数月或数年内分析和解释值的机会。时间分辨率是我们描述传感器重访周期的方式。如果一颗卫星有一个既定的轨道模式,我们可以确定预计它经过同一地理位置的日期甚至时间。例如,Landsat 计划在两周内重新访问同一位置,数据采集之间的特定时间分辨率为 16 天。Google Earth Engine 中可用的一些数据集可用于每日测量(即 MODIS),而其他数据集可能是每月(即 WorldClim)。
确定您研究区域中可用/可用图像的日期范围是否与您的观察结果一致,或者计算有多少图像落在您的 AOI + 日期范围内,这可能是收集数据以进行潜在分析的重要第一步。从上面添加我们的脚本和下面的代码,我们将打印出这些信息。要查找您自己的坐标,请单击“检查器”选项卡,然后单击地图。然后检查员将获取该点的坐标(下面以红色突出显示)。

在“检查器”选项卡处于活动状态的情况下,单击地图可为我们提供纬度和经度坐标配对。
您的结果将根据您使用的坐标而有所不同(尝试几个不同的坐标!)但以下代码应将记录总数(“计数”)和记录的日期范围打印到“控制台”选项卡。您的结果可能会因您的坐标而异,但格式应类似于下图。
var dataset = dataset
.filterBounds(ee.Geometry.Point(27.5487, 41.2568)); // Use your own coordinates here!// Print the number of images in the collection
print('Count: ', dataset.size());// Print the whole date range of the filtered collection.
var range = dataset.reduceColumns(ee.Reducer.minMax(), ["system:time_start"])
print('Date range: ', ee.Date(range.get('min')), ee.Date(range.get('max')));

Google Earth Engine 的“控制台”选项卡中的输出,指示我们集合中的图像数量以及它们所涵盖的日期范围。
4结论
总之,我们刚刚开始探索使用 Google 地球引擎触手可及的海量数据。我们还介绍了一些重要的元数据,它们可以增强您的搜索并帮助确定您的图像集是否已准备好进行分析。有可能适合您的研究领域的数据集就在那里。但是,如果您找不到合适的,请不要担心!只需跳至第 4 单元,了解如何将您自己的数据引入 Google 地球引擎生态系统。
4.1完整的图像采集探索脚本
// Load the image collection.
var dataset = ee.ImageCollection('MODIS/006/MYD10A1');// Limit the collection date range to 2018.
var dataset = dataset
.filterDate('2018-01-01', '2018-12-31');// Select the snow cover layer and compute the mean.
var snowCover = dataset
.select('NDSI_Snow_Cover')
.mean();// Define the visualization parameters and add the collection to the map.
var snowCoverVis = {min: 0.0, max: 100.0, palette: ['black', '0dffff', '0524ff', 'ffffff']};
Map.addLayer(snowCover, snowCoverVis, 'Snow Cover');var dataset = dataset
.filterBounds(ee.Geometry.Point(27.5487, 41.2568)); // Use your own coordinates here!// Print the number of images in the collection
print('Count: ', dataset.size());// Print the whole date range of the filtered collection.
var range = dataset.reduceColumns(ee.Reducer.minMax(), ["system:time_start"])
print('Date range: ', ee.Date(range.get('min')), ee.Date(range.get('max')));
相关文章:
【GEE】2、探索数据集
1简介 在本单元中,我们将讨论以下概念: Google 地球引擎中可用的潜在数据来源。 通过生态示例显示的数据集采样用例。 如何使用 Google 地球引擎访问重要的元数据。 2背景 要将遥感集成到您的研究和分析中,学习如何解析 Google 地球引擎上…...
开发一款直播弹幕游戏需要多少钱?
开发一款直播弹幕游戏需要多少钱?有好多朋友在咨询过弹幕游戏的开发价格后,都会比较吃惊,一款体量这么小的游戏为什么动辄就要几万块甚至十几万? 我来给你们说分析一下原因,这种游戏如果脱离开直播间,可以…...
STM32F103C8T6第一天:认识STM32 标准库与HAL库 GPIO口 推挽输出与开漏输出
1. 课程概述(297.1) 课程要求:C语言熟练,提前学完 C51 2. 开发软件Keil5的安装(298.2) 开发环境的安装 编程语言:C语言需要安装的软件有两个:Keil5 和 STM32CubeMX Keil5 的安装…...
selenium元素定位 —— 提高篇 CSS定位元素
CSS (Cascading Style Sheets) 是一种用于渲染 HTML 或者 XML 文档的语言,CSS 利用其选择器可以将样式属性绑定到文档中的指定元素。理论上说无论一个元素定位有多复杂都能够定位到元素。 因为不同的浏览器 XPath 引擎不同甚至没有自己的 Xpath 引擎,这…...
隔离和非隔离电源的区别
一、电源隔离与非隔离 电源的隔离与非隔离,主要是针对开关电源而言,业内比较通用的看法是: 1、隔离电源:电源的输入回路和输出回路之间没有直接的电气连接,输入和输出之间是绝缘的高阻态,没有电流回路。 …...
C语言自定义数据类型
一、构造数据类型 构造数据类型:用户自己建立的数据类型(自定义数据类型) C语言中的自定义数据类型有:数组类型、结构体类型、共用体类型和枚举类型。 1.1. 结构体 C语言允许用户根据需要自己建立的由不同类型数据组成的组合型…...
SoftwareTest5 - 你就只知道功能测试吗 ?
你就只知道功能测试吗 ? 一 . 按照测试对象划分1.1 文档测试1.2 可靠性测试1.3 容错性测试1.4 安装卸载测试1.5 内存泄漏测试1.6 弱网测试 二 . 按是否查看代码划分2.1 黑盒测试2.2 白盒测试2.3 灰盒测试 三 . 按照开发阶段划分3.1 单元测试3.2 集成测试3.3 冒烟测试3.4 系统测…...
Uniapp 中,能够同时兼容H5、web、app、微信小程序的引入高德地图的语法格式
在 Uniapp 中,可以通过使用 uni-app 统一的 API 来同时兼容 H5、web、App 和微信小程序,而引入高德地图则有以下两种语法格式供选择: 使用 Vue.js 的语法格式: <template><view><map :longitude"longitude&…...
基于nodejs+vue网上鲜花销售系统
目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性:…...
stm32 ETH
1 How do I create a project for STM32H7 with Ethernet and LwIP stack working? STM32 LWIP 接收大数据包导致Hardfault问题解决记录 Trying to get Ethernet, LWIP and FreeRTOS working on the STM32H745. Testing on the NUCLEO-H745ZI-Q using FW_1.7 and the STM32Cub…...
【深度学习基础】Pytorch框架CV开发(2)实战篇
📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…...
C语言--输出1-100以内同时能被3和5整除的数
首先我们要有1-100的数字. for(int i1;i<100;i) 如何表示同时能被3和5同时整除呢? 如果这个数i,i%30&&i%50,那么这个数就可以同时被3和5整除 if(i%30&&i%50) 最后输出即可 完整代码: #include<stdio.h> void Sh…...
Linux--jdk、tomcat、环境配置,mysql安装、后端项目搭建
前言 上期我们讲到了安装linux虚拟机,这期我们来讲一下如何使用xshell和xftp在linux系统上搭建我们的单体项目 一、软件的传输 1.1 xftp Xftp是一款功能强大的文件传输软件,用于在本地主机和远程服务器之间进行快速、安全的文件传输。它是由南京帆软科…...
NOIP2023模拟10联测31 迷路
题目大意 你在野外迷路了, 你手里只有一张你当前所在的区域的地图。地图将整个区域表示为 n m n\times m nm的网格,你就在其中的某一个格子里。每个格子里要么有树,要么就什么都没有。地图显示了每个格子中是有树还是空的。当然,地图只记载…...
React Query + Redux toolkit 封装异步请求
当你需要进行 Redux 和 React Query 的组合时,除了常规的 Redux 方法(例如手动派发 action 和更新 state),还可以使用 createSlice 和 React Query 进行组合,这可以让你更方便地封装异步请求和更容易地更新状态。 使用…...
CSS基础知识点速览
1 基础认识 1.1 css的介绍 CSS:层叠样式表(Cascading style sheets) CSS作用: 给页面中的html标签设置样式 css写在style标签里,style标签一般在head标签里,位于head标签下。 <style>p{color: red;background-color: green;font-size…...
Windows 时间服务配置和配置工具
文章目录 Windows 时间服务保留Portw32tm 命令配置 Windows 时间服务配置客户端使用两个时间服务器配置客户端自动从域源同步时间检查客户端时间配置使用本地组策略编辑器配置Windows 时间注册表参考推荐阅读 Windows 时间服务 (W32Time) 为 Active Directory 域服务 (AD DS) 管…...
cmake find_package、引用GDAL 初步学习
上次的源码的CMakeLists.txt文件里有 find_package(GDAL REQUIRED) 这句; 从字面意思看此源码需要GDAL库; 查了一下,find_package 指令的基本功能是查找第三方库,并返回其细节; 我当前GDAL安装在D:\GDAL; 先把它的CMakeLists.txt重命名为别的,不使用; 新建一个C…...
紫光同创FPGA编写的8画面分割器演示
适用于板卡型号: 紫光同创PGL50H开发平台(盘古50K开发板) 图(1) 盘古50K开发板 TOP 层逻辑框 图(2) TOP层逻辑框 video_copy_ux 将输入的一路RGB888信号复制成8份,每份画面内容相同,各路颜色有些差异: 第…...
openLayers--绘制多边形、获取视图的中心点、获取当前地图等级、设置地图等级
openLayers绘制多边形、获取视图中心点 前言效果图1、导入LineString2、创建添加多边形3、定义多变形样式4、获取当前视图的中心点5、获取当前视图等级6、设置地图等级 前言 上一篇文章在vue项目中绘制了openlayers绘制了地图和标记点,本篇文章讲解openlayers绘制多…...
避坑指南:为什么你的Jetson开发板apt安装Perf总是失败?
深度解析:Jetson开发板为何无法直接安装Perf及高效解决方案 在嵌入式开发领域,Nvidia Jetson系列凭借其强大的AI计算能力成为边缘计算的热门选择。然而当开发者尝试在这类设备上使用标准Ubuntu方法安装性能分析工具Perf时,往往会遭遇意想不到…...
手把手教你用modf()和fmod()解决C语言浮点数计算中的常见坑
深入解析C语言浮点数计算:modf()与fmod()的实战应用 浮点数计算在C语言开发中无处不在,从游戏物理引擎到嵌入式传感器数据处理,精确的浮点运算直接关系到程序行为的正确性。然而,许多开发者第一次遭遇浮点数计算误差时,…...
一文读懂:智能体身份权限治理演进实录
序章当一个实验性的“咖啡外卖”智能体(BrewSense),从服务几位工程师的小工具,演变为数千人依赖的自动化伙伴时,会发生什么?这不仅仅是用户量和调用量的激增,更是一场关于身份、权限与信任的治理…...
5分钟掌握游戏高清截图秘诀:SRWE窗口分辨率自定义完整教程
5分钟掌握游戏高清截图秘诀:SRWE窗口分辨率自定义完整教程 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE 你是否曾梦想为心爱的游戏角色拍摄一张高清壁纸,却发现游戏分辨率选项有限&…...
实战UNet++:基于segmentation_models_pytorch的医学图像分割全流程解析
1. 医学图像分割与UNet的核心价值 医学图像分割是计算机视觉在医疗领域最重要的应用之一。与自然图像不同,CT、MRI等医学影像具有灰度范围窄、组织边界模糊、噪声干扰大等特点。传统方法需要医生手动勾画病灶区域,一张高清CT可能需要数小时,而…...
“title“: “Java全栈开发面试实录:从基础到实战的深度对话“,
{ "title": "Java全栈开发面试实录:从基础到实战的深度对话", "content": "# Java全栈开发面试实录:从基础到实战的深度对话\n\n## 一、开场白\n\n面试官:你好,欢迎来参加我们公司的Java全栈开…...
Pixel Fashion Atelier实战教程:如何导出带元数据的PNG并适配Unity像素精灵管线
Pixel Fashion Atelier实战教程:如何导出带元数据的PNG并适配Unity像素精灵管线 1. 教程概述 Pixel Fashion Atelier作为一款专为像素艺术设计的AI生成工具,其输出结果需要经过特殊处理才能完美适配Unity的像素精灵管线。本教程将手把手教你如何导出带…...
Leptin30;YQQVLTSLPSQNVLQIANDLENLRDLLHLL (mouse)
一、基本信息名称: Leptin30(小鼠源瘦素功能片段肽)单字母序列: YQQVLTSLPSQNVLQIANDLENLRDLLHLL三字母序列: Tyr-Gln-Gln-Val-Leu-Thr-Ser-Leu-Pro-Ser-Gln-Asn-Val-Leu-Gln-Ile-Ala-Asn-Asp-Leu-Glu-Asn-Leu-Arg-Asp…...
法律文书助手:OpenClaw+Qwen3-32B的合同条款审查与风险提示
法律文书助手:OpenClawQwen3-32B的合同条款审查与风险提示 1. 为什么需要本地化的法律文书助手? 去年处理一份股权投资协议时,我经历了传统法律AI工具的典型痛点:上传合同到第三方平台后,法务团队突然发现协议中涉及…...
利用快马ai快速生成c语言语法学习原型,直观掌握编程基础
今天想和大家分享一个特别实用的C语言学习小技巧。作为一个编程新手,我最近发现用InsCode(快马)平台可以快速搭建C语言学习原型,把抽象的概念变成看得见、能运行的代码,学习效果特别好。 为什么要用原型学习法 刚开始学C语言时,最…...
