GEE学习笔记 五十八:设置数值数据保留N位

44 篇文章 313 订阅

    最近更新的文章很随意,有开发技巧的文章有处理错误的文章,不过虽然这些文章比较短小,但是在实际开发中还是比较有用的。今天说一下如何设置数字保留的位数,比如我们计算结果是 10.12345,我们想保留为10.123。

    直接查看ee.Number的API,其中有一个方法 format(),它就是设置数字格式的,API写的已经非常清楚。比如上面的需求就是 ee.Number(10.12345).format('%.3f’)。需要注意的是这里返回的是一个字符串,如果后续还有其他计算需要使用ee.Number.parse()来解析它。

 

 

    如果要是影像应该如果做,查看相关API没发现有这样的方法,那是不是就不能做了呢?其实我们可以用别的方法来做。首先是先将影像扩大N倍,然后转为int,最后在除以N。

 

具体的代码很简单如下:

//数字设置保留4位小数

var a = ee.Number(10.111234);

var b = ee.Number.parse(a.format("%.4f"));

print(b);



//影像保留3位小数

var img = ee.Image.constant(1.234343);

Map.addLayer(img, {}, "img");

var newImg = img.multiply(1000).toInt().divide(1000);

Map.addLayer(newImg, {}, "newImg");

代码分析:

    这里我是对影像先扩大1000倍,然后转为int,最后除以1000,这样就保留了3位小数。

运行结果:

 


大家如果有问题需要交流或者有项目需要合作,可以微信联系我,加微信好友请留言加上“GEE”。

微信号:shi_weihappy

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值