开发者社区> 问答> 正文

我想在AI Earth 中实现这个log运算应该怎么改代码呢?

image.expression('log(10VVVH)-8',{'VV':XVV,'VH':XVH}).rename('SDWI')}
我想在AI Earth 中实现这个log运算应该怎么改代码呢?

展开
收起
三分钟热度的鱼 2024-03-27 15:19:35 39 0
3 条回答
写回答
取消 提交回答
  • 在AI Earth中,您可以使用aie.Image.expression()方法来执行自定义的数学表达式。根据您的需求,您想要对影像进行log运算并重命名结果。以下是相应的代码示例:

    import aie
    
    # 假设XVV和XVH是已经加载的影像数据
    result = aie.Image.expression('log(10 * VV) - 8', {'VV': XVV, 'VH': XVH}).rename('SDWI')
    

    请注意,上述代码中的XVVXVH应替换为您实际使用的影像数据变量名。此外,确保您的影像数据具有正确的格式和范围,以便正确执行log运算。

    希望这可以帮助到您!如果您有任何其他问题,请随时提问。

    2024-03-29 14:45:14
    赞同 展开评论 打赏
  • expression中要使用log,正确符号是log10。我们会在expression的API接口文档中,增加具体运算符号的拼写说明 我们新增了Image.expression所支持运算符的说明,可参考API文档https://engine-aiearth.aliyun.com/docs/page/api?d=66be93 4d1bdf96557b1bd9a6a62d04422e6afb.png
    此回答整理自钉群“AI Earth地球科学云平台交流群”

    2024-03-27 16:11:04
    赞同 展开评论 打赏
  • 阿里云大降价~

    在AI Earth中实现log运算,可以使用ee.ImageCollectionmap方法和ee.ImageaddBands方法。首先,需要导入ee库并初始化Earth Engine。然后,使用map方法对图像集合中的每个图像应用log运算,最后使用addBands方法将结果添加到原始图像上。以下是示例代码:

    import ee
    ee.Initialize()
    
    # 假设image是你要处理的图像
    XVV = image.select('XVV')
    XVH = image.select('XVH')
    
    # 定义一个函数来执行log运算
    def apply_log(image):
        VV = image.select('XVV')
        VH = image.select('XVH')
        log_result = VV.pow(10).log().subtract(8)
        return image.addBands(log_result.rename('SDWI'))
    
    # 对图像集合应用log运算
    image_with_log = image.map(apply_log)
    

    请注意,你需要根据实际情况替换imageXVVXVH的值。

    2024-03-27 15:22:39
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
基于达摩院在深度学习、计算机视觉等方向上的技术积累,结合阿里云强大算力支撑,提供遥感、气象等多源对地观测数据的云计算分析服务,用数据感知地球世界,让AI助力科学研究。
问答排行榜
最热
最新

相关电子书

更多
2023云栖大会:PolarDB for AI 立即下载
2023云栖大会:Lindorm一站式AI数据平台实战 立即下载
释放算力潜能加速应用构建Serverless为AI创新提速 立即下载