FME中的栅格数据操作之四——示例与应用问题

原文发布时间:2010-04-16

作者:毛毛虫

7、修改栅格数据类型和说明问题:

这里所说的数据类型涉及到数据类型,如整数型或浮点型和位深度,如8bit或16bit;数据说明包括含有几个波段,每个波段的数据类型等,使用RasterInterpretationCoercer转换器来实现这些操作。

在Viewer中浏览到影像:

    

    该影像的信息如下:

    

    要想使该影像中Viewer中显示为彩色,需要修改该影像的说明为RGB48,使用转换器RasterInterpretationCoercer,处理后的影像如下图(影像本身的效果不好):

        

影像的信息说明为:

    

可以看出,波段由INT16转换为RED16、GREEN16和BLUE16了。

RasterInterpretationCoercer转换器的参数如下:


Destination Interpretation Type选项选中数据说明的类型,如Gray8、 RGB24、UInt32或Real64等。

下面的几个选项:Convert from Color to Color、Convert from Numeric to Color、Convert Color to Numeric和Convert Numeric to Numeric,在不同的类型间的转换发生时,这些选项的参数选择执行的动作,说明如下:

Cast:如果数据的值在目标数据范围内时,这个操作是有效的和信息无损的,如果超出范围,这个Cast选项允许溢出在目标数据范围的最大和最小值之间滚动。

Bounded cast:通过验证源值适应到目标类型来改进基本的Cast选项,有效的阻止上溢或下溢;如果源值不适合,相应的目标值也被设置在可能的目标数据的最大最小范围内。

Scale by data values:找出源数据的最大最小值范围,利用这个范围来缩放数据填满目标数据范围。

The Scale by data type :直接缩放源数据范围到目标数据范围,不考虑该处存在的数据的值。

我在用FME对DEM数据处理后,发现在3D视图上两个相邻的图幅接边处高程不同,没有连在一起。经过查找发现是在数据读入时修改了数据类型,使用RasterInterpretationCoercer转换器把数据转换到正确的数据类型就可以了。

另外,RasterInterpretationCoercer、RasterPaletteInterpretationCoercer转换器分别对波段和调色板执行类似的操作。

8、转换器属性获取

前面简单提到了RasterPropertiesExtractor转换器,这是个简单但非常有用的转换器,可以读取输入栅格数据的大部分信息,所以这里具体说明下。

这个转换器可以提取到的属性如下:

_num_bands:栅格数据的波段数目

_num_rows:栅格数据的行数

_num_columns:栅格数据的列数

_spacing_x :栅格数据的x方向的空间间隔

_spacing_y:栅格数据的y方向的空间间隔

_origin_x:原点的x坐标

_origin_y:原点的y坐标

_rotation:旋转角度

_min_x:x坐标的最小值

_min_y:y坐标的最小值

_max_x:x坐标的最大值

_max_y:y坐标的最大值

_cell_origin_x:原点单元格的x坐标

_cell_origin_y:原点单元格的y坐标

_upper_left_x:左上角的x坐标

_upper_left_y:左上角的y坐标

_upper_right_x:右上角的x坐标

_upper_right_y:右上角的y坐标

_lower_right_x:右下角的x坐标

_lower_right_y:右下角的y坐标

_lower_left_x:左下角的x坐标

_lower_left_y:左下角的y坐标

需要注意一点:栅格数据集的原点是左上角的点,但是栅格的范围总是用左下角的单元格的左下角的X和Y和右上角单元格的右上角的X和Y来描述。在FME中的栅格单元格的原点是单元格的质点;如(0.0, 0.0)是单元格的左下角,(1.0, 1.0)是右上角,这样计算出来的中心点就是在单元格的(0.5, 0.5)处。

这个转换器不提取栅格数据的波段和调色板的属性,如果想提取波段或调色板的属性,使用函数RasterBandPropertiesExtractor。




猜你喜欢

转载自blog.csdn.net/fmechina/article/details/80851336
今日推荐