GEE APP:利用夜间灯光数据建立一个简易的逐年影像查看器

2024-08-28 21:52

本文主要是介绍GEE APP:利用夜间灯光数据建立一个简易的逐年影像查看器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简介

很多时候我们可以通过简单的滑块进行逐年影像的查看,slider这个工具可以进行每一年的夜间灯光数据的查看,这里主需要设定其实和后续的年份,另外,并给每一年进行属性设定对应的影像即可。这里最关键的就是一个返回值函数的设定,也就是滑块中的onchange函数的设定,这里我们首先要初始化地图界面,然后设定每一年份的属性。

函数

ee.Date.fromYMD(year, month, day, timeZone)

Returns a Date given year, month, day.

Arguments:

year (Integer):

The year, 2013, for example.

month (Integer):

The month, 3, for example.

day (Integer):

The day, 15, for example.

timeZone (String, default: null):

The time zone (e.g., 'America/Los_Angeles'); defaults to UTC.

Returns: Date

ee.DateRange(start, endtimeZone)

Creates a DateRange with the given start (inclusive) and end (exclusive), which may be Dates, numbers (interpreted as milliseconds since 1970-01-01T00:00:00Z), or strings (such as '1996-01-01T08:00'). If 'end' is not specified, a 1-millisecond range starting at 'start' is created.

创建具有给定开始(包括)和结束(不包括)的Date Range,这些开始可能是日期、数字(解释为自1970-01- 01 T00:00 Z以来的毫秒)或字符串(例如“1996-01- 01 T08:00”)。如果未指定“end”,则会创建从“start”开始的1毫秒范围。

Arguments:

start (Object)

end (Object, default: null)

timeZone (String, default: null):

If start and/or end are provided as strings, the time zone in which to interpret them; defaults to UTC.

Returns: DateRange

ui.Slider(minmaxvaluesteponChangedirectiondisabledstyle)

A draggable target that ranges linearly between two numeric values. The value of the slider is displayed as a label alongside it.

Arguments:

min (Number, optional):

The minimum value. Defaults to 0.

max (Number, optional):

The maximum value. Defaults to 1.

value (Number, optional):

The initial value. Defaults to 0.

step (Number, optional):

The step size for the slider. Defaults to 0.01.

onChange (Function, optional):

A callback to fire when the slider's state changes. The callback is passed the slider's current value and the slider widget.

direction (String, optional):

The direction of the slider. One of

'horizontal' or 'vertical'. Defaults to 'horizontal'.

disabled (Boolean, optional):

Whether the slider is disabled. Defaults to false.

style (Object, optional):

An object of allowed CSS styles with their values to be set for this widget. See style() documentation.

Returns: ui.Slider

代码

/*
收藏幻灯片
通过使用滑动块选择显示层来可视化集合中的更改 
*/var roi = /* color: #d63000 *//* displayProperties: [{"type": "rectangle"}] */ee.Geometry.Polygon([[[30.077489497329147, -28.41003324023103],[30.077489497329147, -28.718802987087276],[30.635045649672897, -28.718802987087276],[30.635045649672897, -28.41003324023103]]], null, false);// 从带有silder的收藏中选择图像。 var collection = ee.ImageCollection('NOAA/DMSP-OLS/NIGHTTIME_LIGHTS').select('stable_lights')// 一个帮助器函数,用于在默认地图上显示给定年份的图像。 
var showLayer = function(year) {Map.layers().reset();var date = ee.Date.fromYMD(year, 1, 1);var dateRange = ee.DateRange(date, date.advance(1, 'year'));var image = collection.filterDate(dateRange).first();Map.addLayer({eeObject: ee.Image(image),visParams: {min: 0,max: 63,palette:['000000', 'FFFF00', 'FFA500', 'FF4500', 'FF0000']},name: String(year)});
};// 创建标签和属性
var label = ui.Label('Light Intensity for Year');
var slider = ui.Slider({min: 1992,max: 2014,step: 1,onChange: showLayer,style: {stretch: 'horizontal'}
});// 创建一个包含滑动块和标签的面板。
var panel = ui.Panel({widgets: [label, slider],layout: ui.Panel.Layout.flow('vertical'),style: {position: 'top-center',padding: '7px'}
});// 添加面板
Map.add(panel);// 设定默认的滑块和年份设定地图中心店
slider.setValue(2007);
Map.setCenter(30, 45, 4);

结果

这篇关于GEE APP:利用夜间灯光数据建立一个简易的逐年影像查看器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1115988

相关文章

Redis的数据过期策略和数据淘汰策略

《Redis的数据过期策略和数据淘汰策略》本文主要介绍了Redis的数据过期策略和数据淘汰策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录一、数据过期策略1、惰性删除2、定期删除二、数据淘汰策略1、数据淘汰策略概念2、8种数据淘汰策略

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

Python给Excel写入数据的四种方法小结

《Python给Excel写入数据的四种方法小结》本文主要介绍了Python给Excel写入数据的四种方法小结,包含openpyxl库、xlsxwriter库、pandas库和win32com库,具有... 目录1. 使用 openpyxl 库2. 使用 xlsxwriter 库3. 使用 pandas 库

SpringBoot定制JSON响应数据的实现

《SpringBoot定制JSON响应数据的实现》本文主要介绍了SpringBoot定制JSON响应数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录前言一、如何使用@jsonView这个注解?二、应用场景三、实战案例注解方式编程方式总结 前言

python实现简易SSL的项目实践

《python实现简易SSL的项目实践》本文主要介绍了python实现简易SSL的项目实践,包括CA.py、server.py和client.py三个模块,文中通过示例代码介绍的非常详细,对大家的学习... 目录运行环境运行前准备程序实现与流程说明运行截图代码CA.pyclient.pyserver.py参

使用Python在Excel中创建和取消数据分组

《使用Python在Excel中创建和取消数据分组》Excel中的分组是一种通过添加层级结构将相邻行或列组织在一起的功能,当分组完成后,用户可以通过折叠或展开数据组来简化数据视图,这篇博客将介绍如何使... 目录引言使用工具python在Excel中创建行和列分组Python在Excel中创建嵌套分组Pyt

在Rust中要用Struct和Enum组织数据的原因解析

《在Rust中要用Struct和Enum组织数据的原因解析》在Rust中,Struct和Enum是组织数据的核心工具,Struct用于将相关字段封装为单一实体,便于管理和扩展,Enum用于明确定义所有... 目录为什么在Rust中要用Struct和Enum组织数据?一、使用struct组织数据:将相关字段绑

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate

Java实现Elasticsearch查询当前索引全部数据的完整代码

《Java实现Elasticsearch查询当前索引全部数据的完整代码》:本文主要介绍如何在Java中实现查询Elasticsearch索引中指定条件下的全部数据,通过设置滚动查询参数(scrol... 目录需求背景通常情况Java 实现查询 Elasticsearch 全部数据写在最后需求背景通常情况下

使用PyQt实现简易文本编辑器

《使用PyQt实现简易文本编辑器》这篇文章主要为大家详细介绍了如何使用PyQt5框架构建一个简单的文本编辑器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录分析主窗口类 (MyWindow)菜单操作语法高亮 (SyntaxHighlighter)运行程序主要组件代码图示分析实现