GEE学习计划 Day·4

跟着知乎大佬 无形的风 学GEE Day·4
大纲:UI组件总述、模块导入、资源导出、UI组件、使用矢量资源

一、UI组件总述

GEE 的UI组件主要包括:按钮、复选框、文本、面板容器、滑块(进度条)、文本输入框、下拉列表、图表、缩略图、地图、根节点等
详见:https://zhuanlan.zhihu.com/p/29763414

二、模块导入(公共库的构建与应用)

对于一些会反复使用的公共代码,编写入公共库,可以简化代码编写。

//公共库要加入exports
exports.ndvi = function(img){
 var ndvi = img.normalizedDifference(["B5","B4"]);
 return ndvi
 }

将上述代码文件存入script文件夹下,在调用时用require引用。

var module_f = require('path');
var result = module_f.ndvi(img);

三、资源导出

1、导出单张影像到Drive:
使用Export.image.toDrive({
image: imageName,
description:‘imageToDrive’,
scale:30,
region: regiongeometry
});
2、对于多张影像写循环导出到Drive中,主要用colList = collection.size().getInfo()获取符合条件的影像数量,用for循环批量导出,文件名使用Img.id()获取,边界几何大小通过img.geometry().bounds()获取

详见:https://zhuanlan.zhihu.com/p/30004153

四、UI组件

1、ui.Label
参数:value、style
方法:getValue()、setValue(value)、style()
定义一个label

var label1 = ui.Label({
 value:"this is label1",
 style:{
  color:"#ff0000",
  backgroundColor:"#00ff00",
  border:"3px solid black"
  }
  //红色字体、绿色背景、边界3px实心黑色
  print(label1.getValue());
  label1.setValue("change value");
  //常用style包括:backgroundColor、border、color、margin、shown、height、width、padding、fontsize、textAlign等
  

2、ui.Button
参数:label、onClick、disabled、style
方法:getDisabled()、getLabel()、onClick(callback)、setDisabled(disabled)、setLabel(label)、style()、unlisten(idOrType)

var btn = ui.Button("button1");
btn.onClick(function(){
 print("click button1");
 });
 print(btn);
 btn.setDisabled(true)

3、ui.Checkbox
参数:label,value,onChange,disabled,style
方法:getDisabled()、getValue()、onChange(callback)、setDisabled(disabled)、setValue(value,trigger)、style()、unlisten(idOrType)

var checkbox = ui.Checkbox("checkbox1",true);
checkbox1.onChange(function(checked){
print("1 select box:"+checked);
})

4、ui.Thumbnail
参数:image,params,onClick,style
方法:getImage(),getParams,onClick(callback),setImage(image),setParams(params),style(),unlisten(idOrType)

5、ui.Textbox
参数:placeholder,value,onChange,disabled,style
方法:getDisabled(), getPlaceholder(), getValue(), onChange(callback), setDisabled(disabled), setPlaceholder(placeholder), setValue(value, trigger), style(), unlisten(idOrType)

6、ui.Slider
参数:min, max, value, step, onChange, direction,disabled, style
方法: getDisabled(), getMax(), getMin(), getStep(), onChange(callback), onSlide(callback), setDisabled(disabled), setMax(value), setMin(value),setStep(value), setValue(value,trigger), style(), unlisten(idOrType)

7、ui.Select
参数:items(数据为字典类型), placeholder, value, onChange, disabled, style
方法:getDisabled(), getPlaceholder(), getValue(), items(), onChange(callback), setDisabled(disabled), setPlaceholder(placeholder), setValue(value, trigger), style(), unlisten(idOrType)

所有组件在使用时都需要先定义,再print,才能显示在console中。
详见官方文档

五、使用矢量资源

以行政区划边界对图像进行裁剪,首先需要上传矢量数据,若上传的数据为包含多个地区的数据,则需要选择目标地区,用ee.Filter.eq()函数筛选目标地区。
创建一个待裁剪的图层,使用.clip(city)方法裁剪对应区域并addLayer显示,需要显示边界时创建空白Image(var empty = ee.Image().toByte()),然后绘制轮廓empty.paint({featureCollection:city,color:0,width:3});
Map.addLayer(outline, {palette: “ff0000”},“outline”)

### 关于Google Earth Engine与深度学习的结合应用 #### 环境搭建 对于希望在Google Earth Engine(GEE)平台上开展深度学习项目的开发者而言,环境配置是一个重要的起点。当前网络上的资源相对有限,但已有部分平台提供了基础指导[^1]。这些建议涵盖了如何设置必要的开发工具链以及理解基本概念。 #### 数据准备流程 为了使深度学习算法能够在GEE环境中有效运行,数据准备工作至关重要。具体来说,需要先通过GEE预处理影像并将其转换成适合机器学习框架使用的格式——例如`tfrecord`文件形式存储的数据集。之后再将这些经过特殊打包后的资料下载至本地计算机,在那里可以进一步利用诸如TensorFlow这样的库来进行更深入的研究工作[^3]。 #### 模型选择与发展方向 传统上,在GEE中执行的土地覆盖分类任务大多依赖像随机森林之类的统计学方法;然而这类技术往往忽略了空间关联性和局部模式识别的重要性。相比之下,采用卷积神经网络(CNNs)或其他类型的深层架构能够更好地捕捉图像中的复杂特征,并提高预测精度。尤其是在面对高分辨率遥感图片时,基于深度学习的方法展现出了显著优势[^2]。 ```python import tensorflow as tf from google.cloud import storage def load_data_from_gcs(bucket_name, source_blob_name): """Loads data from Google Cloud Storage.""" client = storage.Client() bucket = client.bucket(bucket_name) blob = bucket.blob(source_blob_name) with blob.open("rb") as f: dataset = tf.data.TFRecordDataset(f) return dataset ``` 此代码片段展示了如何从谷歌云储存加载预先处理过的`.tfrecord`文件进入TensorFlow程序中进行后续分析操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值