【openlayers系统学习】3.3假彩色图像合成(三个波段合成假彩色图像)

三、假彩色图像合成

在上一步中,我们使用 ol/source/GeoTIFF​ 源从单个多波段源(具有红色、绿色、蓝色和Alpha波段)渲染真彩色图像。在下面这个例子中,我们将从可见光谱之外提取数据,并使用它来呈现假彩色合成。

我们希望渲染一种假彩色合成图像,突出显示植被区域与裸露土壤区域。富含叶绿素的植被在近红外(Sentinel-2 B08)光谱部分中比在可见波长中的反射更明亮。相比之下,裸露土壤在近红外中不如在可见波长中的反射明亮。请参见下面的图表,显示了绿色植被和裸露土壤的反射光谱与 Sentinel-2 波段。

image

植被(绿色)、土壤(红色)和水(蓝色)的光谱特征。

为了在多光谱图像中突出显示植被,通常在红色通道中显示近红外(B08)反射率,在绿色通道中显示红色反射率(B04),在蓝色通道中显示绿色反射率(B03)。我们可以使用 ol/source/GeoTIFF​ 源来完成此操作,方法是按RGB顺序加载三个单独的单波段GeoTIFF图像。

更新您的 main.js​ :

const source = new GeoTIFF({
  sources: [
    {
      // near-infrared reflectance
      url: 'https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/21/H/UB/2021/9/S2B_21HUB_20210915_0_L2A/B08.tif',
      max: 5000,
    },
    {
      // red reflectance
      url: 'https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/21/H/UB/2021/9/S2B_21HUB_20210915_0_L2A/B04.tif',
      max: 5000,
    },
    {
      // green reflectance
      url: 'https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/21/H/UB/2021/9/S2B_21HUB_20210915_0_L2A/B03.tif',
      max: 5000,
    },
  ],
});

重新加载 http://localhost:5173/ 以查看合成的假彩色图像。

image

注意:探索一下sources选项中的max属性有什么用

在地图渲染过程中,通常会将源数据中的数值映射到一个0到1的范围内进行显示。这个映射过程需要确定源数据中的最大值和最小值,然后根据这些值对数据进行归一化处理。其中,最大源数据值(sources选项中的max属性)就是源数据中存在的最大数值,它用来确定数据的最大范围。如果在渲染时没有提供最大源数据值,OpenLayers会尝试使用栅格统计数据来确定最大值。如果栅格统计数据也不可用,OpenLayers会使用数据类型的最大值作为备用值。

改变了几次max值,发现渲染的图像颜色会不同

image

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值