代码编织梦想

地球引擎代码编辑器

code.earthengine.google.com 上的地球引擎 (EE) 代码编辑器 是用于地球引擎 JavaScript API 的基于网络的 IDE。代码编辑器功能旨在快速轻松地开发复杂的地理空间工作流程。代码编辑器具有以下元素(如图 1 所示):

  • JavaScript 代码编辑器
  • 用于可视化地理空间数据集的地图显示
  • API 参考文档(文档选项卡)
  • 基于Git的脚本管理器(脚本选项卡)
  • 控制台输出(控制台选项卡)
  • 任务管理器(任务选项卡)处理长时间运行的查询
  • 交互式地图查询(检查器选项卡)
  • 搜索数据存档或保存的脚本
  • 几何绘图工具

 地球引擎代码编辑器的组件图

代码编辑器具有多种功能,可帮助您利用 Earth Engine API。在脚本 选项卡上查看示例脚本或保存您自己的脚本。使用检查器选项卡查询放置在地图上的对象。 使用 Google Visualization API显示和绘制数字结果。使用“获取链接”按钮与合作者和朋友共享脚本的唯一 URL 。您在代码编辑器中开发的脚本会发送到 Google 进行处理,生成的地图图块和/或消息会发送回以显示在“地图”和/或“控制台”选项卡中。运行代码编辑器只需要一个网络浏览器(使用Google Chrome以获得最佳效果)和互联网连接。以下部分更详细地描述了地球引擎代码编辑器的元素。


JavaScript 编辑器

JavaScript 编辑器将:

  • 键入时格式化并突出显示代码
  • 在有问题的代码下划线,提供修复和其他提示以获得正确的语法
  • 自动补全引号、方括号和圆括号对
  • 为地球引擎功能提供代码完成提示

代码编辑器上方是用于运行脚本、保存脚本、重置输出映射和控制台以及获取脚本链接的按钮。当按下“获取链接”按钮时,浏览器地址栏中将出现一个唯一链接。此链接表示按下按钮时编辑器中的代码。

注意:编辑器支持 ECMAScript 5 (ES5) 的大部分功能,这是 JavaScript 语言的标准化规范。目前不支持 ECMAScript 6 (ES6) 及更高版本中引入的语言功能。


API 参考(文档选项卡)

代码编辑器的左侧是Docs选项卡,其中包含完整的 JavaScript API 文档。可以从“文档”选项卡搜索和浏览文档

脚本管理器(脚本选项卡)

脚本选项卡是在代码编辑器的左侧面板旁边的API文档。脚本管理器将私有、共享和示例脚本存储在 Google 托管的Git存储库中。存储库按访问级别排列,您的私有脚本存储在您在Owner文件夹中拥有的存储库中:users/username/default。您(并且只有您)有权访问Owner文件夹中的存储库,除非您与其他人共享它们。Writer 中的存储库 文件夹是其所有者已授予您写入权限的存储库。您可以向Writer文件夹中的存储库添加新脚本、修改其中的现有脚本或更改对存储库的访问权限(您不得删除其所有者)。在该仓库阅读器文件夹是系统信息库,其读取权限是已经被其所有者授予您。该示例文件夹是一种特殊的资源库由谷歌托管包含代码样本。该归档文件夹包含您有权访问,但还没有被他们的老板从旧版本的脚本管理的迁移旧仓库。使用顶部的过滤器栏搜索您的脚本脚本选项卡。



脚本模块

编写无需大量复制和粘贴即可在脚本之间共享的模块化、可重用代码是一种很好的做法。为了实现模块化开发,Earth Engine 提供了在脚本之间共享代码的能力。例如,假设您编写了一个执行一组有用操作的函数。与将函数的代码复制到新脚本中相比,新脚本更容易直接加载函数。要使函数或对象可用于其他脚本,请将其添加到名为exports. 要在另一个脚本中使用代码,请使用该require函数从另一个脚本加载导出。例如,假设您在名为的文件中定义以下模块,该文件 FooModule.js位于名为Modules

 这是我们导入文本的形式,可以这样来进行:

exports.doc = 'The Foo module is a demonstration of script modules.' +
    '\n It contains a foo function that returns a greeting string. ' +
    '\n It also contains a bar object representing the current date.' +
    '\n' +
    '\n foo(arg):' +
    '\n   @param {ee.String} arg The name to which the greeting should be addressed' +
    '\n   @return {ee.String} The complete greeting.' +
    '\n' +
    '\n bar:' +
    '\n   An ee.Date object containing the time at which the object was created.';

exports.foo = function(arg) {
  return 'Hello, ' + arg + '!  And a good day to you!';
};

exports.bar = ee.Date(Date.now());

 请注意exports以 的形式使用关键字 exports.objectToExport。您可以通过使用该require函数在另一个脚本中使用此模块。例如:

//答应出我们想要的结果
//当然这里打印要打印自己的一个路径,否则会报错,也就是你的这个里面自己的写的代码可以在这里调用!
var Foo = require('users/username/default:Modules/FooModule.js');

print(Foo.doc);

print(Foo.foo('world'));

print('Time now:', Foo.bar);

require函数需要一个描述模块位置绝对路径的字符串。具体来说, 的参数require()的形式为 'pathToRepository:pathToModuleScript'。您只能从您拥有和/或具有读取权限的存储库加载模块。如果您希望其他人能够使用您的模块,则必须与您想要访问的其他用户共享存储库。

您可以使用 URL 参数 ?scriptPath={repo}:{script} 来共享对存储库中文件的引用,例如 https://code.earthengine.google.com/?scriptPath=users/username/utils:utils . 访问 URL 后,引用的文件及其存储库将添加到Scripts选项卡上的 Reader 或 Writer 目录中 ,具体取决于您对共享存储库的权限级别。


资产管理器(资产选项卡)

资产管理器位于左侧面板的资产选项卡中。使用资产管理器在 Earth Engine 中上传和管理您自己的图像资产。


脚本链接

代码编辑器脚本可以通过编码的 URL 共享。以下部分描述了生成脚本 URL 的各种方法、可用选项以及管理脚本 URL 的方法。

注意:如果您的共享脚本包含私人资产导入,请务必 与目标用户共享或公开共享。未共享的资产导入很容易导致您的脚本中断。

获取链接

代码编辑器顶部的“获取链接”按钮(图 4)提供了一个用于生成脚本 URL 和设置脚本行为选项的界面。请注意下面描述的快照 URL 和保存的脚本 URL 之间的区别。

 “获取链接”按钮可将代码分享给别人

快照脚本链接

可以通过单击代码编辑器顶部的“获取链接”按钮创建的编码快照 URL 来共享编辑器中的代码。当拥有 Earth Engine 帐户的人访问 URL 时,浏览器将导航到代码编辑器并复制创建链接时的环境,包括代码、导入、地图图层和地图位置。单击“获取链接”按钮将自动将脚本链接复制到剪贴板。此外,将出现一个对话框,提供控制共享脚本执行的选项,以及复制和访问生成链接的按钮。控制选项包括阻止脚本自动运行,以及在有人打开共享链接时隐藏代码窗格。

保存的脚本链接

保存的脚本有一个共享链接的选项,该链接将始终加载最新保存的版本,并且只有您和其他人可以访问包含脚本的存储库的当前访问权限。要使用此功能,请从“脚本管理器”选项卡加载保存的脚本,单击“获取链接”按钮右侧的下拉箭头并选择“复制脚本路径”。将出现一个对话框,显示可共享的脚本 URL。请注意,脚本 URL 也已在浏览器的地址栏中设置。

脚本链接管理

“获取链接”按钮右侧的下拉按钮有一个“管理链接”选项。单击此选项会加载一个带有界面的新浏览器选项卡,供您调用、删除和下载以前生成的脚本链接。选择一个脚本并按下下载按钮会将一个压缩文件夹(“code_editor_links.zip”)下载到您的系统,其中包含每个选定脚本的 .txt 文件表示。

脚本链接 URL 参数

ui.url模块允许通过getset方法对脚本 URL 的片段标识符进行编程操作。这意味着代码编辑器脚本和地球引擎应用程序可以读取和存储页面 URL 中的值。请注意以下两个 URL 的结尾,第一个将debug变量设置为 false ,第二个将其设置为true; 访问这两个链接并注意控制台中的调试复选框在第一个中没有被选中,而在第二个中被选中,改变了每个脚本的行为。

https://code.earthengine.google.com/5695887aad76979388a723a85339fbf2#debug=false;
https://code.earthengine.google.com/5695887aad76979388a723a85339fbf2#debug=true;

此功能可用于设置地图缩放和居中,以及您在向特定人员或组发送链接时可能想要自定义的其他行为。


搜索工具

要查找要在脚本中使用的数据集,您可以使用数据存档的搜索工具。搜索工具是代码编辑器顶部的文本框,上面写着“搜索地点和数据集...” 在搜索栏中键入数据产品、传感器或其他关键字的名称,然后单击search按钮查看匹配地点、栅格和表数据集的列表。单击任何栅格或表结果以查看存档中该数据集的描述。要将数据集直接导入脚本,请单击数据集描述中的导入链接或 import按钮。

代码编辑器顶部的导入部分。 

将数据集导入脚本的结果组织在脚本顶部的导入部分中,在您导入某些内容之前隐藏。创建一些导入后,您应该会看到类似于图 5 的内容。要将导入复制到另一个脚本,或将导入转换为 JavaScript,请单击 subject图标旁边的Imports 标题并将生成的代码复制到您的脚本中。您可以删除导入 delete 图标。

地图

API 中的 Map 对象是指代码编辑器中的地图显示。例如, Map.getBounds()将返回代码编辑器中可见的地理区域。检查MapAPI 中的函数以查看此显示的其他自定义。

层管理器

使用地图右上角的图层管理器​​来调整添加到地图的图层的显示。具体来说,您可以切换图层的可见性或使用滑块调整其透明度。单击 settings 图标以调整各个图层的可视化参数。出现的可视化工具允许您以交互方式配置图层显示参数。单击工具右侧的按钮(默认情况下,它会根据提供的最小和最大范围执行自定义拉伸)以将显示线性拉伸到显示窗口中图像值的百分位数或标准偏差。统计数据是根据当前缩放级别的地图窗口中的所有像素计算的。使用滑块调整伽马和/或透明度。单击调色板单选按钮并通过添加颜色指定自定义调色板 (add), 去除颜色 (remove) 或手动输入逗号分隔的十六进制字符串列表 (edit)。单击应用将可视化参数应用到当前显示。单击导入将可视化参数对象作为新变量加载到脚本的导入部分。

 图层可视化工具

 请注意,图层管理器​​右侧是用于不同地图背景的切换按钮。使用 自定义背景Map.setStyle()

检查器选项卡

任务管理器旁边的检查器选项卡可让您以交互方式查询地图。当检查器选项卡被激活时,光标变成一个十字准线,当您单击地图时,它将显示光标下的位置和图层值。例如,图显示了在Inspector选项卡中单击地图的结果 。光标位置和缩放级别与像素值和地图上的对象列表一起显示。对象列表是交互式的。要查看更多信息,请展开检查器选项卡中的对象。

  Inspector 选项卡显示有关光标位置和光标下层值的信息。

控制台选项卡

当您print()从脚本中获取某些内容时,例如文本、对象或图表,结果将显示在Console 中。控制台是交互式的,因此您可以展开打印对象以获取有关它们的更多详细信息。

任务选项卡

对于长时间运行的任务,使用Export对象来执行导致Image或 的大型计算FeatureCollection。在“导出”选项卡上管理导出的任务。要开始导出,请单击任务 选项卡中导出任务旁边的 运行按钮。将出现一个配置对话框,允许您选择图像的分辨率或大小,以及表格的格式(CSV、GeoJSON、KML 或 KMZ)。运行任务后,将鼠标悬停在任务管理器中的任务上将显示“?” 可用于检查任务状态的图标。要取消任务,请单击任务旁边的旋转 图标以取消它。


探查器

探查器显示有关特定算法和计算的其他部分消耗的资源(CPU 时间、内存)的信息。这有助于诊断脚本运行缓慢或由于内存限制而失败的原因。要使用探查器,请单击“运行”按钮下拉菜单中的“使用探查器运行”选项。作为快捷方式,按住 Alt(或 Mac 上的 Option)并单击运行,或按 Ctrl+Alt+Enter。这将激活代码编辑器右侧的Profiler选项卡。在脚本运行时,Profiler选项卡将显示脚本中的资源使用表。单击运行按钮(不进行分析)将使分析器 选项卡消失并禁用分析器。

分析器显示由脚本调用的计算产生的 CPU 和内存使用情况(每个算法和资产)的信息,以及地图中当前可见的每个图块的显示。分析器输出中的每一行都对应于“描述”列中描述的算法、计算、资产负载或开销操作。探查器中的列是:

说明

正在分析的计算、算法、资产负载或开销操作的文本描述。

计数

与调用“描述”中描述的操作的次数成正比的指示器。

计算

操作所用 CPU 时间的指示器。

当前内存

此列仅在由于脚本使用过多内存而出现错误时出现。它显示发生错误时任何单个计算节点上正在使用的内存量。

峰值内存

任何单个计算节点上用于该操作的最大内存。


几何工具

您还可以通过在屏幕上绘制几何图形将几何图形导入脚本。要创建几何图形,请使用地图显示左上角的几何图形绘制工具(图 8)。对于绘制点,使用地标图标 ,对于绘制线,使用线图标,对于绘制多边形,使用多边形图标 ,对于绘制矩形,使用矩形图标。(请注意,矩形是平面几何图形,因此它们不能放置在具有测地线几何图形(如线和多边形)的图层上。)

几何绘图工具位于地图显示的左上角

使用任何绘图工具都会自动创建一个新的几何图层,并将该图层的导入添加到导入部分。要将几何图形添加到新图层,请将鼠标悬停在地图显示中的几何图形导入上,然后单击+new layer链接。您还可以从几何导入部分切换几何的可见性。请注意,绘制的几何图形默认为测地线,矩形除外,矩形仅为平面。使用 几何构造函数将它们转换为平面几何。在几何页面上了解有关 Earth Engine 中几何的更多信息 。

要配置几何图形导入脚本的方式,请单击 地图上Geometry Imports部分或代码编辑器的Imports部分中图层旁边的图标。几何图层设置工具将显示在一个对话框中,该对话框应类似于图 9。请注意,您可以将绘制的形状导入为几何、要素或要素集合。几何导入设置还允许您更改图层显示的颜色、向图层添加属性(如果它作为 aFeature或导入FeatureCollection)或重命名图层。

 几何配置工具

 最后,为了防止图层中的几何图形被编辑,您可以通过按 图层旁边的图标。这将阻止添加、删除或编辑图层上的任何几何图形。要再次解锁图层,请按图标。防止你的改动或者删除之类的操作!


帮助!

单击 help 单击代码编辑器右上角的按钮,可以查看指向本开发人员指南、其他帮助论坛、代码编辑器导览以及有助于在地图上进行编码、运行代码和显示数据的键盘快捷键列表的链接。单击 feedback 按钮来提交错误报告、请求新功能、建议数据集或在不需要响应时发送反馈。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_31988139/article/details/119857470

google earth engine(gee)学习笔记 零_无形的风(知乎)的博客-爱代码爱编程

初步列了一个大纲 1. GEE初识 2. GEE示例以及学习资源介绍 3. GEE工作台介绍 4. GEE资源查找 5. GEE资源上传 6. GEE资源导出 7. GEE控件介绍(1) 8. GEE控件介绍

google earth engine(gee)学习笔记 一_无形的风(知乎)的博客-爱代码爱编程

初识GEE GEE简介GEE应用范围GEE优缺点GEE初识 1.GEE是什么? GEE(全称Google Earth Engine)是大谷歌下属的一个可以批量处理卫星影像数据的工具,属于Google Earth一系列的

google earth engine(gee)学习笔记 二_无形的风(知乎)的博客-爱代码爱编程

GEE工作空间简介 工作空间预览各个按钮模块简介运行简单例子 工作空间预览,地址 https://code.earthengine.google.com 可以看到整个工作台可以分为四大部分:脚本文件存放区、代码编辑

使用google earth engine(一):提取下载modis、landsat点数据_there2belief的博客-爱代码爱编程

    现在可以使用Google Earth Engine 快捷的提取MODIS、Landsat等产品的点(或区域)数据到自己的Google Drive下载。PS:GEE可以做全球尺度长时间序列的数据分析出图等,将来必是地球科学领域的大杀器。这里下载数据不是仅运行下面代码就行,还需要注意两点:   1)那么如何找到数据集呢?在搜索栏输入产品名,便可快速

google earth engine学习笔记——介绍和入门_qq_22865459的博客-爱代码爱编程_google earth engine

    最近接触Google Earth Engine,觉得很好玩, 也很有应用前景,最关键Google Earth Engine是免费的地理计算云平台。所以想认真学习下,学习过程中作些小的总结和记录,资料来源均为网络或Google Earth Engine API指南,今天先讲讲入门的知识。 1、Google Earth Engine介绍     Goo

gee学习笔记 五十五:gee编辑器绘制样本点的一个bug(官方在5.1给出反馈已经修复相关bug)_无形的风(知乎)的博客-爱代码爱编程

提交的Bug官方在5月1日已经给出反馈,测试发现已经修复了这个Bug! 注释:这个是今天发现的一个bug,官方后续肯定会修复的。 在做地物分类的时候我们会采用GEE在线采集样本方式,但是这个有一个问题需要注意,如果直接使用绘制矩形和点会将点变为 ee.Geometry.Point([xxx], null, false) 这种形式。出现的问题步骤如下:

GEE学习笔记 九十:在自己的APP中使用绘制矢量(下)-爱代码爱编程

    这一篇文章讲一下如何使用ui.Map.DrawingTools(...),其实在上一节中可以看到DrawingTools这个API简单使用例子,具体如下: var geometry = ee.Geometry.Point([50, 50]); Map.centerObject(geometry, 11); var layer = ui.Map

libsvm 图像 分类_GEE 学习笔记 14:数字化训练样本利用SVM进行土地利用分类-爱代码爱编程

说明:应读者的鼓励和要求,今天就更新一篇用SVM进行土地利用分类的案例,在代码里写了详细的说明,如果还不明白,私聊吧,知乎回复的比较慢,或者可以加微信好友,大家一起讨论和学习。初学者如果有想学习有关GEE的其它知识,可以告诉我,如果我知道我尽量抽时间更新,和大家一起交流学习。1 先大概的说一下基本的步骤 选取影像数字化训练样本训练模型影

基于Google Earth Engine Explorer谷歌地球引擎GEE浏览界面实现遥感影像地物监督分类-爱代码爱编程

  本文主要对GEE的网页界面式应用程序接口Google Earth Engine Explorer加以详细介绍与地物监督分类这一具体应用。本文是谷歌地球引擎(Google Earth Engine,GEE)系列教学文章的第一篇,更多GEE文章请参考专栏:GEE学习与应用(https://blog.csdn.net/zhebushibiaoshifu/ca

Google Earth Engine谷歌地球引擎GEE中JavaScript脚本语言代码基础规则与函数语句-爱代码爱编程

  本文主要对GEE中的JavaScript代码基础规则与语句、函数等加以介绍。本文是谷歌地球引擎(Google Earth Engine,GEE)系列教学文章的第九篇,更多GEE文章请参考专栏:GEE学习与应用(https://blog.csdn.net/zhebushibiaoshifu/category_11081040.html)。   在前面的

Google Earth Engine(GEE)——Landsat 系列卫星及其算法的介绍(新手必备)!-爱代码爱编程

Landsat 采集结构 USGS 为每颗卫星生成 3 层(类别)数据: 第 1 层 (T1) - 满足几何和辐射质量要求的数据第 2 层 (T2) - 不符合第 1 层要求的数据实时 (RT) - 尚未评估的数据(最多需要一个月)。有关详细信息,请参阅有关 Collection 1 Tiers 的 USGS 文档(https://www.usgs.g

Google Earth Engine(GEE)——机器学习(监督分类1)样本数据为点要素-爱代码爱编程

监督分类 该Classifier包通过在 Earth Engine 中运行的传统 ML 算法处理监督分类。这些分类器包括 CART、RandomForest、NaiveBayes 和 SVM。分类的一般工作流程是: 收集训练数据。组合具有存储已知类标签的属性和存储预测变量数值的属性的特征。 实例化一个分类器。如有必要,设置其参数。

Google Earth Engine(GEE)—有JS和python为什么GEE还要使用rgee?-爱代码爱编程

基本 rgee - 第一步 2020-01-01 941 words 5 mins read 介绍 1. 什么是谷歌地球引擎? 谷歌地球引擎是一个计算平台,允许用户在谷歌的基础设施上运行地理空间分析。与平台交互的方式有以下几种: discover代码编辑器Javascript 客户端库Python客户端

Google Earth Engine(GEE)——基本介绍和图像分析、可视化和处理实战-爱代码爱编程

本教程解释了如何使用模块*climada.util.earth_engine*。它从 Google Earth Engine Python API ( https://earthengine.google.com/ )查询数据。还将使用来自 Scikit-image ( scikit-image: Image processing in Python —

谷歌邮箱的注册以及GEE的注册使用教程-爱代码爱编程

一、谷歌邮箱的注册 (1)打开谷歌浏览器,点击右上角的“登录”, 如找不到登陆按钮就按下图所示,点击如图箭头所示位置 (2)选择添加其他账号 (3)点击创建账号,下面的过程按要求填写即可注册完成(申请过程如果有辅助邮箱尽量填教育邮箱,不然如果申请失败,后面配置GEE的时候会比较麻烦,还需要重新申请邮箱,走过的坑),其他的过程比较