Google Earth Engine(GEE)——导出的影像资产会改变原有的分辨率大小
问题:
正在将图像导出到资产,然后我想用它来显示在我的应用程序中。在应用程序中,我使用最小和最大值来调整每个月的调色板,我注意到最小和最大像素值与原始图像相比发生了变化。
原始图像的最小和最大像素为 1903 和 1925,而导出图像的最小和最大像素为 1832 和 1962。也许问题是由于 ROI 内的像素丢失所致?
原始代码:
https://code.earthengine.google.com/d9a0042b8c6ac99c27e3f9800e950899
var table = ee.FeatureCollection("USDOS/LSIB_SIMPLE/2017");
var Czechia = table.filter(ee.Filter.eq('country_na', 'Czechia'));var s5p_data = ee.ImageCollection('COPERNICUS/S5P/OFFL/L3_CH4').select('CH4_column_volume_mixing_ratio_dry_air_bias_corrected').filterDate('2022-03-01', '2022-03-31')var original = s5p_data.max().clip(Czechia)var palette_mvc = ['16A085', '0E6655', 'D2DD49', 'E99433', 'EF3C57', '9C2AF5'];// change "original" to "exported" on line 15 and 17
var minMax = original.reduceRegion({reducer: ee.Reducer.minMax(), geometry: Czechia, scale: original.projection().nominalScale(),bestEffort: true,maxPixels: 1e9})minMax = minMax.rename(minMax.keys(), ['max','min']);
minMax.evaluate(function(val){var min = val.min;var max = val.max;print(min)print(max)var MVC = {min: min ,max: max,palette: palette_mvc};var opacity = 0.7;Map.setCenter(15.46, 49.8, 6)Map.addLayer(original, MVC, 'original', true, opacity);// Map.addLayer(exported, MVC, 'exported', true, opacity);})
这里面主要的问题在于我们在影像进行镶嵌的时候,我们一定不要进行过多的使用reducer中的max或者min以及mean等元素来聚合,防止丢失原有的scale信息,我们可以看到代码中合成图像(使用 .max())时,您会丢失原始投影和比例。你得到一个 1 度比例的虚拟图像,所以用它来计算统计数据是不正确的。且导出影像的中设定的参数scale是以1000m的比例导出产,而原始图像的比例接近1113。以不同的比例导出图像会改变像素值。
我们查看后的代码:
var table = ee.FeatureCollection("USDOS/LSIB_SIMPLE/2017");
var Czechia = table.filter(ee.Filter.eq('country_na', 'Czechia'));var s5p_data = ee.ImageCollection('COPERNICUS/S5P/OFFL/L3_CH4').select('CH4_column_volume_mixing_ratio_dry_air_bias_corrected').filterDate('2022-03-01', '2022-03-31')// Get the projection before doing any processing
var scale = ee.Image(s5p_data.first()).projection().nominalScale()
print('Scale', scale)var original = s5p_data.max().clip(Czechia)var palette_mvc = ['16A085', '0E6655', 'D2DD49', 'E99433', 'EF3C57', '9C2AF5'];// change "original" to "exported" on line 15 and 17
var minMax = original.reduceRegion({reducer: ee.Reducer.minMax(), geometry: Czechia, scale: original.projection().nominalScale(),bestEffort: false,maxPixels: 1e9})minMax = minMax.rename(minMax.keys(), ['max','min']);
minMax.evaluate(function(val){var min = val.min;var max = val.max;print(min)print(max)var MVC = {min: min ,max: max,palette: palette_mvc};var opacity = 0.7;Map.setCenter(15.46, 49.8, 6)Map.addLayer(original, MVC, 'original', true, opacity);})
本文用到的主要函数:
投影()projection()
返回图像的默认投影。如果图像的各个部分没有相同的投影,则抛出一个错误。
参数。
this:image(图像)。
要获得投影的图像。
返回。投影。
标称刻度()nominalScale()
返回该投影的单位的线性比例,以米为单位,在真实比例点处测量。
参数。
this:proj (投影)
返回。浮点数
evaluate(callback)
异步地从服务器获取此对象的值,并将其传递给提供的回调函数。
参数。
this:computedobject(ComputedObject)。
计算对象的实例。
callback(函数)。
形式为function(success, failure)的函数,当服务器返回一个答案时被调用。如果请求成功,成功参数包含评估的结果。如果请求失败,失败参数将包含一个错误信息。
希望大家以后注意以上问题,避免下载后的影像的数据不准确
Google Earth Engine(GEE)——导出的影像资产会改变原有的分辨率大小相关推荐
- 基于google earth engine(GEE)下载研究区域影像
基于google earth engine(GEE)下载研究区域影像 当研究需要Landsat数据时,我们可以通过USGS官网或者地理空间数据云平台下载.由于地理空间数据云目前无法下载到较新的数据,可 ...
- Google Earth Engine(GEE)——可视化动态图
代码: var geometry = /* color: #d63000 *//* shown: false *//* displayProperties: [{"type": & ...
- Google Earth Engine(GEE)批量下载代码(以 NDVI数据为例)
下载数据先准备工作(具体细节都能查到):科学上网 谷歌邮箱,谷歌邮箱注册GEE账号. 一:导入需要下载边界shp文件. 标题 找到自己的shp文件,导入除了sbx文件的所有文件. 导入成功 命名ass ...
- 使用Google Earth Engine (GEE)实现MODIS数据批量下载
使用Google Earth Engine GEE实现MODIS数据批量下载 前言 下载数据代码 批量执行run任务 关注公众号,分享GIS知识.ArcGIS教程.SCI论文与科研日常等 前言 上图是 ...
- Google Earth Engine(GEE)——User memory limit exceeded(2)
上一次我们已经知道如何去进行避免这种错误的发生,有关详细内容,如果单单只是解决这个问题我们用到的是limit 和 first,上一次的博客在这里: (207条消息) Google Earth Engi ...
- Google Earth Engine(GEE) 01-中输入提示快捷键Ctrl+space无法使用的问题
Google Earth Engine(GEE) 01-中输入提示快捷键Ctrl+space无法使用的问题 GEE中 Ctrl+space组合键用于代码输入快捷提示,能够提高编码的准确度和速度,但是, ...
- Google Earth Engine (GEE) ——卫星影像的监督分类(svm)
问题 GEE 提供哪些机器学习技术? 如何对卫星图像进行监督分类? 如何评估分类器的准确性? 如何手动创建自己的几何图形? 目标 练习查找无云图像和使用手绘几何导入 学习训练和应用分类算法所需的基本功 ...
- 关于google earth engine(GEE)的一些想法与大胆预测
我接触GEE有两年了,GEE留给我的印象是:无所不能. 不管是从庞大的数据量,还是包含遥感的各类算法:随机森林.SVM.CNN,都让人惊讶. 从GEE的云端操作来看,传统遥感需要几个月做出来的全国ND ...
- google earth engine GEE批量 run下载插件
在Google earth engine中,批量导出文件经常遇到多个文件下载的情况,只能一个个点击RUN.这里介绍一款插件,Open Earth Engine extension .该插件的作者是Ma ...
最新文章
- 让机器像人一样听音乐,Facebook开源Demucs项目
- element UI 选择器 踩的坑 获取到了value 显示不出对应的 value
- mybatisplus 操作另一个数据库的数据_c#连接sql数据库以及操作数据库
- LinkedList方法源码
- python3 与 Django 连接数据库:Error loading MySQLdb module: No module named 'MySQLdb'
- hdu4751Divide Groups(dfs枚举完全图集合或者bfs染色)
- 【2017年第2期】社交网络分析在公共安全领域的应用
- linux-简单进程查询
- jquery 动态添加,降低input表单的方法
- xpath mysql_xpath查询是否具有像mysql这样的Limit选项
- npm加速器、github加速器
- pcshare远控软件编译过程
- html把字体设置为繁体,XP下怎样将繁体字设置成系统字体?XP下把系统字体改为繁体的方法...
- 【BZOJ5470】[FJOI2018]所罗门王的宝藏()
- Java中的范围限定词
- win10桌面图标变成白色文件
- 微信公众号 多台服务器,在多台 Linux 服务器上搭建 Pulsar 集群
- 小甲鱼31课泡菜课后作业反思
- python爬虫从入门到实践pdf百度云_PYTHON网络爬虫从入门到实践.pdf
- JavaScript中逻辑运算符的优先级
热门文章
- java实现在tcp协议下进行数据的传输
- PCB热设计优化方案
- 架构之家 2017年元旦祝福和17年分享规划
- 60级高阶督军套装属性_《魔兽世界》【60年代】元帅/督军职业套装的浅谈
- 李开复给中国大学生的第六封信——选择的智慧
- ​三国志战略版:圣光大奶骑,形一阵能帮五谋上位吗?
- 【java小练习】#for循环运用#打印*三角阵列
- [游戏集合] NBA嘉年华+三国志+捕鱼之海底捞(小米安卓小游戏集合)
- Spark - 小实践(6)计算手机在基站停留时间
- 基于FPGA的汉诺塔游戏