Google Earth Engine(GEE)——可视化动态图

这篇具有很好参考价值的文章主要介绍了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));

Google Earth Engine(GEE)——可视化动态图,GEE错误集,javascript,开发语言,ecmascript,url,动画

这里每一次最终的影像结果:

Google Earth Engine(GEE)——可视化动态图,GEE错误集,javascript,开发语言,ecmascript,url,动画

 本文所需用到的函数:

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字符串。如果不提供,将同步进行调用。

返回。对象|字符串

Google Earth Engine(GEE)——可视化动态图,GEE错误集,javascript,开发语言,ecmascript,url,动画

这里我们看到动态图没有动画,一片黑色,这里是否能有一个有效的结果呢?

大家可以参考:

(193条消息) Google Earth Engine ——快速实现MODIS影像NDVI动画的在线加载并导出_此星光明的博客-CSDN博客

(194条消息) Google Earth Engine(GEE)——利用Landsat 5 每一期影像制作动画时序并附带时间属性_此星光明的博客-CSDN博客_landsat5文章来源地址https://www.toymoban.com/news/detail-602237.html

到了这里,关于Google Earth Engine(GEE)——可视化动态图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Google Earth Engine(GEE)扩展——制作的GEE app的误区

    地球引擎有一个用户界面API,允许用户直接从JavaScript代码编辑器中构建和发布交互式Web应用。许多读者会在其他章节中遇到对ui.Chart的调用,但还有更多的界面功能可用。特别是,用户可以利用ui函数来为他们的地球引擎脚本构建整个图形用户界面(GUI)。GUI可以包括简单的

    2023年04月12日
    浏览(41)
  • Google Earth Engine(GEE)——LandScan人口数据集

    LandScan人口数据 LandScan计划于1997年在橡树岭国家实验室(ORNL)启动,以满足为后果评估改进人口估计的需要。例如,全球范围内的自然和人为灾害使大量的人口处于危险之中,而且往往没有什么预先警告。开发高分辨的估计值是至关重要的,这样他们就可以对多个地理范围内

    2024年02月12日
    浏览(43)
  • Google Earth Engine(GEE)——python导出 GeoTIFF 文件

    处理地球引擎数据集后,您可能需要将结果导出 ee.Image 到 GeoTIFF。例如,将其用作 Earth Engine 外部数值模型的输入,或将其与您喜欢的 GIS 中的个人地理参考文件重叠。有多种方法可以做到这一点(请参阅开发人员指南的导出部分)。在这里,我们探索两种选择: ee.Image 在

    2023年04月13日
    浏览(72)
  • Google Earth Engine(GEE)——快速建立一个10km的格网

    本文的主要目的是如何快速实现区域的一个网格的建立,主要过程是获取影像的经纬度,然后分别获取经纬度乘以一个数然后转化为整型,并将长宽相乘转化为一个矢量,然后对每一个歌王进行边界的坐标的获取与,最后返回一个多边形geometry,最后还要建立一个可以画图的

    2024年02月05日
    浏览(49)
  • Google Earth Engine(GEE)下载全球土壤砂粒(Sand)含量数据

    SoilGrids,是一个全球土壤属性地图,现在可以通过GEE下载。 SoilGrids是ISRIC–世界土壤信息的一个项目,旨在提供一个全球一致的、由数据驱动的系统,以预测土壤性质,并将其作为一项重要指标。该项目旨在提供一个全球一致的、由数据驱动的系统,使用全球协变量和全球拟

    2024年02月08日
    浏览(61)
  • Google Earth Engine(GEE)合成长时序的月NDVI与LST

    今天来简单分享下如何在GEE 合成长时序的月NDVI与LST,并进行分析 目标: 利用MODIS为数据源,在GEE计算某一地区对 月NDVI与LST ,并制作统计图 以武汉市为研究区 GEE实现代码: 首先确定研究区和使用的数据集 确定起止时间和月份 合成NDVI和LST 合成月NDVI 同样的方法合成月LST

    2024年02月15日
    浏览(52)
  • GEE(Google earth engine)中的Landsat影像的选择和去云(附代码)

            在这里可以看到GEE提供的全部Landsat数据:Landsat Collections in Earth Engine  |  Earth Engine Data Catalog  |  Google Developers               随便点进去,比如Landsat8,有三个数据,一个是地表面反射率数据,一个是大气层顶部的反射率数据,一个是raw。大气层顶部的反射数据

    2024年02月03日
    浏览(50)
  • Google Earth Engine(GEE) ——AI绘图工具Midjourney能替代传统设计师吗?

    近期智能AI话题爆火,前有ChatGpt,现又出现了一个AI绘图工具Midjourney,号称没有美术基础的人也能快速上手制作出漂亮的图像。也有不少声音表示设计师都要失业了。AI绘图工具能取代设计师吗?你可以参考以下角度来谈谈你的看法。 前言 – 床长人工智能教程 1,你目前从事

    2024年02月09日
    浏览(46)
  • Google Earth Engine(GEE)——function中函数注意事项(内部变量不可在函数外调用)

    function函数是JavaScript的基本构件之一。JavaScript中的函数类似于过程--一组执行任务或计算数值的语句,但要使一个过程有资格成为一个函数,它应该接受一些输入并返回一个输出,在输入和输出之间有一些明显的关系。要使用一个函数,你必须在你想调用它的范围内定义它。

    2024年02月13日
    浏览(66)
  • Google Earth Engine(GEE)——土地分类精度分析randomColumn产生伪随机数然后进行混淆矩阵计算

    我们在进行土地分类时,需要进行精度验证,但是之前我们要进行样本点的随机分类,也就是分出一部分作为训练样本另外一部分作为,这是我们要想产生随机种子赋值给我们所选定的训练样本,这样我们就可以随机将样本进行分成训练样本和验证样本,而我们使用的函数

    2024年02月09日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包