Google Earth Engine 中带有 map() 函数的双循环

2023-12-01

In Google 地球引擎开发人员指南,有一个建议要避免for()循环。他们建议使用map()函数如本例所示:

// to avoid
var clientList = [];
for(var i = 0; i < 8; i++) {
  clientList.push(i + 1);
}
print(clientList);

// to use
var serverList = ee.List.sequence(0, 7);
serverList = serverList.map(function(n) {
  return ee.Number(n).add(1);
});
print(serverList);

我正在尝试在计算 VCI 之前选择每月/每年的 MODIS 场景。所以,我采取的方法是使用双循环:

modis = ee.ImageCollection("MODIS/MYD13A1");

var modis_list = [];
for(var i = 1; i <13; i++) {
  for(var j = 2000; j <2018; j++){
    modis_list.push(modis.filter(ee.Filter.calendarRange(i, i, 'month'))
                          .filter(ee.Filter.calendarRange(j, j, 'year')));
  }
}
print(modis_list);

有没有办法复制这样的双循环map()达到服务器端功能的方法是什么?


做到这一点的简单方法是使用一张涵盖您关心的“月份”的地图。

// Collect images for each month, starting from 2000-01-01.
var months = ee.List.sequence(0, 18*12).map(function(n) {
  var start = ee.Date('2000-01-01').advance(n, 'month')
  var end = start.advance(1, 'month')
  return ee.ImageCollection("MODIS/MYD13A1").filterDate(start, end)
})
print(months.get(95))

这将返回 ImageCollections 列表。大多数月份只有 1 张图像,因为 MYD13A1 包含 16 天的图像,但有些月份会有两张。第 95 个月是 2008 年 1 月,有两个月份。

或者,您可以将集合与日期集合连接起来,但这更简单。

如果可能的话,您应该更喜欢filterDate而不是calendarRange,因为它已经过优化。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google Earth Engine 中带有 map() 函数的双循环 的相关文章

  • 使用 vscode 调试器调试 next.js

    我已经使用安装了一个项目创建下一个应用程序 https github com segmentio create next app 我需要使用我的编辑器 vscode 调试服务器端渲染 所以我访问过vscode recipes 如何调试 ne
  • 关闭选项卡时要求确认[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 当我在某些浏览器上关闭页面时 我希望出现一个消息框 并询问我是否真的要关闭页面 有两个按钮 如果我单击No那么这个标签就不会被关闭 我怎样
  • Android 设备上的 PhoneGap 蓝牙插件

    我一直在尝试让 PhoneGap 工作的蓝牙插件 但我似乎不知道哪里出了问题 首先 我的测试设备是 Galaxy S3 GT 19305T 应用程序是使用PhoneGap CLI http docs phonegap com en 3 0
  • 从数据 URI 解码 QR 码

    我尝试从数据 uri 中解码二维码 var dataUri data image gif base64 R0lGODdh9gD2AIAAAAAAAP ywAAAAA9gD2AAAC decodeQrCode dataUri cb 我已经尝试
  • 为什么 JavaScript base-36 转换看起来不明确

    我目前正在编写一段使用 Base 36 编码的 JavaScript 我遇到了这个问题 parseInt welcomeback 36 toString 36 看来要回归了 welcomebacg 我在 Chrome 开发者控制台和 Nod
  • 尝试将布尔 C# 变量传递给 javascript 变量并将其设置为 true

    在我的 aspx 页面中 我将布尔变量 C 传递给需要布尔类型的 javascript 函数 但遇到了问题 但是 C 变量返回 True 而 javascript 不喜欢大写 myjavascript 如果我将 c 变量转换为字符串 那么我
  • 如何抑制窗口鼠标滚轮滚动...?

    我正在开发嵌入页面中的画布应用程序 我有它 因此您可以使用鼠标滚轮放大绘图 但不幸的是 这会滚动页面 因为它是文章的一部分 当我在 dom 元素上滚动鼠标滚轮时 是否可以阻止鼠标滚轮在窗口上滚动 附加鼠标滚轮 不是 Gecko DOMMou
  • Node.js:如何在检索数据(块)时关闭响应/请求

    我正在用 node js 构建一个应用程序 它加载多个页面并分析内容 因为 node js 发送块 所以我可以分析这些块 如果一个块包含例如索引 nofollow 我想关闭该连接并继续其余部分 var host example com to
  • 除了更改标题之外,如何在 Firefox 中强制另存为对话框?

    有没有办法在 ff 中强制打开 www example com example pdf 的另存为对话框 我无法更改标题 如果您可以将文件以 Base64 格式输出到客户端 则可以使用 data uri 进行下载 location href
  • 从未用 @flow 标记的导入文件中获取类型定义

    TL DR我怎么告诉flow从未声明的导入模块导入类型定义 flow 加长版 流接缝能够从不使用流语法的文件中派生类型 请参阅示例 示例文件 flow js if Math random lt 0 5 var y hello else va
  • JavaScript 重定向到新窗口

    我有以下代码 它根据下拉列表的值重定向到页面 我如何使其在新窗口中打开 function goto form var index form select selectedIndex if form select options index
  • Jquery/Javascript 上传和下载文件,无需后端

    是否可以在没有后端服务器的情况下在 JavaScript 函数中下载和上传文件 我需要导出和导入由 JavaScript 函数生成的 XML 我想创建按钮 保存 xml 来保存文件 但我不知道是否可行 另一方面 我希望将 XML 文件直接上
  • Meteor - 从客户端取消服务器方法

    我正在通过服务器方法执行数据库计数 用户可以选择他们希望如何执行计数 然后调用该方法 我的问题是 计数可能需要一些时间 并且用户可能会在方法运行时改变主意并请求不同的计数 有什么方法可以取消调用的方法并运行新的计数吗 我认为 this un
  • 表单计算器脚本基本价格未加载 OnLoad

    我的表单中有一个计算器来计算我的下拉选项选择 function select calculate on change calc input type checkbox calculate on click calc function cal
  • 通过 CDN 使用 Dojo 时如何加载自定义 AMD 模块?

    我正在使用 google 的 CDN 并尝试使用他们的加载程序加载我自己的 AMD 模块 我知道我做错了什么 但我被困住了 有任何想法吗
  • Babel 7 Jest Core JS“TypeError:wks不是函数”

    将我的项目升级到 Babel 7 后 通过 Jest 运行测试会抛出以下错误 测试在 Babel 6 中运行没有任何问题 但在 Babel 7 中失败并出现以下错误 TypeError wks is not a function at Ob
  • 为 illustrator 导出脚本以保存为 web jpg

    任何人都可以帮我为 illustrator CC2017 编写一个脚本 将文件以 JPG 格式导出到网络 旧版 然后保存文件并关闭 我有 700 个文件 每个文件有 2 个画板 单击 文件 gt 导出 gt 另存为 Web 旧版 然后右键文
  • 模块构建失败(来自 ./node_modules/babel-loader/lib/index.js)Vue Js

    我从 GitHub 下载了一个我和我的朋友正在开发的项目 但是当我尝试运行时 npm run serve 我收到这个错误 src main js 中的错误 Module build failed from node modules babe
  • 将 MQTTNet 服务器与 MQTT.js 客户端结合使用

    我已经启动了一个 MQTT 服务器 就像this https github com chkr1011 MQTTnet tree master例子 该代码托管在 ASP Net Core 2 0 应用程序中 但我尝试过控制台应用程序 但没有成
  • fullCalendar 未显示正确的结束日期

    我正在看调试页面 http jsbin com wukofacaxu edit js outputFullCalendar 官方网站的 我想安排一个活动时间为 22 09 2015 至 30 09 2015 dd mm yyyy 但它只显示

随机推荐

  • HTML5 缓存清单:将所有远程资源列入白名单?

    我正在制作一个包含博客的 iPhone 版桌面网站 该博客经常嵌入来自其他域的图像 显然 在这种情况下 图像 URL 始终以 http 开头 但由于我使用的是缓存清单 因此不会加载这些图像 因为它们未在清单文件 我有一个网络 白名单部分 其
  • 批处理文件:在for循环中转义问号

    这个 for 循环 简化的最小示例 echo off for a in help help help help do echo a 用 扼住 2 个元素特点 它输出 C Temp gt test bat help help help hel
  • 如何使 UICollectionView 单元格水平居中?

    我做了一些研究 但我找不到任何关于如何将 UICollectionView 中的单元格水平居中的代码示例 而不是第一个单元格是这样的X00 我希望它是这样的0X0 有什么办法可以做到这一点吗 EDIT 可视化我想要的东西 当 Collect
  • 如何将我的 Swift 代码转换回 2.3

    我下载了 XCode Beta 8 并将所有 swift 代码从 Swift 2 3 转换为 Swift 3 它给我带来了太多问题 并导致我开始了一个我已经工作了大约 4 个月的项目 如何将我的代码从 Swift 3 转换回 Swift 2
  • 方括号在 C 中如何工作?

    我刚刚开始学习 C 我正在尝试了解基础知识 很多教程会告诉你一些事情 让你相信它 而无需任何真正的解释 而且我找不到人类可读的答案 在下面的 include
  • C# 中按特定精度向下舍入

    我怎样才能舍入double由特定的precision 我需要一个函数来获取double并返回最接近该 double 的值 该值是该特定的倍数precision并且低于两倍 例如 如果精度 2 5 9 3 gt 7 5 12 5 gt 12
  • 使用 NameValueCollection 的 WCF 序列化问题

    我正在尝试通过 WCF 序列化 NameValueCollection 我不断收到异常告诉我添加一种又一种类型 添加它们后 我终于得到了 类型 System Object 无法添加到已知类型列表 因为另一个类型 System Collect
  • 为什么 JavaScript 中的函数是对象?

    请向我解释一下为什么函数是 javascript 中的对象 对象是具有属性的结构 属性的值可以是一个函数 我们称这个属性为方法 但我们不能执行一个对象 我们不能这样做 var cat name Murzik age 17 cat 但我们可以
  • Swift 3 - 准备 Segue

    我的故事板中有 3 个场景 我的初始视图控制器是一个导航控制器 然后根视图控制器与 UI ViewController 视图控制器 a 有一个关系 然后我有一个从 ViewController 中的按钮到第三个 ViewController
  • 上传base64图像facebook graph api 如何使用这个脚本

    上传 Base64 图像 Facebook Graph API我想使用附加链接的这个脚本 如何在我的 WordPress 帖子中使用它 我想用它作为 Facebook 封面照片网站 看看我从各种示例中拼凑而成的代码 您可以使用它将纯 bas
  • 使用 Excel VBA 抓取 HTML

    我一直在尝试抓取并解析网站上的一些财务数据 以便我可以使用 VBA 将数据添加到 Excel 电子表格中 我找到了几种可能的解决方案 但我似乎无法让它们适合我的参数 我的问题是我只需要表中的一个变量 平均目标价格 我一直无法弄清楚我做错了什
  • 将 SQLite 数据库中存储的经度和纬度数据导出到文件以便可以通过网站导入到 Google Map API 的最简单方法是什么?

    我创建了一个应用程序 它在 SQLite 数据库中记录一系列经度和纬度值 并将它们显示为 MapActivity 上的彩色轨迹 我现在希望能够以某种方式导出这些数据 最好导出到文件 以便用户可以将这些值上传到显示 Google Map AP
  • php在上传时调整图像大小

    我得到了一个表单 用户可以在其中插入一些数据并上传图像 为了处理图像 我得到了以下代码 define MAX SIZE 10000 errors 0 image FILES fileField name uploadedfile FILES
  • 请求库:cx_Freeze 后缺少 SSL 握手证书文件

    我正在 python 3 3 中构建一个使用 requests 库的应用程序 当我尝试获取带有 SSL 连接的 URL 时 我想使用 verify true 来验证它 当运行我的 python 脚本时 这非常有效 当我冻结相同的脚本时 它会
  • Uploadify + Paperclip + Rails 嵌套关联 before_save

    我需要创建一个模特申请表 模特可以在其中填写并添加图片 我正在使用 Uploadify Paperclip 和 Rails 3 方法来遵循这个示例 https github com websymphony Rails3 Paperclip
  • 当不存在符号信息时,如何使用 GDB 为 x86 程序集设置断点? [复制]

    这个问题在这里已经有答案了 当没有符号信息时 即无法编写时 如何使用 GDB 对 x86 汇编代码设置断点b start 我想立即停止执行 但是写b 0不是很有用 因为这会在地址处停止执行0 但我需要在地址处中断执行x相对于起点 当不存在符
  • 如何在 LongListSelector 中突出显示所选项目

    我想简单地在 LongListSelector 中当前选定的项目周围显示边框 我已经为 LongListSelector 设置了 ItemTemplate 但我不确定如何修改边框 以便只有当前选定的项目包含边框 主页 xaml
  • 清理 PHP/SQL $_POST、$_GET 等...?

    好吧 这个主题是一个温床 我明白这一点 我还了解这种情况取决于您使用的代码 我有三种情况需要解决 我有一个表格 我们需要允许人们使用逗号 波形符等发表评论和声明 但仍然免受攻击 我有人用英语输入这样的日期 10 13 11 mm dd yy
  • 安装 UWP,无需开发者模式和旁加载

    在非商店的win10 UWP中 安装应用程序应打开开发者模式或侧载模式 然而 我公司的安全级别很高 我无法更改目标笔记本的任何设置 具体来说 这些笔记本在更新和安全方面甚至不 适合开发人员 我的工作是使用 UWP 为公司创建一个自动 wif
  • Google Earth Engine 中带有 map() 函数的双循环

    In Google 地球引擎开发人员指南 有一个建议要避免for 循环 他们建议使用map 函数如本例所示 to avoid var clientList for var i 0 i lt 8 i clientList push i 1 p