当前位置: 首页 > news >正文

GEE学习笔记 六十三:新的地图图层ui.Map.CloudStorageLayer

 在GEE中导出数据有一种方式是直接导出地图到Google Cloud Storage中,也就是Export.map.toCloudStorage(xxx),这种方式是将我们计算生成影像导出成为静态瓦片的格式存放在Google Cloud Storage中。我们可以在其他的前端程序比如OpenLayer、Mapbox GL JS等中直接使用,但是在GEE中之前是无法直接使用的。为了解决这个问题GEE推出了自己直接在编辑器中调用静态瓦片的方法,也就是最新的功能ui.Map.CloudStorageLayer(xxx)。

(1)构造方法

 

构造方法很简单,也就是设置一下Google Cloud Storage的bucket路径、缩放级别、后缀等等参数然后在GEE中直接显示就可以。详细参数说明:

  • bucket

必选项,存放瓦片资源的bucket名称

  • path

必选项,瓦片存在在bucket中的相对路径

  • maxZoom

必选项,缩放最大级别,也就是瓦片最大缩放级别

  • suffix

可选项,瓦片文件的后缀名称(常用的是.png或者.jpeg,需要看我们存放的类别)

  • name

可选项,在GEE地图区域显示图层的名称,默认是空字符串

  • shown

可选项,是否显示此图层,默认是true

  • opacity

可选项,透明度,值是0-1之间的数字,默认是1

(2)具体API方法也非常简单就是设置属性方法setXXX(xxx)和获取属性方法getXXX(xxx),如下图:

具体每一个方法的功能可以和构造方法中参数对应,set是设置方法,get是获取属性值方法,这里就不在一一介绍。

(3)具体例子

这里使用的是官方提供的一个资源(自己没有开通相关的Google Cloud Storage,只能使用官方资源)。

var layer = ui.Map.CloudStorageLayer({bucket: 'earthenginepartners-hansen',path: 'tiles/gfc_v1.4/loss_year',maxZoom: 12,name: "hansen",suffix: '.png'});Map.add(layer);// get propertiesprint("getBucket", layer.getBucket());print("getMaxZoom", layer.getMaxZoom());print("getName", layer.getName());print("getOpacity", layer.getOpacity());print("getSuffix", layer.getSuffix());print("getPath", layer.getPath());print("getMaxZoom", layer.getMaxZoom());print("getShown", layer.getShown());// set new propertiesvar layer1 = ui.Map.CloudStorageLayer({bucket: 'earthenginepartners-hansen',path: 'tiles/gfc_v1.4/loss_year',maxZoom: 12,name: "hansen",suffix: '.png'});layer1 = layer1.setName("hansen1");layer1 = layer1.setOpacity(0.5);Map.add(layer1);

代码分析:

  • 第一个layer是直接使用构造方法做的一个图层,最大缩放级别是12,图层在GEE中显示的名称是“hansen”,后缀是“.png”等;

  • 第二个layer1构造方法和layer一致,然后后面是通过set方法重新修改了图层名称以及透明度;

  • 第一次运行代码会出现如下内容,我们需要确认给GEE权限访问这个bucket,也就是点击按钮同意访问bucket,否则我们是无法显示我们想要的结果的。

 

显示结果:

  • 输出的属性

  • 图层显示的名称

  • 地图显示

  来源请引用:地理遥感生态网科学数据注册与出版系统.

相关文章:

GEE学习笔记 六十三:新的地图图层ui.Map.CloudStorageLayer

在GEE中导出数据有一种方式是直接导出地图到Google Cloud Storage中,也就是Export.map.toCloudStorage(xxx),这种方式是将我们计算生成影像导出成为静态瓦片的格式存放在Google Cloud Storage中。我们可以在其他的前端程序比如OpenLayer、Mapbox GL JS等…...

ClickHouse 语法详解

ClickHouse有2类解析器:完整SQL解析器(递归式解析器),以及数据格式解析器(快速流式解析器) 除了 INSERT 查询,其它情况下仅使用完整SQL解析器。 INSERT查询会同时使用2种解析器:INSE…...

手把手教你将微信小程序放到git上

背景 首先,要创建一个自己的git仓库,这里默认大家都能够自己创建了git仓库了。如果不会创建仓库的话,百度一下,很容易就能够创建了!(后续,如有不知道在哪里,怎么创建仓库的话&#…...

功能测试3年,回顾一路走来的艰辛

不论你是什么时候开始接触测试这个行业的,你首先听说的应该是功能测试。通过一些测试手段来验证开发做出的代码是否符合产品的需求?当然你也有自己对功能测试的理解,但是最近两年感觉功能测试好像不太受欢迎,同时不少同学真的是功…...

作为Linux C/C++程序员必备的工具

Linux系统 可以选择centOS或者ubautu server(不建议选择桌面版本的)。不建议裸机安装,玩坏了就特别麻烦。不建议使用有桌面版本的ubautu,在一定程度有桌面的版本的会消耗性能。 如果经济实力允许,可以购买云服务器。 参考文章: Ubuntu server…...

docker Alpine一个只有5M小而美的Docker镜像

docker Alpine一个只有5M小而美的Docker镜像 参考链接: Alpine 一个只有5M的Docker镜像 http://www.infoq.com/cn/news/2016/01/Alpine-Linux-5M-Docker?utm_sourcetuicool&utm_mediumreferral 使用alpinelinux 构建 golang http 启动了才15mb http://blog.csdn.net/fre…...

Springboot扩展点之InstantiationAwareBeanPostProcessor

Springboot扩展点系列实现方式、工作原理集合:Springboot扩展点之ApplicationContextInitializerSpringboot扩展点之BeanFactoryPostProcessorSpringboot扩展点之BeanDefinitionRegistryPostProcessorSpringboot扩展点之BeanPostProcessorSpringboot扩展点之Instant…...

基于 U-Net 网络的遥感图像语义分割 完整代码+论文

一、研究目的U-Net 是一种由全卷积神经网络启发的对称结构网络,在医疗影像分割领域取得了很好的效果。 此次研究尝试使用 U-Net 网络在对多光谱遥感影像数据集上进行训练,尝试使用卷积神经网络自动分割出建筑,希望能够得到一种自动分割遥感影…...

Codeql 编译Shiro1.2.4爬坑

0x00 前言 这个Codeql一定要编译才能生成Database,是真的比较恼火,很多项目都不一定可以生成,环境就是一个非常大的坑,为了防止以后,所以将shiro1.2.4编译过程进行记录。 0x01 正文 首先是需要下载到shiro1.2.4的源…...

新C++(9):谈谈,翻转那些事儿

"相信羁绊,相信微光,相信一切无常。"一、AVL树翻转那些事儿(1)什么是AVL树?在计算机科学中,AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为1,所以它也被称为高度平衡树。…...

Java深克隆的几种方式

目录 1、通过继承Cloneable接口,重写clone方法实现深克隆 2、通过序列化与反序列化的方式实现深克隆 3、第三方工具类实现深克隆,克隆对象需继承Serializable接口 3.1、Apache Commons Lang的SerializationUtils.clone方法 3.2、Gson工具类 3.3、F…...

PointNet++的源码运行

首先,从github上下载源码https://github.com/yanx27/Pointnet_Pointnet2_pytorch也可以从百度网盘下载链接:https://pan.baidu.com/s/1sgTYuqnBVC9p3bib450SOQ 提取码:gujd再下载对应的测试数据分类数据modelnet40_normal_resampled下载&…...

npm 上传自己的包

mkdir demo 创建一个新的文件夹 npm init 初始化项目 生成一个package.json文件 name version description等等touch index.js 创建一个node 可执行脚本新的js 文件 #!/usr/bin/env node // 必须在文件头加如上内容指定运行环境为node console.log(hello cli)在package.json 中…...

【Linux】常用命令大全(二)

目录 4. Linux常用命令 4.1 Linux命令初体验 4.2 文件目录操作命令 4.3 拷贝移动命令 4.4 打包压缩命令 4.5 文本编辑命令 4.6 查找命令 4. Linux常用命令 4.1 Linux命令初体验 4.1.1 常用命令演示 在这一部分中,我们主要介绍几个常用的命令&#xff0c…...

第一章 操作系统概述

目录一、什么是操作系统?1、操作系统的概念2、计算系统的构成3、主要作用二、操作系统有哪些功能?1、操作系统的目标2、操作系统的功能三、操作系统有哪些特征?1、并发性2、共享性3、虚拟性4、异步性四、操作系统的运行机制是怎样的&#xff…...

ChatGPT为什么不受开发者喜欢?

记得 ChatGPT 最开始上线不久的时候,看到的大部分尝鲜和测试结果都是开发者在做进行敲代码测试,可以说职业危机感非常强的一群人了。 再者,加上 ChatGPT 要使用起来其实是有一些技术门槛的,愿意折腾的人也多是程序员,…...

Lua table

Table(表) table 是 lua 中唯一的数据结构,可以用于表示 数组,字典与结构体。它非常强大,可以储存任何数据类型。 table 的数据单元为一对键值。 table 是不固定大小的,你可以根据自己需要进行扩容。 构…...

JavaScript:使用for in不是一个很好的抉择

for in 如果让你遍历对象中的key和value,你第一个想到的一定是使用for in const o{name:"chengqige",age:23 } for (let key in o){console.log(key,o[key]); }看起来是没有问题的,但是如果我在下面加一行代码,输出的结果就可能让…...

Go语言学习小笔记(一)

Go语言学习小笔记(一) 入口 项目的主入口:一般在main.go 包导入 一个包定义一组编译过的代码,包的名字类似命名空间,可以用来间接访问包内声明的标识符 所有处于同一个文件夹中的代码文件,必须使用同一…...

前端Docker部署方案

一、Docker容器和镜像概念 首先明确镜像和容器的概念。我们可以用 docker 构建一个镜像,这个镜像可以导入导出,用于传输,重复利用。然后如果把他 run 起来,则称为一个容器。容器是运行时,会包括运行时上下文&#xff…...

Labelme标注实战:5分钟搞定语义分割数据集制作(附避坑指南)

Labelme标注实战:5分钟搞定语义分割数据集制作(附避坑指南) 当你第一次接触计算机视觉项目时,可能会被海量的标注需求吓到。别担心,今天我要分享的是如何用Labelme这个轻量级工具,快速完成语义分割数据标注…...

基于Pixel Epic · Wisdom Terminal的MySQL智能运维:安装配置与性能调优

基于Pixel Epic Wisdom Terminal的MySQL智能运维:安装配置与性能调优 1. 引言 MySQL作为最流行的开源关系型数据库,在各类业务系统中扮演着核心角色。但传统的数据库运维往往面临几个痛点:配置参数复杂难懂、SQL优化依赖经验、性能问题排查…...

效率提升:基于快马平台实现openclaw windows部署的自动化与优化

最近在团队里负责优化openclaw在Windows环境的部署流程,发现传统手动部署方式存在不少效率瓶颈。经过在InsCode(快马)平台上的实践,我们实现了一套自动化部署方案,效果提升明显。这里分享几个关键优化点: 全流程一键化部署 过去部…...

别再画线框图了!用Axure/墨刀搞定HIS门诊医生站高保真原型的5个实战技巧

医疗HIS系统高保真原型设计:Axure/墨刀5大进阶技巧 在医疗信息化领域,门诊医生站作为HIS系统的核心模块,其原型设计的质量直接影响开发效率和最终用户体验。传统线框图已无法满足现代医疗系统复杂交互的需求,掌握Axure或墨刀的高阶…...

Starry Night Art Gallery效果展示:黄金渐变按钮交互+实时生成反馈

Starry Night Art Gallery效果展示:黄金渐变按钮交互实时生成反馈 1. 沉浸式艺术体验:当AI遇见文艺复兴 想象一下,你走进的不是一个冰冷的AI工具界面,而是一座数字艺术殿堂。四周是深邃的墨蓝色背景,如同梵高笔下的夜…...

告别插件!保姆级教程:用Nginx反向代理搞定海康威视Web无插件视频预览

海康威视Web无插件视频预览的Nginx反向代理实战指南 引言 在现代安防监控系统集成中,海康威视设备因其稳定性和广泛兼容性成为行业首选。然而,传统Web集成方案往往依赖浏览器插件,这不仅增加了部署复杂度,也带来了安全风险。随着H…...

Linux I2C设备驱动避坑指南:以MPU6050为例,详解i2c_transfer与数据读取失败

Linux I2C设备驱动深度调试:MPU6050通信稳定性问题全解析 当你在嵌入式系统中集成MPU6050传感器时,是否遇到过这样的场景:设备树配置正确,驱动代码逻辑清晰,但传感器数据读取却间歇性失败,内核日志中频繁出…...

Realistic Vision V5.1 提示词工程入门:C语言基础思维在Prompt编写中的应用

Realistic Vision V5.1 提示词工程入门:C语言基础思维在Prompt编写中的应用 如果你有C语言的编程经验,现在想玩转AI图像生成,特别是像Realistic Vision V5.1这样的写实风格模型,那这篇文章就是为你准备的。很多人觉得写提示词&am…...

SiameseUIE多任务统一Schema设计:一套定义覆盖NER/关系/事件/情感

SiameseUIE多任务统一Schema设计:一套定义覆盖NER/关系/事件/情感 1. 引言:信息抽取的“瑞士军刀” 想象一下,你手头有一堆杂乱无章的中文文档——可能是新闻稿、用户评论、技术报告或者客服对话。老板让你快速从中找出所有提到的人名、公司…...

Go语言中的Panic和Recover:错误处理的艺术

Go语言中的Panic和Recover:错误处理的艺术 1. Panic和Recover的基本概念 Panic和Recover是Go语言中用于处理异常情况的机制。Panic用于在程序遇到无法恢复的错误时终止程序,而Recover用于捕获Panic并恢复程序的正常执行。 Go语言的错误处理哲学是显式处理…...