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

GEE学习笔记 七十三:【GEE之Python版教程七】静态展示影像和动态展示影像

我们使用GEE在线编辑可以直接通过在线的网页可以加载展示我们计算的结果,而python版的GEE要展示我们的计算结果可能就比较麻烦。如果有同学看过GEE的python版API中可以找到一个类ee.mapclient,这个类的介绍是它是GEE官方通过Tk写的一个加载展示地图的类。但是随着API的发展,其实这个类早已被官方废弃,我们没办法直接使用这个类,在实际开发中也不建议大家尝试去使用这个类。

    下面我介绍一下我推荐使用的加载显示方式,目前比较好用的展示方式有两种,一种是静态图片展示方式,另外一种是动态加载展示结果,下面我会依次来介绍相关内容。

首先使用GEE的python版API在我们的代码最开始都需要加入以下代码:

  1. import ee

  2. ee.Initialize()

第一种方式:静态图片展示模式。

这种模式使用的是IPython自带的display来渲染,然后我们的显示内容也是通过缩略图来显示。

优点:IPython原生,快捷方便。

缺点:渲染内容只能是通过缩略图这种方式来做,展示内容有局限。

第二种方式:动态加载展示模式。

    这种方式需要使用一个第三方库 ipygee(https://github.com/fitoprincipe/ipygee),这个库是在另外的一个展示库的基础 ipyleaflet 基础上开发而来的。目前属于刚起步,但是展示效果非常好。

首先是安装这个库 ipygee

(1)安装这个库,以我的电脑为例

sudo pip3 install ipygee

(2)激活ipyleaflet在jupyter上的插件

jupyter nbextension enable --py --sys-prefix ipyleaflet

如果没有安装过nbextension,那么需要先安装

  1. sudo pip3 install jupyter_contrib_nbextensions

  2. sudo jupyter contrib nbextension install --user

  3. sudo pip3 install jupyter_nbextensions_configurator

如果要使用jupyterLab还需要给jupyterLab安装ipyleaflet插件

  1. sudo jupyter labextension install jupyter-leaflet

同时有些电脑,比如我这台需要激活一个插件jupyterlab-manager才能显示地图。

首先查看本地的jupyterLab的版本

jupyter lab --version

输出结果是 0.35.6,通过jupyterlab-manager 网站查询可知,我们需要安装对应版本的内容,也就是0.38版的jupyterlab-manager,所以执行下面的命令:

sudo jupyter labextension install @jupyter-widgets/jupyterlab-manager@0.38

(3)ipygee初步使用

使用这个库非常简单,需要注意的是:使用这个库之前必须要验证GEE,也就是需要执行

  1. import ee

  2. ee.Initialize()

加载地图

  1. # 展示地图

  2. from ipygee import Map

  3. myMap = Map()

  4. myMap.show()

 

显示资源管理器

  1. # 资源管理器,也就是GEE在线编辑的Assets Manager界面

  2. from ipygee import AssetManager

  3. myManager = AssetManager()

  4. myManager

 

显示任务管理器

  1. # 任务管理器,也就是GEE的Task列表

  2. from ipygee import TaskManager

  3. myTask = TaskManager()

  4. myTask

 

从这里可以看到ipygee是通过GEE的API连接到GEE服务器上,然后展示相关内容。下面我详细说一下ipygee是如何加载显示我们想要的影像或者矢量数据的。

(4)加载矢量、栅格数据

具体代码:

  1. # 加载显示栅格数据和矢量数据

  2. from ipygee import Map

  3. myMap = Map()

  4. # 展示OSM底图

  5. myMap.show()

  6. # 栅格数据

  7. img = ee.Image("CGIAR/SRTM90_V4")

  8. # 矢量数据

  9. roi = ee.FeatureCollection("users/wangweihappy0/shape/huanghe")

  10. # 缩放到指定级别

  11. myMap.centerObject(roi, 5)

  12. # 裁剪数据

  13. img = img.clip(roi)

  14. # 加载栅格数据到地图上

  15. myMap.addLayer(img, {"min": 0, "max": 3000}, name="SRTM")

  16. # 加载矢量数据到地图上

  17. myMap.addLayer(roi, {"outline_color": "red", "outline": 2, "fill_color": "blue"}, name="roi")

显示结果:

矢量数据

栅格数据

同时我们还可以对这些图层做各种类似线上的操作,这个大家可以自己挖掘实践。关于ipygee如果大家还有需要了解的,等ipygee版本比较稳定了,我可以单独些一些关于ipygee相关内容来介绍这个库。

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

相关文章:

GEE学习笔记 七十三:【GEE之Python版教程七】静态展示影像和动态展示影像

我们使用GEE在线编辑可以直接通过在线的网页可以加载展示我们计算的结果,而python版的GEE要展示我们的计算结果可能就比较麻烦。如果有同学看过GEE的python版API中可以找到一个类ee.mapclient,这个类的介绍是它是GEE官方通过Tk写的一个加载展示地图的类。…...

PGLBox全面解决图训练速度、成本、稳定性、复杂算法四大问题!

图神经网络(Graph Neural Network,GNN)是近年来出现的一种利用深度学习直接对图结构数据进行学习的方法,通过在图中的节点和边上制定聚合的策略,GNN能够学习到图结构数据中节点以及边内在规律和更加深层次的语义特征。…...

超详细的 pytest 教程(一)使用入门篇

前言 pytest到目前为止还没有翻译的比较好全面的使用文档,很多英文不太好的小伙伴,在学习时看英文文档还是很吃力。本来去年就计划写pytest详细的使用文档的,由于时间关系一直搁置,直到今天才开始写。本文是第一篇,主…...

二叉树理论基础知识点

二叉树的种类 在我们解题过程中二叉树有两种主要的形式:满二叉树和完全二叉树 满二叉树 满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。 如图所示: 这…...

【算法基础】堆⭐⭐⭐

一、堆 1. 堆的概念 堆(heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质: (1)堆中某个结点的值总是不大于或不小于其父结点的值; (2)堆总是一棵完全二叉树。 将根结点最大的堆叫做最大堆或大根堆,根结点…...

时序预测 | MATLAB实现CNN-SVM卷积支持向量机时间序列预测

时序预测 | MATLAB实现CNN-SVM卷积支持向量机时间序列预测 目录时序预测 | MATLAB实现CNN-SVM卷积支持向量机时间序列预测预测效果基本介绍研究回顾程序设计参考资料预测效果 基本介绍 CNN-SVM预测模型将深度学习模型作为特征学习器,将SVM 支持向量机 作为训练器进行…...

【TypeScrip】TypeScrip的任意类型(Any 类型 和 unknown 顶级类型):

文章目录一、安转依赖:【1】nodejs 环境执行ts【2】使用ts-node二、Any 类型 和 unknown 顶级类型【1】没有强制限定哪种类型,随时切换类型都可以 我们可以对 any 进行任何操作,不需要检查类型【2】声明变量的时候没有指定任意类型默认为any【…...

智能洗地机什么牌子好?智能洗地机排行

要说家庭清洁热门的产品,洗地机肯定首当其冲,集洗吸拖为一体的清洁工具,省时又省力,可谓是家里清洁好助手,今天笔者就为大家介绍几款重量轻、噪音轻、拖地干净的洗地机! 一、CEYEE希亦T800洗地机 在国内,洗…...

【数据结构与算法】链表1:移除链表 设计链表链表反转(双指针法、递归法)

文章目录今日任务1.链表理论基础(1)什么是链表?(2)链表的类型(3)链表的存储方式(4)链表的定义(5)链表的操作(6)性能分析2.…...

山东大学软件学院面向对象简答题整理【个人向】

面向对象简答题整理【个人向】 0.试用面向对象语言简述改写和重定义的异同,以及方法绑定时的差别 改写是子类的方法和父类的方法具有相同的方法名和类型签名重定义是子类的方法和父类的方法方法名相同但类型签名不同在方法绑定时,改写是动态绑定&#…...

JAVA时间类及JAVA8新时间类

文章目录Java旧时间类关系图![在这里插入图片描述](https://img-blog.csdnimg.cn/e2c2c26c841e40bdb9cc85d0fc4bc1df.png)GMT、时间戳、统一标准时间、时区Java时间类创建时间类示例java.text.DateFormat时间格式转换java.util.Calendar总结Java时间类Java8新时间类InstantCloc…...

ASEMI代理FGH60N60SFD,安森美FGH60N60SFD原装IGBT

编辑-Z 安森美FGH60N60SFD原装IGBT参数: 型号:FGH60N60SFD 集电极到发射极电压(VCES):600V 栅极到发射极电压(VGES):20V 收集器电流(IC):120…...

【云原生之Docker实战】使用dokcer部署web端vscode

【云原生之Docker实战】使用dokcer部署web端vscode 一、vscode-server介绍二、检查本地docke环境1.检查系统版本2.检查docker版本3.检查docker状态三、下载vscode镜像四、部署vscode-server1.创建安装目录2.创建vscode容器3.查看vscode容器状态4.查看vscode容器日志五、访问vsc…...

Docker安装Tomcat、mysql、redis

目录 前言 一、安装Tomcat 二、安装mysql (一)简单版 (二)实战版 三、安装redis 前言 镜像可以先去Docker Hub Container Image Library | App Containerization 左上角搜,然后点进入可以看到具体的命令&#…...

【python 基础篇 八】python的常用数据类型操作-------集合

目录1.集合的基本概念2.集合的定义2.1 可变集合 set定义2.2 不可变集合 fronzenset 定义2.3 集合定义的注意事项3.单一集合的常用操作4. 集合之间操作4.1 交集4.2 并集4.3 差集4.4 判定1.集合的基本概念 无序的,不可随机访问的,不可重复的元素集合与数学…...

Spring框架中问题补充

BeanFactory 和 ApplicationContext BeanFactory和ApplicationContext是接口。BeanFactory接口时spring框架的顶层接口,定义管理bean的最基本的方法,例如获取实例、判断等功能。 DefaultListableBeanFactory实现BeanFactory 接口,是主要的创建bean的工…...

【Leedcode】顺序表必备的三道面试题(附图解)

顺序表必备的三道面试题(附图解) 文章目录顺序表必备的三道面试题(附图解)前言一、第一题1.题目2.思路图解3.源码二、第二题1.题目2.思路图解3.源码三、第三题1.题目2.思路图解3.源码总结前言 本文给大家介绍三道顺序表学习过程中…...

SOFA Weekly|开源人、本周贡献 issue 精选

SOFA WEEKLY | 每周精选 筛选每周精华问答,同步开源进展欢迎留言互动~SOFAStack(Scalable Open Financial Architecture Stack)是蚂蚁集团自主研发的金融级云原生架构,包含了构建金融级云原生架构所需的各个组件&#…...

2023美赛 ICM E题详细版思路

问题E:光污染注:楷体为题目原文,宋体为思路部分首先,我们需要考虑的就是美赛ABEF的核心问题,数据。这里E题是以光污染为背景的题目,首当其冲的我们就需要收集一些数据以支撑我们的模型。对于E题提出的问题&…...

【LeetCode】剑指 Offer(3)

目录 写在前面: 题目:剑指 Offer 09. 用两个栈实现队列 - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 写在最后: 写在前面&…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能&#xff0c;包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章&#xff1f;AI自动生成&#xff0c;效率提升10倍&#xff01; 支持多语言、自动配图、定时发布&#xff0c;让内容创作更轻松&#xff01; AI内容生成 → 不想每天写文章&#xff1f;AI一键生成高质量内容&#xff01;多语言支持 → 跨境电商必备&am…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

Ubuntu系统复制(U盘-电脑硬盘)

所需环境 电脑自带硬盘&#xff1a;1块 (1T) U盘1&#xff1a;Ubuntu系统引导盘&#xff08;用于“U盘2”复制到“电脑自带硬盘”&#xff09; U盘2&#xff1a;Ubuntu系统盘&#xff08;1T&#xff0c;用于被复制&#xff09; &#xff01;&#xff01;&#xff01;建议“电脑…...

DeepSeek越强,Kimi越慌?

被DeepSeek吊打的Kimi&#xff0c;还有多少人在用&#xff1f; 去年&#xff0c;月之暗面创始人杨植麟别提有多风光了。90后清华学霸&#xff0c;国产大模型六小虎之一&#xff0c;手握十几亿美金的融资。旗下的AI助手Kimi烧钱如流水&#xff0c;单月光是投流就花费2个亿。 疯…...

【java面试】微服务篇

【java面试】微服务篇 一、总体框架二、Springcloud&#xff08;一&#xff09;Springcloud五大组件&#xff08;二&#xff09;服务注册和发现1、Eureka2、Nacos &#xff08;三&#xff09;负载均衡1、Ribbon负载均衡流程2、Ribbon负载均衡策略3、自定义负载均衡策略4、总结 …...

VSCode 没有添加Windows右键菜单

关键字&#xff1a;VSCode&#xff1b;Windows右键菜单&#xff1b;注册表。 文章目录 前言一、工程环境二、配置流程1.右键文件打开2.右键文件夹打开3.右键空白处打开文件夹 三、测试总结 前言 安装 VSCode 时没有注意&#xff0c;实际使用的时候发现 VSCode 在 Windows 菜单栏…...

【Pandas】pandas DataFrame dropna

Pandas2.2 DataFrame Missing data handling 方法描述DataFrame.fillna([value, method, axis, …])用于填充 DataFrame 中的缺失值&#xff08;NaN&#xff09;DataFrame.backfill(*[, axis, inplace, …])用于**使用后向填充&#xff08;即“下一个有效观测值”&#xff09…...