Google Earth Engine(GEE)——可视化动态图
代码:
var geometry = /* color: #d63000 *//* shown: false *//* displayProperties: [{"type": "rectangle"}] */ee.Geometry.Polygon([[[116.3170431824926, 39.951392210363046],[116.3170431824926, 39.86079576415406],[116.4708517762426, 39.86079576415406],[116.4708517762426, 39.951392210363046]]], null, false);// 矢量
var aoi = geometry
print(aoi);
Map.addLayer(aoi);
var centroid = aoi.centroid(1)
print(centroid);
var coors = centroid.coordinates().getInfo()
var x = coors[0]
var y = coors[1];
Map.setCenter(x, y, 10);// 详述日期
// Getting Temperatures for Every Month
var period = ['-01-01', '-12-01']; var years = [['1999', '2000'],['2000', '2001'],['2001', '2002'],['2002', '2003'],['2003', '2004'],['2004', '2005'],['2005', '2006'],['2006', '2007'],['2007', '2008'],['2008', '2009'], ['2009', '2010'], ['2010', '2011'],['2011', '2012'],['2012', '2013'],['2013', '2014'],];var add_period = function(year){var start_date = period[0]; var end_date = period[1];return [year[0] + start_date, year[1] + end_date];
};var concatenate_year_with_periods = function(years, period){return years.map(add_period);
};var Dates = concatenate_year_with_periods(years, period);/**********************************************************************Landsat 7
***********************************************************************/
var visualization = {bands: ['B4', 'B3', 'B2'],min: 0.0,max: 0.3,
};var visualization_ = {bands: ['B4_median', 'B3_median', 'B2_median'],min: 0.0,max: 0.3,gamma: [0.95, 1.1, 1]
};// 去云
var cloudMaskL7 = function(image) {var qa = image.select('BQA');var cloud = qa.bitwiseAnd(1 << 4).and(qa.bitwiseAnd(1 << 6)).or(qa.bitwiseAnd(1 << 8));var mask2 = image.mask().reduce(ee.Reducer.min());return image//.select(['B3', 'B4'], ['Red', 'NIR']).updateMask(cloud.not()).updateMask(mask2).set('system:time_start', image.get('system:time_start'));
};var dataset = ee.ImageCollection('LANDSAT/LE07/C01/T1_TOA').filterDate('1999-01-01', '2020-12-31').filterBounds(aoi)//.map(applyScaleFactors).map(cloudMaskL7).map(function(image){return image.clip(aoi)});// 使用中位像素值创建合成物
var median_yearly_landsat_7 = function(start, end){var dataset_ = dataset.filter(ee.Filter.date(start, end));var median_yearly = dataset_.reduce(ee.Reducer.median());return median_yearly;
};var composite_name_list_l7 = ee.List([]);var apply_monthly_composite = function(date_list){var start = date_list[0];var end = date_list[1]; var output_name = start + "TO" + end + "_LANSAT_7";var composite = median_yearly_landsat_7(start, end);composite_name_list_l7 = composite_name_list_l7.add([composite, output_name]);Map.addLayer(composite, visualization_, output_name, false);Export.image.toDrive({image: composite,description: output_name,fileFormat: 'GeoTIFF',crs : 'EPSG:4326',folder : 'LANDSAT_LST_LAS_LOMAS',region: aoi});return 0;
};Dates.map(apply_monthly_composite); /******************************************************************
// Animation gif
// 创建RGB可视化图像,作为动画框架使用。
/******************************************************************/
var text = require('users/gena/packages:text');
var annotated_collection_list = ee.List([])
var annotations = [//大比例尺,因为图像是整个世界的。使用较小的比例,否则超限{position: 'left', offset: '0.25%', margin: '0.25%', property: 'label', scale: 1.5} ];var create_annotated_collection = function(image_and_id) {var img = image_and_id[0];var image_id = image_and_id[1];console.log(img);console.log(image_id);var img_out = img.visualize(visualization_).clip(aoi)//.paint(municipalities, 'FF0000', 2).set({'label': image_id});Map.addLayer(img_out);var annotated = text.annotateImage(img_out, {}, Bayern, annotations);annotated_collection.add(annotated);return 0;
};var municipalities_geom = geometry;
var n = composite_name_list_l7.size().getInfo();
print(n);
for (var i = 0; i < n; i++) {var img_info = ee.List(composite_name_list_l7.get(i));print(img_info);var img = ee.Image(img_info.get(0));var img_id = ee.String(img_info.get(1));var year = ee.String(ee.List(img_id.split("-").get(0)));var month = ee.String(ee.List(img_id.split("-").get(1)));var img_id_ = year.getInfo() + "_" + month.getInfo();var img_out = img.visualize(visualization_).set({'label': img_id_});var annotated = text.annotateImage(img_out, {}, municipalities_geom, annotations);Map.addLayer(annotated);var annotated_collection_list = annotated_collection_list.add(annotated)
}var annotated_col = ee.ImageCollection(annotated_collection_list)// 定义GIF的可视化参数。
var gifParams = {'region': geometry,'dimensions': 254,'crs': 'EPSG:32632','framesPerSecond': 1
};// 打印GIF的URL到控制台。
print(annotated_col.getVideoThumbURL(gifParams));
// 在控制台中渲染GIF动画。
print(ui.Thumbnail(annotated_col, gifParams));
这里每一次最终的影像结果:
本文所需用到的函数:
getVideoThumbURL(params, callback)
为这个ImageCollection获取一个动画缩略图的URL。
返回一个缩略图的URL,如果指定了回调,则未定义。
参数。
this:imagecollection(ImageCollection)。
ImageCollection实例。
params (对象):
与ee.data.getMapId相同的参数,另外,可以选择。
dimensions (a number or pair of numbers in format WIDTHxHEIGHT) 要渲染的缩略图的最大尺寸,单位是像素。如果只传递了一个数字,它将被用作最大尺寸,而另一个尺寸则通过比例缩放来计算。
region(E,S,W,N或GeoJSON)要渲染的图像的地理空间区域。默认情况下是整个图像。
format(字符串) 编码格式。只接受 "gif"。
framesPerSecond(数字) 动画速度。
callback(函数,可选)。
一个可选的回调,处理产生的URL字符串。如果不提供,将同步进行调用。
返回。对象|字符串
这里我们看到动态图没有动画,一片黑色,这里是否能有一个有效的结果呢?
大家可以参考:
(193条消息) Google Earth Engine ——快速实现MODIS影像NDVI动画的在线加载并导出_此星光明的博客-CSDN博客
(194条消息) Google Earth Engine(GEE)——利用Landsat 5 每一期影像制作动画时序并附带时间属性_此星光明的博客-CSDN博客_landsat5
Google Earth Engine(GEE)——可视化动态图相关推荐
- Google Earth Engine(GEE)——User memory limit exceeded(2)
上一次我们已经知道如何去进行避免这种错误的发生,有关详细内容,如果单单只是解决这个问题我们用到的是limit 和 first,上一次的博客在这里: (207条消息) Google Earth Engi ...
- Google Earth Engine(GEE) 01-中输入提示快捷键Ctrl+space无法使用的问题
Google Earth Engine(GEE) 01-中输入提示快捷键Ctrl+space无法使用的问题 GEE中 Ctrl+space组合键用于代码输入快捷提示,能够提高编码的准确度和速度,但是, ...
- Google Earth Engine(GEE)批量下载代码(以 NDVI数据为例)
下载数据先准备工作(具体细节都能查到):科学上网 谷歌邮箱,谷歌邮箱注册GEE账号. 一:导入需要下载边界shp文件. 标题 找到自己的shp文件,导入除了sbx文件的所有文件. 导入成功 命名ass ...
- 使用Google Earth Engine (GEE)实现MODIS数据批量下载
使用Google Earth Engine GEE实现MODIS数据批量下载 前言 下载数据代码 批量执行run任务 关注公众号,分享GIS知识.ArcGIS教程.SCI论文与科研日常等 前言 上图是 ...
- 基于google earth engine(GEE)下载研究区域影像
基于google earth engine(GEE)下载研究区域影像 当研究需要Landsat数据时,我们可以通过USGS官网或者地理空间数据云平台下载.由于地理空间数据云目前无法下载到较新的数据,可 ...
- Google Earth Engine (GEE) ——卫星影像的监督分类(svm)
问题 GEE 提供哪些机器学习技术? 如何对卫星图像进行监督分类? 如何评估分类器的准确性? 如何手动创建自己的几何图形? 目标 练习查找无云图像和使用手绘几何导入 学习训练和应用分类算法所需的基本功 ...
- 关于google earth engine(GEE)的一些想法与大胆预测
我接触GEE有两年了,GEE留给我的印象是:无所不能. 不管是从庞大的数据量,还是包含遥感的各类算法:随机森林.SVM.CNN,都让人惊讶. 从GEE的云端操作来看,传统遥感需要几个月做出来的全国ND ...
- google earth engine GEE批量 run下载插件
在Google earth engine中,批量导出文件经常遇到多个文件下载的情况,只能一个个点击RUN.这里介绍一款插件,Open Earth Engine extension .该插件的作者是Ma ...
- Google Earth Engine (GEE) ——Earth Engine Explorer (EE Explorer)使用最全解析(8000字长文)
Google 地球引擎简介 Earth Engine Explorer (EE Explorer) 是一个轻量级地理空间图像数据查看器,可以访问Earth Engine Data Catalog 中提 ...
最新文章
- java 英文字符 字节_3、在JAVA语言中,每个英文字符占 个字节,每个中文汉字占( )个字节。...
- 用wget做站点镜像
- codevs 1043 方格取数 2000年NOIP全国联赛提高组
- velocity模板的语法简要汇总
- svn服务端及客户端搭建和使用(三)
- jquery+easyui开发、培训文档
- 深度学习之数据增强方案和TensorFlow操作
- python读excel并写入_Python 写入和读取Excel数据
- cisco配置交换机管理地址和默认网关
- Spring Cloud Eureka服务注册中心 多节点搭建(学习总结)
- ArgularJS和mdui的对话框冲突的解决方案
- CCF NOIP2018复赛提高组一等奖获奖名单
- 计算机专业软件工程的二本大学有哪些,软件工程专业二本大学排名哪个好?
- UTF-8字符「EF BF BD」-备胎
- 安卓利用谷歌文字转语音引擎实现离线文字播报语音
- wx2540h配置教程_求高手解决H3C无线网络 WX3024E和无线AP设备之间的详细配置命令!...
- #边学边记 第一章 信息系统与信息化(2)
- App性能测试过程记录
- 理解闭包的前置条件—— λ演算和作用域规则
- vs2017 c++工程编译解析