成为栅格大师的17种方式

原文发布时间:2016/3/11  16:33:22

原文链http://blog.safe.com/2014/07/raster-master/

翻译:程晓

栅格最美好的地方在于它们不仅利于数据可视化。对数学分析也有益处。它简单、全面,是以像素为单位表示连续数据的最好方式。

学习栅格有很多种方式,我希望这个清单能激励你思考更多的学习方式。你将会看到如何构建你需要的栅格,控制特定的像元(cells)、波段(bands)、调色板(palettes),甚至是它们的编码方式。你还会看到许多整合栅格的方法,使得数据集更加丰富形象。如果你花的时间够长,你甚至能够学会怎样利用数学和表达式获得神奇的效果。

1、不同数据格式转换

    这里有许多的的栅格格式。我不想强迫自己去猜究竟有多少格式,但是我可以告诉你,至少有60种格式是可以在FME 上运行的。根据我们的使用量统计,最流行的栅格格式为GeoTIFF/TIFF和ECW。

    为了获得更好的数据整合效果,经常需要将一个栅格格式转换到另一个栅格格式,或者在栅格和矢量之间进行转换,或者将栅格和点云、数据库、CAD、GIS或者其他的数据类型结合起来。在一个数据流动频繁的世界里,将数据锁在一个单一的格式里面无异于自掘坟墓。

2、变换尺寸

图像重采样到你想要的行/列尺寸、像元大小(cell spacing)或原始大小的某个比例。重采样经常用于生成更小的图片,但是它也可以用来生成一个更地面控制点大的图片。

除非你想做像素艺术,在下采样的时候,你会想要获得一个图片的基本信息(对color image)或者值分布(对numerical raster)。常用的插值方法包括最近邻插值,双三次插值,双线性插值等。

 3、改变坐标系

像任意有价值、值得尊敬的空间格式一样,栅格可以进行配准并且有各种各样的坐标系统。

如果你需要将图形投影到一个地图或者将它与其他数据结合起来,你需要将它重投影到其他坐标系统。例如,KML要求WGS84投影,而Web瓦片地图服务则可能是要求球面墨卡托投影。

    更具体一些,你可以控制栅格的地理编码。比如说,一些栅格嵌入了地面控制点,而不是在栅格角落处设置地理编码。你可以按照需要提取或者设置地面控制点。

 4、将多栅格合并成一个图

拼接多个栅格成一个单独的要素。比如,在相同的经/纬投影下,可能你想要将多个瓦片拼接到一起成为一个简单的视图。这需要用到拼接(mosaic)、重采样(resample)(#2)、以及重投影(reproject)(#3)转换。         

这就像是一个拼图,只是它的每一块并不完全匹配。

重投影会使图片有轻微的旋转,当进行拼接的时候,影像会出现黑边。但是不用担心,你可以通过设置nodata值,使黑边部分变得透明。如此,就可以将黑边下方的背景图片显示出来。

 5、压缩栅格文件

就像是把栅格放进了塑身衣里面,压缩一个栅格使一切变得苗条。如果你想快速地获得更小的图像,75%的压缩率是一个不错的选择,而且还能保证较好的图像质量。

许多格式都支持压缩:JPEG/JPEG2000,ECW,GeoTIFF/TIFF,Oracle Spatial GeoRaster,ArcSDE Raster,Geodatabase Raster,CADRG和WebP.

6、边框裁剪栅格

裁剪一个图像,仅仅保留你需要的部分,删掉你定义的边界之外的部分。

例如,你可以将加利福尼亚州定义海岸线的面合并起来,并且裁掉海洋部分,就可以只得到加利福尼亚州的图像。

    如果你要裁剪多个区域,就像公园边界。通过裁剪,每个被裁剪的区域都能从边界获取相关的属性,比如公园名。就像(#4)中提到的那样,定义nodata区域是非常方便的,因此我们将裁剪区域外的部分设置为nodata值,这部分将变得透明,在此背景下查看图像变得更加容易。

7、制作栅格图形和/或元数据的目录

合并图形和它们的属性到一个有用的地方,在这个地方,你可以展示给你妈妈所有你做的酷的东西。

要想明白我说的什么,请查看fme.ly/parks,这是一个目录,在每一页记录了一些被裁剪的图像和信息。

这个目录从数据库(不支持影像)中,以二进制blob形式读取栅格,然后使用一些简单的HTML去美化它。

8、将一个大的图像分片

将一个栅格分割成多个瓦片。可能你想要一个特定尺寸的图像,或者你想要特定数量的图像。可能你需要一小片图像作一些处理。可能你需要在不支持高压缩波长的软件里面加载栅格。可能你只是想要将数据分成更小的瓦片。

    无论你的想法是什么,你只是有一个很大的图像,并且你想把它分成更小的瓦片,那么行动吧。

9、创建Web瓦片地图服务(WMTS)

创建一系列的图像瓦片,以便网络地图,如谷歌地图,必应地图,或其他网络地图服务应用。

在WMTS里面的图像是以瓦片集的形式存储的,所以当你放大缩小的时候,你会看到在不同的分辨率下,有不同的瓦片集。你可以通过重投影到球体墨卡托(#3),重采样到不同分辨率下(#2),分割瓦片(#8)来创建一个WMTS.

10、构建几何曲面

我感觉栅格没有完成它的使命,除非它被用来构建纹理表面。首先,栅格是3维世界的一个2维表示。其次,3维模型往往是平的、无纹理的。这两者单独存在都是无任何帮助的。栅格与3D模型整合,形成立体栅格,常常是一个明智的选择。

    你有一个Esri shape格式的等高线,以及一个MrSID格式的正射影像。你可以通过高程值将等高线生成数字高程模型(DEM)。当DEM生成一个三角网,并和正射影像相结合,你会得到一个有纹理结构的3D模型,就像糖果山一样。

把带RGB色的点云和DEM栅格叠加起来也是构建好的表面模型的方法。 

 11、将图像附加为元素属性

许多格式,比如Geodatabase或者Excel,允许图像附件。这对于互操作性是一个好消息,因为你可以用栅格制造出任何东西,照片,扫描,统计数据,图表,插图,卫星图像等等。有一次我用一个小马的照片给一个公司演示了栅格的读/写。

    任何能写入栅格的东西都能写入任何支持图像附件的格式中。

 12、重设波段

好了,现在我们讨论一些更强大的方面。

如果你有多波段数据,并且你需要将它转换到不支持波段的格式中,比如说,如果你有一个明显的8-band格式,但是你所想要完成的是一个RGB的视图——你可以删掉你不需要的波段。

    你也可以更改波段或者添加波段,例如从RGB色改变到GRB+透明度;或者移除alpha波段,那么你最终会得到完全的RGB色。

 13、根据值矢量化一个栅格

从栅格转换到矢量的一个方式,是将有相同值的连续像素创建一个多边形面。我们称之为栅格分类。

在右边的矢量图中,以25米的间隔将多边形进行分类。然后对多边形进行NURBS建模,生成一个矢量的等高线图。

感觉就像是,有人把彩虹放在搅拌器里。 

14、利用地貌晕渲使得位图更真实

如果你操作带有高程的数据,你可能会对平面黑白图像很熟悉,在这里,高程值大的为白色,高程值小的为黑色。很抱歉,即使是三维眼镜也不能让这些东西看起来像三维,相信我,我试过了。

    地貌晕渲方法提供了一种图片到真实世界的一个呈现。当整合一个地图产品时,这对地形的可视化是特别有用的。

15、点云着色

数据就像香料,如果你不将它们融合在一起,你不会感受到它完整的味道。

将点云叠加到栅格来给点着色。

将栅格跟点云结合起来可以使得LiDAR可视化更符合人眼。查看我博客的14个方法来操作LiDAR数据,可以找到许多的方式去整合点云数据。其中最有用、最美好的部分都涉及栅格。 

 16、以像素为单位的表达式

根据一个或多个像元值进行计算。比如,你可以计算每一个像元的坡度或坡向,或提取的范围,或检测两个输入之间的变化。

    你也可以给出算法来修改像素值。是的,朋友,如果这些像素存储了RGB值,则你可以绘制自己想要的彩色图片。利用栅格表达式,我们可以过滤我们需要或不需要的部分。

17、复制像元或利用半透明度叠加栅格

    结合两个栅格,以期查看两个图层的信息。你可以通过从图像提取某一特定像素来做这件事,或者通过添加透明度(#12)。一个alpha波段可以顺利地将图像进行叠加。就像数字熨烫在纸上面一样。

如果你想知道如何用FME完成上述任务,请访问safe.com/raster. 我推荐你看2013年10月的网络研讨会记录内容。包括令人印象深刻的部分,结合多种数据源(包括WMS),先进的变换和数学。在Knowledge Base里面也收纳了很多文章,以帮助您完成您的栅格需求。

猜你喜欢

转载自blog.csdn.net/fmechina/article/details/81128341