GEE学习笔记 六十七:【GEE之Python版教程一】GEE学习背景介绍
相信很多人都对GEE已经比较熟悉了(只是不熟悉GEE的Python的API而已),这里只是做一个简单的总结概括一下GEE相关内容。
1、GEE学习基本要求
目前市面上无论出现什么新的技术,总会出现一种课程或者资料《xxx天零基础精通xxx》。其实做了这么多年的研发,对于这些内容只能评价一句话:“害人不浅!”。学习任何东西都是一个循序渐进的过程,我们不可能跨越基础直接成为大师级别的人物。所以学习GEE有几个基本的要求:
(1)必须懂得编程,最好之前学习过某一门编程语言。
(2)目前GEE支持的接口包括JavaScript版和Python版,之前介绍的都是JavaScript版本,这里介绍Python版。虽然是分成了两个版本,但是这两个版本的接口大部分是通用的。
(3)如果不会这两门编程语言,学习GEE首先必须要学习JavaScript或者Python。不推荐零编程基础的人直接学习编写GEE,否则很多基础的编程问题都无法解决。
(4)多练习,学习GEE没有捷径可走,只有多练习才能掌握相关内容。
(5)会用梯子(具体是什么网上搜索)。
2、GEE是什么?
GEE全称Google Earth Engine,它是一个集科学分析以及地理信息数据可视化的综合性平台,它面向的对象是科研人员、教育人员、非营利性机构、企业以及政府机构等。它本身存储了近40年来主要公开遥感影像数据集,比如Landsat系列产品、Modis系列产品、Sentinel系列产品等,还有就是各种气象数据等。通过GEE提供的各种API以及其他的工具可以方便的查看、计算、分析大范围的各种影像数据。
来源:https://earthengine.google.com/faq/
3、GEE相关的网站
(1)官方网站:https://earthengine.google.com/
(2)官方教程:https://developers.google.com/earth-engine/
(3)在线编辑器:https://code.earthengine.google.com/
(4)官方数据网站:https://developers.google.com/earth-engine/datasets/
(5)官方论坛:https://groups.google.com/forum/#!forum/google-earth-engine-developers
(6)GEE的源码GitHub链接:https://github.com/google/earthengine-api
(7)GEE的Python版API文档(个人版):https://gee-python-api.readthedocs.io/en/latest/index.html
具体这些链接地址,如果不熟悉的人可以都逐一打开看一下,熟悉的只要记住这些地址就可以了,我们在开发中要不断的使用这些内容。这里需要注意一下是最后这个文档,这个不是官方的文档,是我自己编译的GEE的Python版API文档。
4、GEE学习方法分享
(1)官方文档是最权威的资料,要多查看多练习其中的内容
(2)编写代码过程中如果不知道相关API如何做,我们首先要想到的是去API文档中查找相关内容
(3)学习过程中要多登录官方论坛查看别人的问题,同时自己尝试去解决,如果解决不了可以查看别人解决思路,通过不断解决问题学习相关内容。
(4)自己遇到任何问题首先第一个要到论坛搜索一下有没有别人遇到相关问题,第二步使用Google搜索查找是否有相关问题,最后在论坛中发帖咨询或者在群里问一下别人。这里我要纠正一下很多人的一个毛病,遇到问题首先自己从来不考虑就直接找别人询问,其实这样过分依赖询问别人就会造成自己解决能力会越来越低。
(5)不断编码练习才是进步王道!
5、JavaScript版和Python版API异同
(1)编程语言不一致。JavaScript版通常是在在线编辑器使用,但是Python版我们通常是在本地编写代码使用,如果本地配置环境有问题,那么就只能使用在线版的了(后面会讲解如何配置在线版的Python编辑器)。
(2)两者API的内容有大约60%-70%是一致的,这点可能很多人会迷惑,我简单解释一下。我们使用的Python版的API其实不能算是纯Python版的API,GEE它的最原生的API就是JavaScript版的Restful API接口,但是由于很多人都是使用Python做开发,所以GEE推出了Python版本的API接口。这个接口是对JavaScript版本的接口做了二次封装,然后通过绑定等相关技术使得Python可以调用JavaScript相关代码。在此基础上Python版本做了一些新的接口,但同时也保留了JavaScript大部分的接口内容。
举一个简单的python代码例子,比如我要计算一个列表的和,可以写如下代码
其实如果你要找python源码中内容,在ee.ee_list.List()中并没有 reduce 方法,同时在python版的API中也没有Reducer相关的内容,但是我们这里可以直接和在JavaScript中一样直接按照JavaScript的API接口方式写代码,也就是写成 xxx.reduce(ee.Reducer.sum()) 这种形式。
这就是Python版GEE接口第一部分相关背景的介绍,下一章我们会介绍Python开发环境的搭建配置。
大家如果有问题需要交流或者有项目需要合作,可以微信联系我,加微信好友请留言加上“GEE”。
知乎专栏:https://zhuanlan.zhihu.com/c_123993183
CSDN:https://blog.csdn.net/shi_weihappy
GEE学习笔记 六十七:【GEE之Python版教程一】GEE学习背景介绍相关推荐
- OpenCV学习笔记(十六)——CamShift研究 OpenCV学习笔记(十七)——运动分析和物体跟踪Video OpenCV学习笔记(十八)——图像的各种变换(cvtColor*+)imgproc
OpenCV学习笔记(十六)--CamShift研究 CamShitf算法,即Continuously Apative Mean-Shift算法,基本思想就是对视频图像的多帧进行MeanShift运算 ...
- 前端入门学习笔记六十七
<!DOCTYPE html> <html><head><meta charset="utf-8"><title>CSS ...
- Python学习笔记六——画小猪佩奇
目录 Python学习笔记六--画小猪佩奇 画布 画笔 属性设置 操纵命令 运动命令 画笔控制命令 全局控制命令 其他命令 Python学习笔记六--画小猪佩奇 使用Python的turtle库可以绘 ...
- 从滚动条到画布的几个代码文件——Python学习笔记之十七
从滚动条到画布的几个代码文件--Python学习笔记之十七 这一章的继续学习,比在前的照片涉及代码要轻松一些,代码打完后的预期结果总能实现.特别让人欣慰的一点,文本上的文字理解好像上了一个台阶,不用多 ...
- Polyworks脚本开发学习笔记(六)-比较运算、数学运算、逻辑运算及流程控制
Polyworks脚本开发学习笔记(六)-比较运算.数学运算.逻辑运算及流程控制 前言 比较运算.逻辑运算及流程控制是编程的基本语法,Polyworks的语法规则与VB/C#/Python等并没有很大 ...
- Python快速编程入门#学习笔记03# |第二章 :Python基础(代码格式、标识符关键字、变量和数据类型、数字类型以及运算符)
全文目录 ==先导知识== 学习目标: 2.1 代码格式 2.1.1 注释 2.1.2 缩进 2.1.3 语句换行 2.2 标识符和关键字 2.2.1 标识符 2.2.2 关键字 2.3 变量和数据类 ...
- Scipy Lecture Notes学习笔记(一)Getting started with Python for science 1.2. The Python language
Scipy Lecture Notes学习笔记(一)Getting started with Python for science 1.2. The Python language 1.2.2. 基本 ...
- Ethernet/IP 学习笔记六
Ethernet/IP 学习笔记六 EtherNet/IP defines two primary types of communications: explicit and implicit (Ta ...
- 设计模式学习笔记(十七)——Command命令模式
设计模式学习笔记(十七)--Command命令模式 Command命令模式介绍: Command命令模式是一种对象行为型模式,它主要解决的问题是:在软件构建过程中,"行为请求者"与 ...
最新文章
- 2021年大数据Hive(四):Hive查询语法
- Platform Builder 5下WinCE 5.0目录结构
- shell查找符号链接及其指向目标的方法
- 关于iOS知识的提升
- ML之SR:Softmax回归(Softmax Regression)的简介、使用方法、案例应用之详细攻略
- 能源利用率逼近理论极限 阿里巴巴展示液冷黑科技
- matlab频响优化,MATLAB中关于频响图函数最优化的程序问题
- php 错误 异常,php中的异常和错误解析
- ref与out之间的区别
- mac mysql log在哪里_mac如何开启mysql bin-log
- 2018走向成熟 2019未来可期 | PaddlePaddle大有可为
- editview只输入英文_入门小百科丨如何在电脑/手机输入日语
- 使用jqueryMobile + phoneGap 开发移动端应用
- 简单实用的Android ORM框架TigerDB
- 信号与线性系统管致中第六版pdf_第五讲 信号流图
- java判断生肖_Java写出生肖年判断
- eQTL | Expression quantitative trait loci | 表达数量性状基因座 | QTL | 数量性状位点
- 如何利用ewomail搭建邮件服务器
- HTML期末作业,基于html实现中国脸谱传统文化网站设计(5个页面)
- ceilometer+gnocchi+influxdb