GEE错误——影像加载过程中出现的图层无法展示的解决方案

news2024/10/6 8:39:23

问题:

// I don't know if some standard value exists for the radius, in the same, I will assume that some software would prefer to use square shape, but circle makes more sense to me.
// pixels is noice if you want to zoom in and out to visualize, but maybe for export or computation you would prefer meters 

// 我不知道半径是否有标准值,同样,我认为有些软件更倾向于使用正方形,但我认为圆形更合理。
// 如果你想放大或缩小以进行可视化,像素是不错的选择,但对于导出或计算,你可能更倾向于使用米。

很多时候你也会遇到这种情况,当我们对于加载后的影像出现无法展示或者其它一些可视化的问题时,就会出现上面的状况。

解决方案:

影像可视化范围应根据缩放级别进行调整,如果放大,平均区域显然会变小,差异也会变小。

本文的TPI指数的展示过程中出现的错误,其中TPI具体指

TPI指地形坡度指数(Topographic Position Index),它是一种用于描述地表地形的指数。TPI指数可以通过计算某一点周围区域的高程值来得出,其值代表了该点相对于周围区域的高度位置。TPI指数可以用于研究地形对生态系统和水文循环等方面的影响,也可以用于进行地貌分析和地形分类。

TPI地形指数在地貌分析和地形分类中具有以下作用:

1. 地形分类:TPI指数可以帮助将地表地形划分为不同的类别,如凹地、山脊、平原等。通过对TPI值的分析,可以更好地理解地形特征和地貌类型。

2. 地貌分析:TPI指数可以提供关于地表地形的详细信息,如坡度、地势起伏等。这些信息对于环境评估、土地利用规划和自然资源管理等方面非常重要。

3. 生态系统研究:TPI指数可以用于研究地形对生态系统的影响。不同的地形类型可能具有不同的水文条件、土壤类型和植被分布,因此TPI指数可以帮助揭示地形与生态系统之间的关联性。

4. 水文循环:TPI指数可以用于研究地形对水文循环的影响。高TPI值的区域可能具有较高的坡度和水流速度,可能对降雨径流和水资源分配产生重要影响。

总之,TPI地形指数在地貌学、生态学、水文学等领域中具有广泛的应用,可以提供对地表地形特征和其对环境和生态系统的影响的深入理解。

代码:

//COPERNICUS 加载可视化参数和研究区域


var imageVisParam = {"opacity":1,"bands":["classification"],"min":0,"max":6,"palette":["a3e657","7fb543","5c8231","09570e","e09435","cd6fff","cc0e3a"]},
    geometry = 
    /* color: #98ff00 */
    /* shown: false */
    /* displayProperties: [
      {
        "type": "rectangle"
      }
    ] */
    ee.Geometry.Polygon(
        [[[101.65166678243405, 72.74142473849005],
          [101.65166678243405, 50.79933635280348],
          [190.24541678243406, 50.79933635280348],
          [190.24541678243406, 72.74142473849005]]], null, false),
    Plots3 = ee.FeatureCollection("users/leaenguehard/Plots3"),
    RF_Entire_Area = ee.Image("users/leaenguehard/RF_Entire_Area"),
    geometry2 = 
    /* color: #98ff00 */
    /* shown: false */
    /* displayProperties: [
      {
        "type": "rectangle"
      }
    ] */
    ee.Geometry.Polygon(
        [[[129.39412494682568, 65.42449957439194],
          [129.39412494682568, 64.53241214116831],
          [131.67928119682568, 64.53241214116831],
          [131.67928119682568, 65.42449957439194]]], null, false);

// 加载DEM数据
var dataset = ee.ImageCollection('COPERNICUS/DEM/GLO30').filterBounds(geometry);
var elevationVis = {
  min: 0.0,
  max: 2500.0,
  palette: ['0000ff','00ffff','ffff00','ff0000','ffffff'],
};
var elevation = dataset.select('DEM')

// 计算坡度坡向
var calculateSlopeAspect = function(image) {
  // Compute slope and aspect
  var slope = ee.Terrain.slope(image);
  var aspect = ee.Terrain.aspect(image);
  
  // Return the image with new bands for slope and aspect
  return image.addBands(slope.rename('slope')).addBands(aspect.rename('aspect'));
};

elevation=ee.Join.saveAll("match").apply(elevation,elevation,ee.Filter.withinDistance({distance:300, leftField:'.geo', rightField: '.geo', maxError:100}))

elevation=ee.ImageCollection(elevation).map(function(im){
  var extendedIM=ee.ImageCollection(ee.List(im.get("match"))).mosaic().setDefaultProjection(im.projection())
  return calculateSlopeAspect(extendedIM).clip(im.geometry())
})

elevation=elevation.mosaic()

// 可视化图层
Map.addLayer(elevation.select('DEM'), elevationVis, 'DEM mosaic');
Map.addLayer(elevation.select('slope'), {min: 0, max: 45, palette: ['blue', 'green', 'yellow', 'orange', 'red']}, 'Slope');
Map.addLayer(elevation.select('aspect'), {min: 0, max: 360, palette: ['blue', 'cyan', 'green', 'yellow', 'orange', 'red']}, 'Aspect');


// 打印影像结果
print('Number of copernicus Images:', dataset.size());
print(elevation)

//进行核函数聚类处理的TPI指数
var TPI=elevation.select('DEM').subtract(elevation.select('DEM').convolve(ee.Kernel.circle(50,"pixels")))

//调整范围
Map.addLayer(TPI, {min: -250, max: 250, palette: ['blue', 'yellow','red']}, 'TPI')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1148808.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis实现分布式锁之----超时和失效(非原子性)问题----解决方案

Redis实现分布式锁之----超时和失效(非原子性)问题----解决方案 超时和失效(非原子性)问题 原子性问题:上锁时存入线程名称,删除时要先判断锁内的名称是不是自己的,是再删除,但是后…

软件测试---边界值分析(功能测试)

选取正好等于、刚好大于、刚好小于边界的值作为测试数据 上点: 边界上的点 (正好等于);必选(不考虑区开闭) 内点: 范围内的点 (区间范围内的数据);必选(建议选择中间范围) 离点: 距离上点最近的点 (刚好大于、刚好小于);开内闭外(考虑开…

常见面试题-MySQL专栏(二)

了解索引扫描吗? 答: MySQL有两种方法生成有序结果: 通过排序操作按照索引顺序扫描 如果 explain 出来的 type 列值为 “index” 的话,说明是按照索引扫描了。 索引扫描本身的速度是很快的。但是如果索引不能覆盖查询所需的全…

【每日一题】H 指数 II

文章目录 Tag题目来源题目解读解题思路方法一:二分查找 写在最后 Tag 【二分查找】【数组】【2023-10-30】 题目来源 275. H 指数 II 题目解读 本题与 274. H 指数 题目一致,只是加强了一下条件,数组是有序的。 解题思路 方法一&#xff…

【Docker】如何查看之前docker run命令启动的参数

个人主页:金鳞踏雨 个人简介:大家好,我是金鳞,一个初出茅庐的Java小白 目前状况:22届普通本科毕业生,几经波折了,现在任职于一家国内大型知名日化公司,从事Java开发工作 我的博客&am…

如何高效制作视频滚动字幕:批量剪辑攻略

在视频制作过程中,添加滚动字幕是常见且重要的环节。它不仅可以帮助传达信息,还能增强视频的观感体验。然而,对于需要大量制作字幕的视频,逐一添加字幕无疑会浪费大量时间和精力。因此,本文将为你介绍运用云炫AI智剪制…

1.让数组动起来

概述 对数组进行分析,目标如下 线性表的概念数组的存储结构数组查询,插入,删除操作的特点及对应的时间复杂度刷题(盛最多水的容器) 线性表 在数据结构中,数据的逻辑结构分为线性结构和非线性结构 线性结构: n个数据元素有序集合…

在 Visual Studio 中远程调试 C++ 项目

目录 一、说明二、下载远程工具1. 官网下载2. 自己电脑上拷贝 三、 运行远程工具四、本机Visual Studio配置五、自动部署 一、说明 参考官方文档:https://learn.microsoft.com/zh-cn/visualstudio/debugger/remote-debugging-cpp?viewvs-2022 二、下载远程工具 …

【C语言】calloc()函数详解(动态内存开辟函数)

🦄个人主页:修修修也 🎏所属专栏:C语言 ⚙️操作环境:Visual Studio 2022 一.calloc()函数简介 我们先来看一下cplusplus.com - The C Resources Network网站上calloc()函数的基本信息: 1.函数功能 可以看到,calloc()函数的功能是:为num个大…

FastAPI框架学习笔记(快速入门FastAPI框架)

1. 写在前面 今天整理一篇后端框架的笔记, fastapi框架是比较主流的后端异步web框架,关键是python语言可以写,正好公司最近安排了一些后端服务的活, 所以就看了一个fastapi框架的入门课程(链接在底部),完成任务&#…

用户登录前后端开发(一个简单完整的小项目)——SpringBoot与session验证(带前后端源码)全方位全流程超详细教程

🧸注:不要看我的文件多,那是我的其他项目,这个项目所用的文件我会全部用红框框起来,没框的部分不用管,前端两个文件,后端一个文件 📜 目录 首先,定义前后端交互接口 然…

电子器件 电感

拿一根导线在笔上绕几圈,取下来就是一个空心电感,如果拿一个铁芯,在铁芯上绕相同的圈数,加了的铁芯的电感量是没有加铁芯的几千倍甚至上万倍,所以电感一般是有铁芯的。 下图是电感的模型,L 是理想电感&…

招生报名缴费小程序开发笔记(上)

前期调研 1.数字化趋势: 随着社会的数字化转型,越来越多的教育机构倾向于采用数字工具来简化和优化他们的招生和报名过程。招生报名缴费小程序是应对这一趋势的一种解决方案,可以提供高效、方便、快速的在线招生渠道。2.用户需求&#xff1a…

强化学习中值函数应用示例

一、Gridworld Gridworld是一个用于教授强化学习概念的简化的电子游戏环境。它具有一个简单的二维网格,智能体可以在其中执行动作并获得奖励。这个环境是有限的,因为它有一个明确的开始和结束状态,以及一组确定的动作和奖励。 在Gridworld中&…

C++二分查找算法的应用:最长递增子序列

涉及知识点 二分查找 单调映射 源码下载 点击下载源码 题目 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如&#xf…

Rust 语言介绍及安装

目录 1、简介 1.1 为什么选择Rust 高性能 可靠性 生产力 1.2 用 Rust 构建应用 命令行 WebAssembly 网络 嵌入式 2、安装 Rust Windows 的 Linux 子系统(WSL) 检查Rust 是最新的 卸载Rust版本: Cargo:Rust 的构建工…

读图数据库实战笔记03_遍历

1. Gremlin Server只将数据存储在内存中 1.1. 如果停止Gremlin Server,将丢失数据库里的所有数据 2. 概念 2.1. 遍历(动词) 2.1.1. 当在图数据库中导航时,从顶点到边或从边到顶点的移动过程 2.1.2. 类似于在关系数据库中的查…

我在Vscode学OpenCV 初步接触

OpenCV是一个开源的计算机视觉库,可以处理图像和视频数据。它包含了超过2500个优化过的算法,用于对图像和视频进行处理,包括目标识别、面部识别、运动跟踪、立体视觉等。OpenCV支持多种编程语言,包括C、Python、Java等&#xff0c…

光谱图像论文浅读

文章目录 Hyperspectral Image Super-Resolution via Deep Spatiospectral Attention Convolutional Neural Networks Hyperspectral Image Super-Resolution via Deep Spatiospectral Attention Convolutional Neural Networks 通过上采样高光谱保留其光谱特征,采用…

在R中安装CmdStanR的步骤-R4.3.1-CmdStanR-0.6.1.900

报错未安装cmdstanr 安装包官网详细介绍: R Interface to CmdStan • cmdstanrhttps://mc-stan.org/cmdstanr/ 以下是在R中安装CmdStanR的步骤: 1. 首先,需要下载和安装C编译器 例如gcc。如果您已经安装了C编译器,则可以跳过此…