【GEE学习第一期】GEE介绍、注册及基本使用

news2024/11/26 23:23:32

【GEE学习第一期】GEE介绍、注册及基本使用

  • GEE基本介绍
    • GEE架构
    • 编辑语言:JavaScript
  • GEE注册
  • GEE平台界面
    • GEE编辑器
      • API区详解
    • GEE环境配置
      • 本地Python环境配置
      • 在线Python环境配置
  • 参考

GEE基本介绍

地球引擎代码编辑器(Google Earth Engine, GEE) 是一个基于 Web 的平台,提供对大型地理空间数据库(通常为栅格格式)的访问权限,并且是 Google 服务器上的分布式计算环境,可让您快速提出问题并开发可测试的工作流程。

(1) 谷歌云平台
整个GEE是基于Google Cloud云平台的一整套API开发环境。因此整个数据的处理全部都是在Google Cloud平台上实现的,无需本地机器参与运算。一般开发流程是在线/离线编辑代码,然后提交服务器端运行,完成之后会输出给我们一些结果。这个思路适合离线本地开发不太一样的。处理的时候,整个算法还有数据都是在云端的,所以不要想着用本地Python环境就可以离线开发或使用GEE。它本身只是一个包装好的API供你调用,核心是云端的服务器。这点需要注意。正式因为这种本地-服务器端的差别,所以GEE也专门有自己的变量类型,基本是ee.xxx形式。我们在写代码的时候要区分JS自己的类型和GEE的数据类型。

(2) 函数化编程
由于整个GEE是在云端的,所以官方建议尽可能所有操作都可并行,这样可以大大提升执行效率。这点是有点类似于CUDA的编程思想。简而言之就是对于很多重复的操作,你要做的就是定义好这个操作本身,然后循环遍历的工作就交给系统就好,他会自动并行帮你完成。官方文档中对于常见的循环、条件判断、累加三个操作进行了举例。

GEE免费的内容:

  • 每个人固定的免费使用的云计算能力
  • Google Drive中的15G的免费存储空间
  • Google Assets最大是250G容量,最多可以传10000个文件
  • Google Fusion Tables(这个在2019年12月将要作废,但是目前很多项目中依然在使用,所以还是需要了解)
  • 免费使用GEE上所有公开的影像、矢量等数据
  • 其他等等

GEE架构

GEE架构如下:
Google Earth Engine支持(Python和JavaScript)两种语言的接口。
在这里插入图片描述
【注意】这里需要说明的一下就是很多人想要直接使用本地的影像数据,目前Google Earth Engine是做不到的,从它的系统接口中可以看到我们需要将相关的数据上传到Assets中或者GoogleCloud中。

编辑语言:JavaScript

GEE 代码编辑器中的所有脚本都是用 JavaScript (JS) 编写的。
如果您不熟悉这种编程语言,请不要害怕!JS 有大量的在线资源,而 GEE 实际上对遵守所有规则相当宽松。
例如,JS 的标准协议是以分号 ( 结束每个命令。但是,如果您碰巧忘记了一个,GEE 会在(经常)顺利运行您的代码时提醒您。

JavaScript 编辑器将:

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

JavaScript与GEE的区别:

  • 最主要的区别一个是客户端语言,一个是服务器端语言。比如:四则运算不一致,GEE需要使用封装的add()等方法。
  • GEE调用getInfo()方法可以变为JavaScript对象,但是非常不推荐使用这个方法。我们编码错误很多问题都是由于使用getInfo()造成的。

GEE注册

注册谷歌账号添加辅助邮箱(教育邮箱)后去注册GEE账号;完成上述操作,等待注册成功邮件。

GEE平台界面

GEE官网-Google Earth Engine
在这里插入图片描述
GEE文档地址-Welcome to Google Earth Engine
在这里插入图片描述
GEE数据搜索网址-A planetary-scale platform for Earth science data & analysis
在这里插入图片描述

GEE编辑器

代码编辑界面如下:
在这里插入图片描述

API区详解

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

GEE环境配置

本地Python环境配置

常见错误的解决方案。
1、ImportError: No module named xxxx。这个错误是需要pip安装缺少的python第三方的包。
2、ee.Initialize初始化失败,上网全局设置问题。
3、如果全局设置依然失败,那么先打开https://code.earthengine.google.com/,然后登陆自己的账
号,之后在重新调用初始化的方法在次测试。
4、其它错误比如缺少相关模块之类,这个可以根据错误搜索Google即可。

在线Python环境配置

针对本地python环境配置会出现各种问题,如果只是想学习GEE的python版相关内容,我推荐是直接使用Google Drive中在线的python环境来学习。

参考

1、CSDN博客-GEE初学者笔记之快速上手篇
2、CSDN博客-【GEE 学习】GEE注册及快速入门:一篇懂哇
3、知乎-GEE环境配置-GEE学习笔记 六:GEE的本地python环境搭建
4、知乎-GEE环境配置-GEE学习笔记 五十:Windows安装GEE环境配置错误补充篇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2187305.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

oauth2授权码模式单点登录

文章目录 前言一、单点登录是什么?二、oauth2授权码模式单点登录流程1.流程图2. 代码相关2. 验证流程 总结 前言 oauth2 有四种模式,常用的为密码和授权码,剩下两种几乎不用 密码模式,很好理解,就是根据输入的用户名/密码进行登录认证的,最终返回一个合法token授权…

Coze:如何使用主页对话框?

你好,我是三桥君 我们今天要介绍的功能模块是“主页对话框”。 目录 访问官网 登录首页 基本功能 主页对话框 第一个功能:如何与自己收藏的机器人进行对话? 第二个功能:如何请求主页对话框的机器人帮助创建一个新的机器人&#x…

C++11 异步操作 std::future类

阅读导航 引言一、异步的概念二、应用场景1. 异步任务处理2. 并发控制3. 结果获取 三、使用示例1. 使用std::async关联异步任务💻示例代码说明 2. 使用std::packaged_task和std::future配合(1)定义std::packaged_task(2&#xff0…

游戏修改器Cheat Engine CE v7.5修改版下载安装详细方法

Cheat Engine是一个专注于游戏的修改器。它可以用来扫描游戏中的内存,并允许修改它们。它还附带了调试器、反汇编器、汇编器、变速器、作弊器生成、Direct3D操作工具、系统检查工具等。 具体安装方法如下: 地址:Cheat Engine 7.5.zip 解压文件…

Prompt 初级版:构建高效对话的基础指南

Prompt 初级版:构建高效对话的基础指南 文章目录 Prompt 初级版:构建高效对话的基础指南一 “标准”提示二 角色提示三 多范例提示四 组合提示五 规范化提示 本文介绍了提示词的基础概念与不同类型,帮助用户更好地理解如何在对话中构建有效的…

Java 计算器项目

更多有趣请关注公众号 计算器项目 代码仓库:https://gitee.com/wengxiulin/vs_code 项目图片 项目简介 这是一个用 Java 编写的简单计算器应用程序,具有基本的数学运算功能。该计算器支持加、减、乘、除等运算,并提供用户友好的图形界面…

CSP-J模拟赛三补题报告

前言 挂了110pts( ⇑ \Uparrow ⇑ \hspace{14em} 有史以来最大傻逼 T1: 100 p t s \color{green}100pts 100pts T2: 100 p t s → 80 p t s \color{green}100pts\color{yellow}\rightarrow\color{red}80pts 100pts→80pts T3: 100 p t s → 10 p t s \color{gre…

java 的三种IO模型(BIO、NIO、AIO)

java 的三种IO模型(BIO、NIO、AIO) 一、BIO 阻塞式 IO(Blocking IO)1.1、BIO 工作机制1.2、BIO 实现单发单收1.3、BIO 实现多发多收1.4、BIO 实现客户端服务端多对一1.5、BIO 模式下的端口转发思想 二、NIO 同步非阻塞式 IO&#…

【Godot4.3】模拟平面图形绕轴或点在空间旋转

概述 平面图形,除了常规的线性变换:平移、缩放、旋转、斜切之外。还可以模仿在三维空间旋转、透视等等。 矩形绕纵对称轴旋转实点的轨迹 绕对称旋转是个特殊情况,轨迹是圆也是为了便于理解。更实际的情况应该是椭圆。非对称轴旋转的情况轨…

Java 之深入理解 String、StringBuilder、StringBuffer

前言 由于发现 String、StringBuilder、StringBuffer 面试的时候会经常问到,这里就顺便总结一下:本文重点会以这三个字符串类的性能、线程安全、存储结构这三个方面进行分析 ✨上期回顾:Java 哈希表 ✨目录 前言 String 介绍 String 的不可变…

2024/10/3 408数据结构大题打卡

最短路径复习: bfs:只能解决无权图

【LeetCode每日一题】——17.电话号码的字母组合

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 回溯 二【题目难度】 中等 三【题目编号】 17.电话号码的字母组合 四【题目描述】 给定一个…

redis 5的安装及启动(window)

最近看大模型的时候发现入手redis的同学没有练手的,而且大部分redis的文章要钱才能看,在这里我把路径和环境配置,启动给大家说一下 下载 redis5的获取链接在下面(为什么是redis5,因为上个模型用的就是redis5&#xff…

pipe函数的例子

代码&#xff1a; #include<stdio.h> #include<stdlib.h> #include<string.h> #include<unistd.h> #include<sys/types.h> int main(void) {int result -1;int fd[2],nbytes;pid_t pid;char string[80]"ni hao, pipe!";char readbuff…

linux信号 | 学习信号四步走 | 一篇文章教你理解信号如何保存

前言&#xff1a; 本节内容是信号的保存。 学习信号&#xff0c; 我们首先了解了信号的概念&#xff0c; 然后学习了信号的产生方式。 现在就开始讲解信号在时间窗口内是如何保存在进程内部的。 ps&#xff1a;本节内容需要了解信号的概念&#xff0c; 希望友友们了解一些信号…

实用技能分享!推荐最适合论文写作的5款ai工具

在当今学术研究和教育领域&#xff0c;AI工具的应用已经变得越来越普遍。这些工具不仅能够提高写作效率&#xff0c;还能帮助生成高质量的文稿。对于教师而言&#xff0c;选择合适的AI工具可以显著提升论文写作的效率和质量。本文将重点推荐五款最适合教师论文写作的AI工具&…

Linux聊天集群开发之环境准备

一.windows下远程操作Linux 第一步&#xff1a;在Linux终端下配置openssh&#xff0c;输入netstate -tanp,查看ssh服务是否启动&#xff0c;默认端口22.。 注&#xff1a;如果openssh服务&#xff0c;则需下载。输入命令ps -e|grep ssh, 查看如否配有&#xff0c; ssh-agent …

【重学 MySQL】四十六、创建表的方式

【重学 MySQL】四十六、创建表的方式 使用CREATE TABLE语句创建表使用CREATE TABLE LIKE语句创建表使用CREATE TABLE AS SELECT语句创建表使用CREATE TABLE SELECT语句创建表并从另一个表中选取数据&#xff08;与CREATE TABLE AS SELECT类似&#xff09;使用CREATE TEMPORARY …

【重学 MySQL】五十四、整型数据类型

【重学 MySQL】五十四、整型数据类型 整型类型TINYINTSMALLINTMEDIUMINTINT&#xff08;或INTEGER&#xff09;BIGINT 可选属性UNSIGNEDZEROFILL显示宽度&#xff08;M&#xff09;AUTO_INCREMENT注意事项 适合场景TINYINTSMALLINTMEDIUMINTINT&#xff08;或INTEGER&#xff0…

Python 从入门到实战33(使用MySQL)

我们的目标是&#xff1a;通过这一套资料学习下来&#xff0c;通过熟练掌握python基础&#xff0c;然后结合经典实例、实践相结合&#xff0c;使我们完全掌握python&#xff0c;并做到独立完成项目开发的能力。 上篇文章我们讨论了数据库编程接口操作的相关知识。今天我们将学习…