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

相关文章

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

SpringValidation数据校验之约束注解与分组校验方式

《SpringValidation数据校验之约束注解与分组校验方式》本文将深入探讨SpringValidation的核心功能,帮助开发者掌握约束注解的使用技巧和分组校验的高级应用,从而构建更加健壮和可... 目录引言一、Spring Validation基础架构1.1 jsR-380标准与Spring整合1

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

SpringBatch数据写入实现

《SpringBatch数据写入实现》SpringBatch通过ItemWriter接口及其丰富的实现,提供了强大的数据写入能力,本文主要介绍了SpringBatch数据写入实现,具有一定的参考价值,... 目录python引言一、ItemWriter核心概念二、数据库写入实现三、文件写入实现四、多目标写入

使用Python将JSON,XML和YAML数据写入Excel文件

《使用Python将JSON,XML和YAML数据写入Excel文件》JSON、XML和YAML作为主流结构化数据格式,因其层次化表达能力和跨平台兼容性,已成为系统间数据交换的通用载体,本文将介绍如何... 目录如何使用python写入数据到Excel工作表用Python导入jsON数据到Excel工作表用

Mysql如何将数据按照年月分组的统计

《Mysql如何将数据按照年月分组的统计》:本文主要介绍Mysql如何将数据按照年月分组的统计方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql将数据按照年月分组的统计要的效果方案总结Mysql将数据按照年月分组的统计要的效果方案① 使用 DA

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,