GEE(6):设置计算数值/影像保留小数位数

对于数字和影像有时需要对结果保留N位小数,数字和影像保留小数位数的方法不同,下面分别对其介绍。

在GEE中ee.Number的API,其中有一个方法 format(),它就是设置数字格式的。
比如上面的需求就是 ee.Number(10.123456789).format('%.3f’)。需要注意的是这里返回的是一个字符串,如果后续还有其他计算需要使用ee.Number.parse()来转换。
1. 数字:

//假设计算结果为a为小数
var a = 1.23456789;
//想要对计算结果保留三位小数,此时转换结果为字符串类型
var b = ee.Number(a).format('%.3f');
print(b);
//可以用ee.Number.parse()将其转换为Number类型
var c = ee.Number.parse(b);
var d = c.add(3);
print(c,d);

.
.
2. 影像
如果是对影像计算,想要将其保留n位小数的计算结果,比如计算得到的NDVI,想要对结果保留5位小数,可以采取将其想扩大一定的倍数,再转化为整数,再除以该倍数。
示例

//影像保留5位小数
//比如原始影像计算结果为img 
var img = ee.Image.constant(1.23456789); 
Map.addLayer(img, {}, "img"); 
//1.23456789×100000=123456.789,转为整数型为:123456
//123456÷100000=1.23456
var newImg = img.multiply(100000).toInt().divide(100000); 
Map.addLayer(newImg, {}, "newImg");

这里先对影像扩大100000倍,将其转为INT型,再除以100000,从而得到想要的结果。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GISerQ.

你的鼓励将是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值