geotrellis使用(二十七)栅格数据色彩渲染

目录

  1. 前言
  2. 复杂原因及思路分析
  3. 实现过程
  4. 总结

一、前言

       今天我们来研究一下这个看似简单的问题,在地理信息系统中颜色渲染应当是最基本的操作和功能,比如我们将一幅Landsat数据拖拽到Arcgis或者QGis等软件中,软件会自动为我们呈现出漂亮的图案,一切看似来的那么容易,但是在分布式海量空间数据的情况下实现色彩渲染操作实在也是要了命的。今天我们就接着上一篇文章中的数据处理(权且将色彩渲染归结到数据处理中)来介绍一下如何在Geotrellis中为栅格数据渲染漂亮的色彩。

二、复杂原因及思路分析

       普通地理信息系统处理的对象都是单幅图像,当我们打开单幅图像的时候程序很容易获取到关于此数据的数据,包括元数据信息、波段信息、值域范围等等,我理解的色彩渲染就是读出图像的值域范围将其分段对应到相应的色彩即可。而当我们采用分布式处理框架之后,面对的不再是单幅图像,而是一层或一种(Geotrellis中将存储在Accumulo中的数据按照导入名称进行分层管理),而其读取数据的时候也不再是读取整个数据,而是单一瓦片或者部分数据,面对这种方式我们就无法再简单的根据当前请求的数据值域来进行简单的对应。

       这个问题上升到哲学就是局部与整体的关系,我们如何根据局部的信息来显示出整体一致的效果。比如我们请求了一个瓦片,我们不可能根据此瓦片的值域做颜色映射,此瓦片作为很小的局部必然不可能包含我们研究范围(整体)的所有信息,但只要我们将其类比到传统地理信息系统就为此问题找到了解决方案。

       首先像传统地理信息系统读取整幅图像那样获取我们研究区域的信息,然后将请求的单一瓦片根据整体的信息做色彩映射,这样我们就能得到整体一致的色彩效果。

       写到这里我突然有个思路,目前遥感影像匀光匀色是一个很复杂的过程,需要耗费大量的人力和时间也未必能得到理想的效果,我觉得此处可以借鉴上述整体与局部的关系,当我们研究清楚了整体(如全球)遥感影像数据的情况之后,将单幅影像作为局部向整体映射,这样应该就能得到整体一致的匀光匀色效果,此思路有待验证。

三、实现过程

       实现过程只需要将上述思路转换成代码即可,首先读取整体(研究区域)信息,此研究区域我们以一个面状区域为例。

延伸阅读

学习是年轻人改变自己的最好方式-Java培训,做最负责任的教育,学习改变命运,软件学习,再就业,大学生如何就业,帮大学生找到好工作,lphotoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训学习是年轻人改变自己的最好方式